Как сделать приоритет операций ( + * - / ) в моих грамматиках?
I define my own grammars using antlr 4 and I want to build tree true According to Priority of Operations (+ * - /) .... I find sample on do Priority of Operations (* +) it work fine ... I try to edit it to add the Priority of Operations (- /) but I failed :( the grammars for Priority of Operations (+ *) is :
println:PRINTLN expression SEMICOLON {System.out.println($expression.value);}; expression returns [Object value]: t1=factor {$value=(int)$t1.value;} (PLUS t2=factor{$value=(int)$value+(int)$t2.value;})*; factor returns [Object value]: t1=term {$value=(int)$t1.value;} (MULT t2=term{$value=(int)$value*(int)$t2.value;})*; term returns [Object value]: NUMBER {$value=Integer.parseInt($NUMBER.text);} | ID {$value=symbolTable.get($value=$ID.text);} | PAR_OPEN expression {$value=$expression.value;} PAR_CLOSE ; MULT :'*'; PLUS :'+'; MINUS:'-'; DIV:'/' ;
Как я могу добавить к ним приоритет операций ( - /)?
Что я уже пробовал:
все мои попытки провалились : (может быть, у меня есть missunderstund The greammers
Tomas Takac
Покажите, что вы пробовали. В противном случае нечего говорить об этом.