我正在编写一个 lex 程序来标记C程序。我编写了以下规则来匹配C预处理器指令
#.* {printf("\n%s is a PREPROCESSOR DIRECTIVE",yytext);}
但是当我使用文件作为 yyin 的输入时,文件中的预处理器指令与 yytext 匹配,显示为空
例如我得到
is a PREPROCESSOR DIRECTIVE
yyin是标准输入时没有问题,但这仅在输入文件时出现。有替代的 LEX 规则吗?