Exemplo n.º 1
0
    // throws RecognitionException [1]
    // $ANTLR start principal
    // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:50:1: principal[int locales] : ^( 'program' tipo IDENT li= lista_instrucciones ) -> principal(nom=$IDENT.textloc=localesinstr=$li.st);
    public principal_return principal(int locales)
    {
        principal_return retval = new principal_return();
        retval.start = input.LT(1);

        FkvmAST IDENT2 = null;
        lista_instrucciones_return li = null;

        try
        {
            // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:50:24: ( ^( 'program' tipo IDENT li= lista_instrucciones ) -> principal(nom=$IDENT.textloc=localesinstr=$li.st))
            // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:50:26: ^( 'program' tipo IDENT li= lista_instrucciones )
            {
                Match(input,28,FOLLOW_28_in_principal99);

                Match(input, Token.DOWN, null);
                PushFollow(FOLLOW_tipo_in_principal101);
                tipo();
                followingStackPointer_--;

                IDENT2 = (FkvmAST)input.LT(1);
                Match(input,IDENT,FOLLOW_IDENT_in_principal103);
                PushFollow(FOLLOW_lista_instrucciones_in_principal107);
                li = lista_instrucciones();
                followingStackPointer_--;

                Match(input, Token.UP, null);

                // TEMPLATE REWRITE
                // 51:26: -> principal(nom=$IDENT.textloc=localesinstr=$li.st)
                {
                    retval.st = templateLib.GetInstanceOf("principal",
                  new STAttrMap().Add("nom", IDENT2.Text).Add("loc", locales).Add("instr", li.st));
                }

            }

        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input,re);
        }
        finally
        {
        }
        return retval;
    }
Exemplo n.º 2
0
    // throws RecognitionException [1]
    // $ANTLR start principal
    // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:72:1: principal : 'program' tipo IDENT '{' lista_instrucciones '}' ;
    public principal_return principal()
    {
        principal_return retval = new principal_return();
        retval.start = input.LT(1);

        FkvmAST root_0 = null;

        IToken string_literal10 = null;
        IToken IDENT12 = null;
        IToken char_literal13 = null;
        IToken char_literal15 = null;
        tipo_return tipo11 = null;

        lista_instrucciones_return lista_instrucciones14 = null;

        FkvmAST string_literal10_tree=null;
        FkvmAST IDENT12_tree=null;
        FkvmAST char_literal13_tree=null;
        FkvmAST char_literal15_tree=null;

        try
        {
            // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:72:11: ( 'program' tipo IDENT '{' lista_instrucciones '}' )
            // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:72:13: 'program' tipo IDENT '{' lista_instrucciones '}'
            {
                root_0 = (FkvmAST)adaptor.GetNilNode();

                string_literal10 = (IToken)input.LT(1);
                Match(input,28,FOLLOW_28_in_principal188);
                string_literal10_tree = (FkvmAST)adaptor.Create(string_literal10);
                root_0 = (FkvmAST)adaptor.BecomeRoot(string_literal10_tree, root_0);

                PushFollow(FOLLOW_tipo_in_principal191);
                tipo11 = tipo();
                followingStackPointer_--;

                adaptor.AddChild(root_0, tipo11.Tree);
                IDENT12 = (IToken)input.LT(1);
                Match(input,IDENT,FOLLOW_IDENT_in_principal193);
                IDENT12_tree = (FkvmAST)adaptor.Create(IDENT12);
                adaptor.AddChild(root_0, IDENT12_tree);

                char_literal13 = (IToken)input.LT(1);
                Match(input,29,FOLLOW_29_in_principal195);
                PushFollow(FOLLOW_lista_instrucciones_in_principal198);
                lista_instrucciones14 = lista_instrucciones();
                followingStackPointer_--;

                adaptor.AddChild(root_0, lista_instrucciones14.Tree);
                char_literal15 = (IToken)input.LT(1);
                Match(input,30,FOLLOW_30_in_principal200);

            }

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

                retval.tree = (FkvmAST)adaptor.RulePostProcessing(root_0);
                adaptor.SetTokenBoundaries(retval.Tree, retval.start, retval.stop);

        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input,re);
        }
        finally
        {
        }
        return retval;
    }