避免使用词法分析器进行评论

时间:2012-11-10 09:20:36

标签: c flex-lexer

  

可能重复:
  problem getting c-style comments in flex/lex

我正在使用flex编写一个词法分析器,我怎么能让它避免看起来的评论 像这样:

/* COMMENTS */

1 个答案:

答案 0 :(得分:4)

有点复杂。这是我找到的解决方案:

<INITIAL>{
"/*"              BEGIN(IN_COMMENT);
}
<IN_COMMENT>{
"*/"      BEGIN(INITIAL);
[^*\n]+   // eat comment in chunks
"*"       // eat the lone star
\n        yylineno++;
} { return COMMENT; }

“明显”的解决方案,如下所示:

"/*".*"*/" { return COMMENT; }

会匹配太多。