Exemple #1
0
    // throws RecognitionException [1]
    // $ANTLR start llamada
    // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:115:1: llamada : ^( LLAMADA IDENT le= lista_expr ) -> llamada(id=$IDENT.textlp=$le.st);
    public llamada_return llamada()
    {
        llamada_return retval = new llamada_return();
        retval.start = input.LT(1);

        FkvmAST IDENT25 = null;
        lista_expr_return le = null;

        try
        {
            // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:115:9: ( ^( LLAMADA IDENT le= lista_expr ) -> llamada(id=$IDENT.textlp=$le.st))
            // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:115:11: ^( LLAMADA IDENT le= lista_expr )
            {
                Match(input,LLAMADA,FOLLOW_LLAMADA_in_llamada978);

                Match(input, Token.DOWN, null);
                IDENT25 = (FkvmAST)input.LT(1);
                Match(input,IDENT,FOLLOW_IDENT_in_llamada980);
                PushFollow(FOLLOW_lista_expr_in_llamada984);
                le = lista_expr();
                followingStackPointer_--;

                Match(input, Token.UP, null);

                // TEMPLATE REWRITE
                // 115:42: -> llamada(id=$IDENT.textlp=$le.st)
                {
                    retval.st = templateLib.GetInstanceOf("llamada",
                  new STAttrMap().Add("id", IDENT25.Text).Add("lp", le.st));
                }

            }

        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input,re);
        }
        finally
        {
        }
        return retval;
    }
Exemple #2
0
    // throws RecognitionException [1]
    // $ANTLR start llamada
    // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:141:1: llamada : IDENT '(' lista_expr ')' -> ^( LLAMADA IDENT lista_expr ) ;
    public llamada_return llamada()
    {
        llamada_return retval = new llamada_return();
        retval.start = input.LT(1);

        FkvmAST root_0 = null;

        IToken IDENT93 = null;
        IToken char_literal94 = null;
        IToken char_literal96 = null;
        lista_expr_return lista_expr95 = null;

        FkvmAST IDENT93_tree=null;
        FkvmAST char_literal94_tree=null;
        FkvmAST char_literal96_tree=null;
        RewriteRuleTokenStream stream_IDENT = new RewriteRuleTokenStream(adaptor,"token IDENT");
        RewriteRuleTokenStream stream_25 = new RewriteRuleTokenStream(adaptor,"token 25");
        RewriteRuleTokenStream stream_26 = new RewriteRuleTokenStream(adaptor,"token 26");
        RewriteRuleSubtreeStream stream_lista_expr = new RewriteRuleSubtreeStream(adaptor,"rule lista_expr");
        try
        {
            // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:141:9: ( IDENT '(' lista_expr ')' -> ^( LLAMADA IDENT lista_expr ) )
            // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:141:11: IDENT '(' lista_expr ')'
            {
                IDENT93 = (IToken)input.LT(1);
                Match(input,IDENT,FOLLOW_IDENT_in_llamada825);
                stream_IDENT.Add(IDENT93);

                char_literal94 = (IToken)input.LT(1);
                Match(input,25,FOLLOW_25_in_llamada827);
                stream_25.Add(char_literal94);

                PushFollow(FOLLOW_lista_expr_in_llamada829);
                lista_expr95 = lista_expr();
                followingStackPointer_--;

                stream_lista_expr.Add(lista_expr95.Tree);
                char_literal96 = (IToken)input.LT(1);
                Match(input,26,FOLLOW_26_in_llamada831);
                stream_26.Add(char_literal96);

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

                root_0 = (FkvmAST)adaptor.GetNilNode();
                // 141:36: -> ^( LLAMADA IDENT lista_expr )
                {
                    // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:141:39: ^( LLAMADA IDENT lista_expr )
                    {
                    FkvmAST root_1 = (FkvmAST)adaptor.GetNilNode();
                    root_1 = (FkvmAST)adaptor.BecomeRoot(adaptor.Create(LLAMADA, "LLAMADA"), root_1);

                    adaptor.AddChild(root_1, stream_IDENT.Next());
                    adaptor.AddChild(root_1, stream_lista_expr.Next());

                    adaptor.AddChild(root_0, root_1);
                    }

                }

            }

            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;
    }