Пример #1
0
    // $ANTLR start "start"
    // D:\\Szkolenia\\Artykuł ProgramistaMag - DSL\\Code\\DSLSamples\\SimpleDSL\\Simple.g:8:0: start : additiveExpression ;
    public SimpleParser.start_return start() // throws RecognitionException [1]
    {
        SimpleParser.start_return retval = new SimpleParser.start_return();
        retval.Start = input.LT(1);

        CommonTree root_0 = null;

        SimpleParser.additiveExpression_return additiveExpression1 = default(SimpleParser.additiveExpression_return);



        try
        {
            // D:\\Szkolenia\\Artykuł ProgramistaMag - DSL\\Code\\DSLSamples\\SimpleDSL\\Simple.g:9:2: ( additiveExpression )
            // D:\\Szkolenia\\Artykuł ProgramistaMag - DSL\\Code\\DSLSamples\\SimpleDSL\\Simple.g:9:2: additiveExpression
            {
                root_0 = (CommonTree)adaptor.GetNilNode();

                PushFollow(FOLLOW_additiveExpression_in_start43);
                additiveExpression1 = additiveExpression();
                state.followingStackPointer--;

                adaptor.AddChild(root_0, additiveExpression1.Tree);
            }

            retval.Stop = input.LT(-1);

            retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0);
            adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop);
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
            // Conversion of the second argument necessary, but harmless
            retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re);
        }
        finally
        {
        }
        return(retval);
    }
Пример #2
0
    // $ANTLR start "start"
    // D:\\Szkolenia\\Artykuł ProgramistaMag - DSL\\Code\\DSLSamples\\HelloWorld\\Simple.g:13:0: start : ID EOF -> ^( START ID ) ;
    public SimpleParser.start_return start() // throws RecognitionException [1]
    {
        SimpleParser.start_return retval = new SimpleParser.start_return();
        retval.Start = input.LT(1);

        CommonTree root_0 = null;

        IToken ID1  = null;
        IToken EOF2 = null;

        CommonTree             ID1_tree   = null;
        CommonTree             EOF2_tree  = null;
        RewriteRuleTokenStream stream_ID  = new RewriteRuleTokenStream(adaptor, "token ID");
        RewriteRuleTokenStream stream_EOF = new RewriteRuleTokenStream(adaptor, "token EOF");

        try
        {
            // D:\\Szkolenia\\Artykuł ProgramistaMag - DSL\\Code\\DSLSamples\\HelloWorld\\Simple.g:13:8: ( ID EOF -> ^( START ID ) )
            // D:\\Szkolenia\\Artykuł ProgramistaMag - DSL\\Code\\DSLSamples\\HelloWorld\\Simple.g:13:8: ID EOF
            {
                ID1 = (IToken)Match(input, ID, FOLLOW_ID_in_start50);
                stream_ID.Add(ID1);

                EOF2 = (IToken)Match(input, EOF, FOLLOW_EOF_in_start52);
                stream_EOF.Add(EOF2);



                // AST REWRITE
                // elements:          ID
                // token labels:
                // rule labels:       retval
                // token list labels:
                // rule list labels:
                // wildcard labels:
                retval.Tree = root_0;
                RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.Tree : null);

                root_0 = (CommonTree)adaptor.GetNilNode();
                // 13:15: -> ^( START ID )
                {
                    // D:\\Szkolenia\\Artykuł ProgramistaMag - DSL\\Code\\DSLSamples\\HelloWorld\\Simple.g:13:18: ^( START ID )
                    {
                        CommonTree root_1 = (CommonTree)adaptor.GetNilNode();
                        root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(START, "START"), root_1);

                        adaptor.AddChild(root_1, stream_ID.NextNode());

                        adaptor.AddChild(root_0, root_1);
                    }
                }

                retval.Tree = root_0; retval.Tree = root_0;
            }

            retval.Stop = input.LT(-1);

            retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0);
            adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop);
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
            // Conversion of the second argument necessary, but harmless
            retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re);
        }
        finally
        {
        }
        return(retval);
    }