ANTLRでは演算子の優先順位はどのように実装されていますか?
現在、XText/Antlrパッケージを使用しています。
編集:
sepp2kが提案したことを実行し、演算子の優先順位が機能するようになりましたが、3+*のようなものも機能するようになりました。オペレーターは基本的にツリーを「通り抜け」ます。
また、ANTLRのウェブサイトでC文法を試しましたが、ANTLRworksでも同じことが起こりました。
誰もが問題が何であるか知っていますか?
BinaryExpression:
'or'? AndOp; //or op
AndOp:
'and'? ComparisonOp;
ComparisonOp:
('>'|'<'|'>='|'<='|'=='|'~=')? ConcatOp;
ConcatOp:
'..'? AddSubOp;
AddSubOp:
('+' | '-')? MultDivOp;
MultDivOp:
('*' | '/')? ExpOp;
ExpOp:
'^'? expr=Expression;