/* this is an example formatted token file for a pascal
 * prettyprinter.
 */



%%

// with a little comment

"<>"		MATH   { "$\\neq$" }
"<="		|
">="		|
":="		MATH
'[^'|'']*'	SIMP
"("		OPEN
")"		CLOSE
"["		OPEN
"]"		CLOSE
"*"		MATH
","		MATH	{ ** + opt9 }
".."		MATH
"."		SIMP
":"		COLON
";"		SEMI
"="		MATH
"+"		MATH

[0-9]+		SIMP
[0-9]*"."[0-9]+	SIMP

and		MATH
array		ALPHA
begin		BEG	{force + **}
case		ALPHA	{force + **}
const		INTRO	{force + backup + **}
div		MATH
do		OMEGA
downto		MATH
else		ELSE
end		END
for		ALPHA
function	PROC	{force+backup+ **}
if		ALPHA   { "{\\bf " + ** + "}" }
mod		MATH
not		MATH
of		OMEGA
or		MATH
procedure	|
program		PROC	{force + backup + **}
record		BEG
repeat		BEG	{force + ** }
then		OMEGA
to		MATH
type		INTRO	{force + backup + **}
until		UNTIL	{force + backup + **}
var		INTRO	{force + backup + **}
while		ALPHA	{force + **}

[a-zA-Z][a-zA-Z0-9\_]*	SIMP

[\t\ \n]

.


%%

/* here's some additional C code */
