我试图从我的 C 代码和此处仅提取标识符、算术运算符和关系运算符

I am trying to extract only the identifiers, arithemetic and relational operators from my C code and here

我试图从我的 C 代码中仅提取标识符、算术和关系运算符,这是我的 lex 代码:

%{
  #include "y.tab.h"
  #include "Expression.h"
%}

%%

"=="            {return EQ;}
"<"             {return '<';}
">"             {return '>';}
"="             {return '=';}
"+"             {return '+';}
"-"             {return '-';}
"*"             {return '*';}
"/"             {return '/';}
","             {return ',';}
";"             {return ';';}
"("             {return '(';}
")"             {return ')';}
"{"             {return '{';}
"}"             {return '}';}
"["             {return '[';}
"]"             {return ']';}
"int"               {return INT;} 
"char"              {return CHAR;}
"float"             {return FLOAT;}
"long"              {return LONG;}
"double"            {return DOUBLE;}
"return"            {return RETURN;}
"if"                {return IF;}
"else"              {return ELSE;}


[0-9]+              {return Number;}
[A-Za-z][A-Za-z0-9]*        {return Identifier;}                }

[ \t]               ;
[\n]                ;
"."             {return BADTOKEN;}


%%

但我一直遇到错误,tinyc.l:45: EOF encountered inside an action。无论如何要对此进行排序?

[A-Za-z][A-Za-z0-9]*        {return Identifier;}                }

这一行至少看起来很可疑。看起来像额外的结束括号 }?