lex | flex规则动作被忽略了

时间:2013-02-19 11:36:06

标签: callback lex flex-lexer

全部,

我的lex文件中有一种特定类型的模式:

 "#"[ \\t]*"ifdef".*                { action_ifdef_manager(yytext);}

如果此类文字遇到#ifdef GLOBALVAR,则不会调用操作action_ifdef_manager

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

唯一的问题是模式的模糊性。你应该有类似'#ifdef'

的模式
          a        |
          ab       |
          abc      |
          abcd     ECHO; REJECT;

这里的词法分析器在“abcd”流中返回所有四个经过验证的模式a,ab,abc,abcd

查看the Flex manual