Added small DSL for creating parser production rules.
Dropped the generic parser in favour of a handwritten recursive-descent
parser.