30 lines
484 B
Plaintext
30 lines
484 B
Plaintext
|
%{
|
||
|
extern int yylineno;
|
||
|
int yylineno = 1;
|
||
|
%}
|
||
|
|
||
|
PC [^\"\n]
|
||
|
AN [A-Z_a-z0-9]
|
||
|
%%
|
||
|
|
||
|
error_table return ERROR_TABLE;
|
||
|
et return ERROR_TABLE;
|
||
|
error_code return ERROR_CODE_ENTRY;
|
||
|
ec return ERROR_CODE_ENTRY;
|
||
|
end return END;
|
||
|
|
||
|
[\t ]+ ;
|
||
|
\n ++yylineno;
|
||
|
|
||
|
\"{PC}*\" { register char *p; yylval.dynstr = ds(yytext+1);
|
||
|
if (p=rindex(yylval.dynstr, '"')) *p='\0';
|
||
|
return QUOTED_STRING;
|
||
|
}
|
||
|
|
||
|
{AN}* { yylval.dynstr = ds(yytext); return STRING; }
|
||
|
|
||
|
#.*\n ++yylineno;
|
||
|
|
||
|
. { return (*yytext); }
|
||
|
%%
|