using afPegger::Grammarusing afPegger::Pegusing xml::XElem** Parses HTML strings into XML documents.@Jsclass HtmlParser {private Grammar? _grammar** Parses the given HTML string into an XML document. XElem parseDoc(Str html){ peg := Peg(html, grammar["html"]) match := peg.matchif(match == null)throw ParseErr("Could not parse HTML")// match.dumpreturn HtmlMatchWalker().walk(match).docRoot}** Returns the grammar used to parse HTML. Grammar grammar(){if(_grammar == null){ grammar := `fan://afHtmlParser/res/html.peg.txt`.toFile.readAllStr _grammar = Peg.parseGrammar(grammar)}return _grammar}}