37 lines
656 B
Plaintext
37 lines
656 B
Plaintext
|
#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+;
|
||
|
|