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: