/*
lex.yy.c was made from screen.lex using lex program
it is then included in y.tab.c that was generated from
screen.yacc using yacc
*/
%e 1000
%p 4000
%n 700
%k 200
%a 4000
%o 4200
%x comment ccode header body trailer
%option yylineno
%%
[\r] ;
[\n] {lineno++;colno=0;REJECT}
[ ] { colno++;}
[ ] {colno+=3;}
[ \n] ;
[\r] ;
[\n] {lineno++;colno=0;REJECT}
[ ] { colno++;}
[ ] {colno+=3;}
[ \n] ;
[\r] ;
[\n] {lineno++;colno=0;REJECT}
[ ] { colno++;}
[ ] {colno+=3;}
[ \n] ;
[\r] ;
[\n] {lineno++;colno=0;REJECT}
[ ] { colno++;}
[ ] {colno+=3;}
[ \n] ;
[\r] ;
[\n] {lineno++;colno=0;REJECT}
[ ] { colno++;}
[ ] {colno+=3;}
[ \n] ;
[\r] ;
[\n] {lineno++;colno=0;REJECT}
[ ] { colno++;}
[ ] {colno+=3;}
[ \n] ;
[\r] ;
[\n] {lineno++;colno=0;REJECT}
[ ] { colno++;}
[ ] {colno+=3;}
[ \n] ;
"%%" {gottocode++;if (gottocode==1) {BEGIN body;} else {printf("TRAILER\n"); BEGIN trailer;}}
"%%" { BEGIN trailer;}
"%{" {;BEGIN header;}
. ;
. ;
"%}" {BEGIN INITIAL;}
. ;
"*/" {BEGIN body;}
. ;
[\n] ;
"{" {lvl++;}
"}" {lvl--; if (lvl==0) BEGIN body;}
. ; /* Ignore all C code */
"{" {lvl++; BEGIN ccode;}
"/*" {BEGIN comment; yymore(); }
[0-9]+ {strcpy(yylval.str, yytext); return(INTVAL);}
[0-9]+|[0-9]*\.[0-9]+ {strcpy(yylval.str, yytext); return(NUMBER_VALUE);}
\"[^\"]+\" {strcpy(yylval.str,A4GL_strip_quotes(yytext)); return CHAR_VALUE;}
\"\" {strcpy(yylval.str,A4GL_strip_quotes(yytext)); return CHAR_VALUE;}
\'[^\']+\' {strcpy(yylval.str,A4GL_strip_quotes(yytext)); return CHAR_VALUE;}
\'\' {strcpy(yylval.str,A4GL_strip_quotes(yytext)); return CHAR_VALUE;}
OPTIONAL {strcpy(yylval.str, yytext);colno+=strlen(yytext); return(OPTIONAL); }
%prec {strcpy(yylval.str, yytext);colno+=strlen(yytext); return(PREC); }
error {strcpy(yylval.str, yytext);colno+=strlen(yytext); return(ERROR); }
[a-zA-Z]+[a-zA-Z\_0-9]* {strcpy(yylval.str, yytext);colno+=strlen(yytext); return(NAMED); }
[a-zA-Z\_0-9]+[a-zA-Z\_0-9]* {strcpy(yylval.str, yytext);colno+=strlen(yytext); return(NAMED);}
. {return yytext[0];}
. ;
. ;
. ;
%%
/* ============================== EOF =============================== */