Remove spurious print

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Allow and test error propagation to next token

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Assorted refactoring

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Comment badTokenConstructor

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Remove excess whitespace

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Upgrade rule class to support multiple options per production symbol

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Support union types for grammar productions

A union type simulates the choice operator in EBNF, so an argument to a
production method of type A|B will match on either of those symbols.

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>