Bottom-Up Parsing
Build shift-reduce parsers from your own grammar and watch every construction step: item sets, the automaton, the parsing table and the parse.
Operator Precedence Parsing
Operator precedence parsing is the second bottom-up technique on this page. It is implemented as a separate module, outside the scope of Project 7, which covers the LR family.
It works on operator grammars: no ε-productions and no two adjacent non-terminals. It uses the precedence relations ⋖, ≐ and ⋗ between terminals instead of item sets.