如何在 C++ 中使用 flex lexer 并修改令牌的yytext值?可以说,我有这样的规则:
"/*"    {
        char c;
        while(true)
            {
            c = yyinput();
            if(c == '\n')
                ++mylineno;
            if (c==EOF){
                yyerror( "EOF occured while processing comment" );
                break;
            }
            else if(c == '*')
                {
                if((c = yyinput()) == '/'){
                    return(tokens::COMMENT);}
                else
                    unput(c);
                }
            }
        }
我想在和tokens::COMMENT之间获得具有评论价值的令牌。(上述解决方案将“/*”作为值。/**/
另外,非常重要的是跟踪行号,所以我正在寻找支持它的解决方案。
编辑
当然我可以修改yytext和yyleng值(如yytext+=1; yyleng-=1,但我仍然无法解决上述问题)