Declarative EBNF language for writing PEG parsers