flex atoi(yytext)不为变量赋值

时间:2014-11-18 12:24:34

标签: flex-lexer

我正在使用flex制作简单的词法分析器。我想读取yytext值并将其保存为变量t中的整数。但是当我编译它时它会向我显示以下错误:

  

错误:在程序中迷路'\ 35'        t = atoi(yytext);

以下是代码:

    %{
     #include "global.h"//contains stdlib 

     int t=0;
    %}

    DIGIT   [0-9]

%%


{DIGIT} {

        printf("found an integer, = %d \n", atoi( yytext));//this compiles without errors
        t = atoi(yytext); //here I have error

        //...rest of code


    }


%%
   main(){

         yylex();
   }

我可以请求帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

这不是答案,这是一个很长的评论......

通常“错误:程序中的'stray'\'35'连接到使用错误的quoation标记”

示例

`a` ‘a’  instead of 'a' 
”a“ ...  instead of "a"

可能是这种情况吗?

看看它是否出现在“global.h”