Jacek Caban (@jacek) commented about tools/widl/parser.l:
}
- winrt[^\n]* {
yy_pop_state();
winrt_enable( FALSE );
}
- [^\n]* {
yy_pop_state();
return token_str( aPRAGMA, yytext, yylval );
}
+} +<PP_LINE>[0-9]+{ws}* {
line_number = strtoul( yytext, NULL, 10 ) - 1; /* We didn't read the newline */
yy_pop_state();
yy_push_state(PP_FILE);
}
+<PP_FILE>"(\[^n]|[^"\])*"{ws}* {
That too, but I meant something like `<PP_FILE>"(\[^n]|[^"\\n])*"{ws}*`, so that it doesn't match unterminated string with a quote from another line.