c - 内联注释编译器构造的正则表达式

标签 c compiler-construction lex analyzer lexical

我需要一个用于编译器词法分析器的 C 内联注释的正则表达式。 我试过这个ScreenShot 但它没有用,因为它注释掉了正则表达式。

Here is simplest code

最佳答案

为了捕获 C 风格注释,最好使用开始条件。您可以找到 Flex 的示例 in documentation .

有一个使用独占开始条件忽略 C stype 注释的简单示例:

%x comment
"/*"         BEGIN(comment);
<comment>[^*\n]*        /* eat anything that's not a '*' */
<comment>"*"+[^*/\n]*   /* eat up '*'s not followed by '/'s */
<comment>"*"+"/"        BEGIN(INITIAL);

关于c - 内联注释编译器构造的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43023109/

相关文章:

c++ - 避免 std::bad_alloc。 new 应该返回一个 NULL 指针

c - 为什么 yytext 会跳过 YACC 中的第一个输入?

c++ - 理解c++中模板的问题

c - 在我的语法中得到转变/减少错误

lex - lex.yy.c 中的 "yy"代表什么?

c - 我如何在汇编中编写所有这些

c - long long 计算的问题

c - Gtk 和 C - 多线程 GUI 应用程序和删除全局变量

java - Java 前向引用在不同情况下的行为是否不同?

performance - 为什么通过引用传递结构不是常见的优化?