This stores the mutable data that is used during the parsing process.
It contains a cache of the results of each (source position, rule).
It also has a stack which contains information about the order in which the keys were inserted, so they can be removed in order when needed.