This class encapsulates the tables of a shift-reduce parser to
isolate the parsing engine from the details of the table implementation.
It's constructor takes a single argument which should be the
grammar table specification from a generated grammar table module.
The specification is a tuple of a GOTO table, an ACTION table and
a list of semantic actions.
The format of this specification is subject to change.