我正在使用flex编写一个词法分析器,我怎么能让它避免看起来的评论 像这样:
/* COMMENTS */
答案 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; }
会匹配太多。