public virtual void Parse(LookaheadTextReader input, ParserVisitor visitor) { ParserResults results = ParseCore(new SeekableTextReader(input)); // Replay the results on the visitor visitor.Visit(results); }
public virtual ParserResults Parse(LookaheadTextReader input) { return ParseCore(new SeekableTextReader(input)); }
protected void Read(StringBuilder builder, LookaheadTextReader reader) { builder.Append((char)reader.Read()); }
private static void AdvanceReader(int offset, LookaheadTextReader reader) { for (int i = 0; i < offset; i++) { reader.Read(); } }
private static void RunAll(Action<StringBuilder, LookaheadTextReader>[] readerCommands, StringBuilder builder, LookaheadTextReader reader) { foreach (Action<StringBuilder, LookaheadTextReader> readerCommand in readerCommands) { readerCommand(builder, reader); } }
protected void CancelBacktrack(StringBuilder builder, LookaheadTextReader reader) { reader.CancelBacktrack(); }