An EBNF parser that can produce a tree representation of the grammar given as input.