Change Grammar.constructor type definition.
Remove shift function.
Add 'current' parameter to reduce state function.
Include position info in AST.
Handle ypsilon transition.