/* simple.syntax */ number := "[0-9]+" start -> exp exp -> exp2 (("+" | "-") exp) ... exp2 -> exp3 (("*" | "/") exp2) ... exp3 -> val ["^" exp3] val -> "(" exp ")" : 2 | number