/* * yymore.lex: An example of using yymore() * to good effect. */ %{ #include void yyerror(char *message) { printf("Error: %s\n",message); } %} %x STRING %% \" BEGIN(STRING); [^\\\n"]* yymore(); <> yyerror("EOF in string."); BEGIN(INITIAL); \n yyerror("Unterminated string."); BEGIN(INITIAL); \\\n { bcopy(yytext,yytext+2,yyleng-2); yytext += 2; yyleng -= 2; yymore(); } \" { yyleng -= 1; yytext[yyleng] = '\0'; printf("string = \"%s\"",yytext); BEGIN(INITIAL); } %%