野牛计算器问题

时间:2011-02-03 09:56:05

标签: bison

stmt : expr  {printf("%d\n",$1);}
      ;

expr :  expr '+' expr  {$$ = $1 + $3;}
     |  expr '-' expr  {$$ = $1 - $3;}
     |  INTEGER        {$$ = $1;}
     ;

什么时候stmt非终端被bison执行。当它看到哪个角色?

1 个答案:

答案 0 :(得分:1)

假设这些是你的野牛输入的所有规则,一旦到达stmt,非终结符号EOF就会被“执行”(即:没有进一步的输入和最后的expr已经减少了。)

但是,你的语法存在冲突。