次のような式を取ることができるレクサーとパーサーを書きたい
(4+y)*8
4+5*x
(3)+(z*(4+w))*6
そして、加算よりも乗算の優先順位を考慮してそれらを解析します。特に、どうすれば回避できるのかわかりません
4+5*x
としてグループ化される
MULTIPLICATION(ADDITION(4,5),5) instead of ADDITION(4+MULTIPLICATION)
私のレクサーは次のようになります。
PLUS : '+';
TIMES : '*';
NUMBER : [0-9]+'.'?[0-9]*;
VARIABLE : [(a-z)|(A-Z)]+;
OPENING : '(';
CLOSING : ')';
WHITESPACE : [ \t\r\n]+ -> skip ;