| | |
| |
|
| | /** |
| | * JSGF Grammar for Hello World example |
| | */ |
| |
|
| | grammar test; |
| |
|
| | import <polite.startPolite>; |
| | import <polite.endPolite>; |
| |
|
| |
|
| | public <rightRecursion> = <action> | <actionRecursion>; |
| | <action> = stop | start; |
| | <actionRecursion> = <action> and <rightRecursion>; |
| |
|
| |
|
| |
|
| | 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+; |
| |
|
| |
|