public interface Transition
An interface which defines a transition type in the shift-reduce
parser. Expected transition types are shift, unary, binary,
finalize, and idle.
There is also a compound unary transition for combining multiple
unary transitions into one, which lets us prevent the parser from
creating arbitrary unary transition sequences.