public bool Parse(TextReader input, string document = null) { if (input == null) { throw new ArgumentNullException("input"); } if (document == null) { document = Loc.MemoryString; } Clear(); var scanner = language.CreateScanner(context, input, document, GetCurrentLogging()); var producer = language.CreateActionProducer(context); var parser = language.CreateParser(producer, logging); scanner.Accept(parser); return(ErrorCount == 0); }