2
我正在编写一个lex程序来标记一个C程序。我写了下面的规则匹配ç预处理指令Lex规则的C预处理指令
#.* {printf("\n%s is a PREPROCESSOR DIRECTIVE",yytext);}
但是当我使用一个文件作为输入yyin中,文件中的预处理器指令是由显示yytext中匹配的是空
如我得到
is a PREPROCESSOR DIRECTIVE
是没有问题的,当yyin中是STD在中,但这仅在输入文件时出现。是否有替代LEX规则?
您通常会解析已经预处理的C程序。你为什么要标记一个C程序?你不能使用一些现有的C语言分析器,或者扩展一些现有的编译器(例如,用http://gcc-melt.org/,例如'gcc')? – 2013-03-22 13:13:13
这是我们编译器实验练习主题的练习 – Sridhar 2013-03-22 13:26:22