0

私は言語を解析しようとしています。次の ANTLR4 パーサー ルールは、言語仕様から直接コピーされます。

physical_value 
 : raw_value DIV factor MUL factor PLUS offset 
 ;

raw_value
 : (physical_value MINUS offset) DIV factor  
 ;

しかし、antlr はエラーを報告します: 次のルール セットは相互に左再帰的です 文法を変更する方法がわかりません。誰かが助けてくれることを願っています。ありがとう。

4

1 に答える 1

1

一致する唯一の文字列は無限シーケンスであるため、投稿したルールから左再帰を排除することはできません。

  • physical_value 常にa で始まりますraw_value
  • raw_value 常にa で始まりますphysical_value

...そして繰り返す

于 2014-09-09T16:19:02.023 に答える