public override void RecognitionException(RecognitionException e) { if (backtracking > 0) { return; } ParseTree ruleNode = callStack.Peek(); ParseTree errorNode = Create(e); ruleNode.AddChild(errorNode); }
public override void EnterRule(string filename, string ruleName) { if (backtracking > 0) { return; } ParseTree parentRuleNode = callStack.Peek(); ParseTree ruleNode = Create(ruleName); parentRuleNode.AddChild(ruleNode); callStack.Push(ruleNode); }
public override void ConsumeToken(IToken token) { if (backtracking > 0) { return; } ParseTree ruleNode = callStack.Peek(); ParseTree elementNode = Create(token); elementNode.hiddenTokens = this.hiddenTokens; this.hiddenTokens = new List <IToken>(); ruleNode.AddChild(elementNode); }
public override void ExitRule(string filename, string ruleName) { if (backtracking > 0) { return; } ParseTree ruleNode = callStack.Peek(); if (ruleNode.ChildCount == 0) { ruleNode.AddChild(EpsilonNode()); } callStack.Pop(); }