运行时混乱中的野牛解析错误

时间:2016-12-05 13:44:43

标签: c++ parsing bison lex logical-operators

我在bison-dlex项目上使用vmWare linux ubuntu,我的野牛文件中有一个错误,我无法克服。在我的"线'定义我有" logExp' \ n' "定义,但由于某种原因,它永远不会到达那里,即使它确实将表达式识别为logExp。

line:
expr '\n'          { printf("\nExpression = %d\n", $1); }  
| logExp '\n'      { printf("\nNEVER GETS HERE!!\n"); }   //ERROR
;
logExp:
expr AND expr    { $$ = 0 ; printf("\n$1=%d, $3=%d\n",$1,$3); } //PRINTS GOOD
| AND            {  } 
;

输入:

 5&&6

输出:

  $1=5, $3=6
  Error: parse error

如果它识别出logExp,为什么它不能识别上面的那一行? ..HELP?

0 个答案:

没有答案