Any is the operator that matches anything but EOF
Char stores the position and value of a single character matcher
Definition represents a single production definition. It stores
both the name and the expression associated with the production.
Empty represents the empty alternative of an ordered choice
operator. Both start and end of such span are the same as no
input is consumed.
Grammar is the top-level AST node for the input grammar language.
Import represents an import node and contains both names to be
imported and the path to import the names from.