/* $Header: qmspaglex.l,v 1.1 88/01/15 12:19:22 simpson Rel $ %{ /* $Log: qmspaglex.l,v $ * Revision 1.1 88/01/15 12:19:22 simpson * initial release * * Revision 0.1 87/12/11 21:34:48 simpson * beta test * */ #undef input #define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):timedgetc(_Ifp)) \ ==10?(yylineno++, yytchar):yytchar)==EOF?0:yytchar) double atof(); %} real ([0-9]*\.[0-9]+)|([0-9]+\.[0-9]*) integer [0-9]+ %% PAG: return PAG; PO return POT; TM return TMT; BM return BMT; LM return LMT; RM return RMT; LPI return LPIT; CPI return CPIT; PROP return PROP; PT return PTT; PS return PST; SO return SOT; CC return CCT; = | \, | P | L | Y | N { yylval.i = yytext[0]; return yytext[0]; } {real} { yylval.r = atof(yytext); return REAL; } {integer} { yylval.i = atoi(yytext); return INTEGER; } \r\n return ENDLINE;