sawine@55: % here's the example
sawine@55: \input generic.tex
sawine@55: \input bnf.tex
sawine@55:
sawine@55: \begingrammar
sawine@55: %
sawine@55: : {$\phi$};
sawine@55: .\par
sawine@55:
sawine@55: : "$\{$" "$\}$" [";"] ;
sawine@55: [";"] ;
sawine@55: ";".
sawine@55:
sawine@55: : ";" ;
sawine@55: .
sawine@55:
sawine@55: : "if" "(" ")" ["else" ];
sawine@55: "case" "$\{$" "$\}$";
sawine@55: "for" "(" ";" ";" ")",
sawine@55: ;
sawine@55: "while" "(" ")" ;
sawine@55: "do" "while" "(" ")";
sawine@55: "sum" "(" ";" ")" ;
sawine@55: "product" "(" ";" ")" ;
sawine@55: "break";
sawine@55: "continue";
sawine@55: "return" ;
sawine@55: "clear";
sawine@55: "load" ;
sawine@55: "save" ;
sawine@55: "release" ;
sawine@55: "show" ["variables" | "functions" | "set" | "all" | ];
sawine@55: "set" ["prompt" | "precision"] [];
sawine@55: .
sawine@55:
sawine@55: : "case" ":" ;
sawine@55: "default:"
sawine@55:
sawine@55: : "=" ;
sawine@55: "[" "]" = ;
sawine@55: = ;
sawine@55: .
sawine@55:
sawine@55: : "," ;
sawine@55: ",";
sawine@55: "," .
sawine@55:
sawine@55: : "+" ;
sawine@55: "--" .
sawine@55:
sawine@55: : .
sawine@55:
sawine@55: .
sawine@55:
sawine@55: : ;
sawine@55: "+" ;
sawine@55: "--" ;
sawine@55: "(" ")";
sawine@55: ;
sawine@55: "[" "]";
sawine@55: ;
sawine@55: ;
sawine@55: .
sawine@55:
sawine@55: : "++" | "--{\kern 1pt}--" | "$\sim$" | "!".
sawine@55:
sawine@55: : "$\uparrow$"
sawine@55: | "**" ;
sawine@55: "++" | "--{\kern 1pt}--" | "!".
sawine@55:
sawine@55: : "[" "]".
sawine@55:
sawine@55: : "[" "]" [","] ;
sawine@55: "[" "]" [","] ;
sawine@55: .
sawine@55:
sawine@55: : [ ] "," ;
sawine@55: [ ] .
sawine@55:
sawine@55: : "(" ")".
sawine@55:
sawine@55: : $\phi$;
sawine@55: "," ;
sawine@55: "\dots".
sawine@55:
sawine@55: : " `` " " '' ".
sawine@55:
sawine@55: : ;
sawine@55: "$\{$" "," "$\}$";
sawine@55: {$\backslash$}b[01][01]+;
sawine@55: {$\backslash$}o[07][07]+;
sawine@55: \$[0-9A-Fa-f][0-9A-Fa-f]+.
sawine@55:
sawine@55: %: [\+--]?[0-9][0-9]+[\.[0-9]+]?[[eE][0-9][0-9]+].
sawine@55:
sawine@55: : "*" | "/" | "$\backslash$" | "\%";
sawine@55: "==" | "!=" | "$>$" | "$<$"
sawine@55: | "$<$=" | "$>$=";
sawine@55: "\ul =" | "\ul !=" | "\ul $<$" | "\ul $>$"
sawine@55: | "\ul$<$=" | "\ul$>$=";
sawine@55: "\&" | "$\vert$" | "$\uparrow\uparrow$";
sawine@55: "\&\&" | "$\Vert$" | "\ul$\uparrow$".
sawine@55:
sawine@55: \endgrammar
sawine@55: \bye
sawine@55: