1
%{
#include "y.tab.h"
extern int yylval;
%}
%%
[0-9]+ {yylval = atoi (yytext); return NUM;}
[ \t] ;
\n return 0;
. return yytext[0];
%%
当我使用指向该值的yylval时,为什么我应该返回NUM?我的意思是NUM代表的是什么(NUM在YACC部分中被宣告)? NUM是否存储任何值?为什么要返回令牌名称?
即使有适当的解决方案,我也很困惑这一节。我只是没有得到返回NUM的正确理由,因为我在YACC中有指针yylval。