示例#1
0
        public ParserContext(Parser <TResult> owner, AnalyzerGraphInfo analyzerInfo, ISourceTextReader source, ParserInitialStateFabric <TResult> initialStateFabric, TResult oldResult, Location limit)
        {
            _owner              = owner;
            _grammarRoot        = analyzerInfo.AnalyzerGraph;
            _omitRoot           = analyzerInfo.OmitGraph;
            _source             = source;
            _initialStateFabric = initialStateFabric;

            _currState = null;
            _oldResult = oldResult;
            _limit     = limit;
            _materializeOmittedFragments = owner.MaterializeOmittedFragments;
            _useDelayedStates            = owner.UseDelayedStates;
            _parserVisitor = this; // new ParserNodeLoggingVisitor(this);
        }
示例#2
0
 public override void Accept(IParserNodeVisitor visitor)
 {
     visitor.Visit(this);
 }
示例#3
0
 protected abstract void VisitImpl(IParserNodeVisitor visitor);
示例#4
0
 public void Visit(IParserNodeVisitor visitor)
 {
     this.VisitImpl(visitor);
 }
示例#5
0
 public ParserNodeLoggingVisitor(IParserNodeVisitor v)
 {
     _v  = v;
     _sb = new StringBuilder();
 }
示例#6
0
 protected override void VisitImpl(IParserNodeVisitor visitor)
 {
     visitor.VisitAlternatives(this);
 }
示例#7
0
 protected override void VisitImpl(IParserNodeVisitor visitor)
 {
     visitor.VisitSequence(this);
 }
示例#8
0
 protected override void VisitImpl(IParserNodeVisitor visitor)
 {
     visitor.VisitNumber(this);
 }
示例#9
0
 protected override void VisitImpl(IParserNodeVisitor visitor)
 {
     visitor.VisitRuleCall(this);
 }
示例#10
0
 protected override void VisitImpl(IParserNodeVisitor visitor)
 {
     visitor.VisitCheckNot(this);
 }
示例#11
0
 protected override void VisitImpl(IParserNodeVisitor visitor)
 {
     visitor.VisitRecursive(this);
 }
示例#12
0
 public abstract void Accept(IParserNodeVisitor visitor);