// throws RecognitionException [1] // $ANTLR start declaracion_api // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:48:1: declaracion_api : ^( DECLARACIONAPI tipo IDENT ) ; public declaracion_api_return declaracion_api() { declaracion_api_return retval = new declaracion_api_return(); retval.start = input.LT(1); try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:48:17: ( ^( DECLARACIONAPI tipo IDENT ) ) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:48:19: ^( DECLARACIONAPI tipo IDENT ) { Match(input,DECLARACIONAPI,FOLLOW_DECLARACIONAPI_in_declaracion_api83); Match(input, Token.DOWN, null); PushFollow(FOLLOW_tipo_in_declaracion_api85); tipo(); followingStackPointer_--; Match(input,IDENT,FOLLOW_IDENT_in_declaracion_api87); Match(input, Token.UP, null); } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start declaracion_api // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:65:1: declaracion_api : 'api' tipo IDENT '(' lista_decl ')' ';' -> ^( DECLARACIONAPI tipo IDENT ) ; public declaracion_api_return declaracion_api() { declaracion_api_return retval = new declaracion_api_return(); retval.start = input.LT(1); FkvmAST root_0 = null; IToken string_literal3 = null; IToken IDENT5 = null; IToken char_literal6 = null; IToken char_literal8 = null; IToken char_literal9 = null; tipo_return tipo4 = null; lista_decl_return lista_decl7 = null; FkvmAST string_literal3_tree=null; FkvmAST IDENT5_tree=null; FkvmAST char_literal6_tree=null; FkvmAST char_literal8_tree=null; FkvmAST char_literal9_tree=null; RewriteRuleTokenStream stream_IDENT = new RewriteRuleTokenStream(adaptor,"token IDENT"); RewriteRuleTokenStream stream_24 = new RewriteRuleTokenStream(adaptor,"token 24"); RewriteRuleTokenStream stream_25 = new RewriteRuleTokenStream(adaptor,"token 25"); RewriteRuleTokenStream stream_26 = new RewriteRuleTokenStream(adaptor,"token 26"); RewriteRuleTokenStream stream_27 = new RewriteRuleTokenStream(adaptor,"token 27"); RewriteRuleSubtreeStream stream_tipo = new RewriteRuleSubtreeStream(adaptor,"rule tipo"); RewriteRuleSubtreeStream stream_lista_decl = new RewriteRuleSubtreeStream(adaptor,"rule lista_decl"); try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:65:17: ( 'api' tipo IDENT '(' lista_decl ')' ';' -> ^( DECLARACIONAPI tipo IDENT ) ) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:65:19: 'api' tipo IDENT '(' lista_decl ')' ';' { string_literal3 = (IToken)input.LT(1); Match(input,24,FOLLOW_24_in_declaracion_api155); stream_24.Add(string_literal3); PushFollow(FOLLOW_tipo_in_declaracion_api157); tipo4 = tipo(); followingStackPointer_--; stream_tipo.Add(tipo4.Tree); IDENT5 = (IToken)input.LT(1); Match(input,IDENT,FOLLOW_IDENT_in_declaracion_api159); stream_IDENT.Add(IDENT5); char_literal6 = (IToken)input.LT(1); Match(input,25,FOLLOW_25_in_declaracion_api161); stream_25.Add(char_literal6); PushFollow(FOLLOW_lista_decl_in_declaracion_api163); lista_decl7 = lista_decl(); followingStackPointer_--; stream_lista_decl.Add(lista_decl7.Tree); char_literal8 = (IToken)input.LT(1); Match(input,26,FOLLOW_26_in_declaracion_api165); stream_26.Add(char_literal8); char_literal9 = (IToken)input.LT(1); Match(input,27,FOLLOW_27_in_declaracion_api167); stream_27.Add(char_literal9); if(!symtable.ContainsKey(IDENT5.Text)) { symtable.Add(IDENT5.Text, new Symbol(input.ToString(tipo4.start,tipo4.stop), -1)); } // AST REWRITE // elements: tipo, 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(); // 70:8: -> ^( DECLARACIONAPI tipo IDENT ) { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:70:11: ^( DECLARACIONAPI tipo IDENT ) { FkvmAST root_1 = (FkvmAST)adaptor.GetNilNode(); root_1 = (FkvmAST)adaptor.BecomeRoot(adaptor.Create(DECLARACIONAPI, "DECLARACIONAPI"), root_1); adaptor.AddChild(root_1, stream_tipo.Next()); adaptor.AddChild(root_1, stream_IDENT.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; }