| |
|
|
| /** |
| * 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+; |
|
|
|
|