/* $Header: xxxlex.l,v 1.2 88/02/03 08:52:10 simpson Exp $ */ %{ /* $Log: xxxlex.l,v $ * Revision 1.2 88/02/03 08:52:10 simpson * added tpic support * * Revision 1.1 88/01/15 13:06:01 simpson * initial release * * Revision 0.1 87/12/11 18:31:28 simpson * beta test * */ #undef input #define input() (Pxxxstring && *Pxxxstring ? *Pxxxstring++ : 0) #undef unput #define unput(c) if (Pxxxstring > Xxxstring) *--Pxxxstring = c %} integer [0-9]+ real [0-9]+\.[0-9]*|[0-9]*\.[0-9]+ whitespace [ \t\n]+ %% {integer} { yylval.i = atoi(yytext); return INTEGER; } {real} { yylval.f = atof(yytext); return FLOAT; } pn return PENSIZE; fp return FLUSHPATH; da return FLUSHDASHED; dt return FLUSHDOTTED; pa return ADDPATH; ar return DRAWARC; sp return FLUSHSPLINE; sh return SHADELAST; wh return WHITENLAST; bk return BLACKENLAST; tx return TEXTURE; [^\,\)\( \t\n]+ { (void)strcpy(yylval.s, yytext); if (EQ(yytext, "overlay")) return OVERLAY; return STRING; } \, | \( | \) return yytext[0]; {whitespace} ;