#JSGF V1.0; /** * JSGF Grammar for Hello World example */ grammar test; import <polite.startPolite>; import <polite.endPolite>; public <rightRecursion> = <action> | (<action> and <rightRecursion> ) ; <action> = stop | start; public <nestedRightRecursion> = something | <Y> ; <Y> = another | <nestedRightRecursion> ; public <kleene> = <polite>* don't crash; <polite> = please | kindly | oh mighty computer; public <nulltest> = <ones> <twos> <threes>; <ones> = <NULL> (one [and] one); <twos> = <NULL> (two [and] two); <threes> = <NULL> (three [and] three); public <command> = <startPolite> <caction> <endPolite>; <caction> = go* | stop+;