/* 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 =============================== */