single = "(" expr ")" | int
fac1 = applier "(" int ")" | single
applier = expr
term = fac | fac (MUL | DIV) fac
expr = term (ADD | SUB) term