示例#1
0
        public virtual void Parse(LookaheadTextReader input, ParserVisitor visitor)
        {
            ParserResults results = ParseCore(new SeekableTextReader(input));

            // Replay the results on the visitor
            visitor.Visit(results);
        }
示例#2
0
 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();
 }