1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# Unambiguous LR grammar for simple calculator. valuetype i32 nonterminals E T F terminals + * ( ) num topsym E E --> E:e + T:t { e+t } E --> T:t { t } T --> T:t * F:f { t*f } T --> F:f { f } F --> ( E:e ) { e } F --> num:n { n } EOF