gpt4 book ai didi

c++ - 使用 flex/bison 的多行注释声明

转载 作者:太空宇宙 更新时间:2023-11-04 14:11:05 24 4
gpt4 key购买 nike

今天我的 flex/bison 脚本有问题。它不检测多行注释。

%x COMMENT_MULTI
#\[ yy_push_state(COMMENT_MULTI);

<COMMENT_MULTI>"]#" yy_pop_state();
<COMMENT_MULTI>"\n" {
yylloc->lines(yyleng);
yylloc->step();
}
<COMMENT_MULTI>.?

你能帮帮我吗?

最佳答案

这是我在 C++ 注释和 block 注释的 bison 定义中最终使用的解决方案:

%x COMMENT

"//".*\n ;

"/*" BEGIN(COMMENT);
<COMMENT>"/*" printf("%s%d\n", "Warning: multiple comments opened at line: ", yylineno);
<COMMENT>"*/" BEGIN(INITIAL);
<COMMENT>"EOF" yyerror("Reached end of file while scanning comment");
<COMMENT>.|"\n" ;

关于c++ - 使用 flex/bison 的多行注释声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14304063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com