使用Lex忽略其余代码来识别特定词位

时间:2015-10-03 16:45:46

标签: compiler-construction lex lexical-analysis

#include<stdio.h>
main()
{
   printf("\n Hello world");
}

在上面的代码中,如何使词法分析器仅识别 main()并忽略其余代码,使输出仅显示 main()及其行号。

在没有添加太多案例的情况下,如果代码很长

1 个答案:

答案 0 :(得分:1)

如果您想要准确的结果,则需要正确识别大多数令牌。请考虑以下代码段:

/*
   int main()
 */

或者

 const char* header = "\
 int main()   \
 ";

如果你不关心准确性,(f)lex可能有点过分。你可以使用strstr,或者为了更灵活一点,使用posix正则表达式库。