Text to XML parser from ABNF grammar