Exemplo n.º 1
0
        public override void RecognitionException(RecognitionException e)
        {
            if (backtracking > 0)
            {
                return;
            }
            ParseTree ruleNode  = callStack.Peek();
            ParseTree errorNode = Create(e);

            ruleNode.AddChild(errorNode);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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();
        }