// throws RecognitionException [1] // $ANTLR start declaraciones_api // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:46:1: declaraciones_api : ^( LISTADECLARACIONESAPI ( declaracion_api )* ) ; public declaraciones_api_return declaraciones_api() { declaraciones_api_return retval = new declaraciones_api_return(); retval.start = input.LT(1); try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:46:19: ( ^( LISTADECLARACIONESAPI ( declaracion_api )* ) ) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:46:21: ^( LISTADECLARACIONESAPI ( declaracion_api )* ) { Match(input,LISTADECLARACIONESAPI,FOLLOW_LISTADECLARACIONESAPI_in_declaraciones_api69); if ( input.LA(1) == Token.DOWN ) { Match(input, Token.DOWN, null); // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:46:45: ( declaracion_api )* do { int alt1 = 2; int LA1_0 = input.LA(1); if ( (LA1_0 == DECLARACIONAPI) ) { alt1 = 1; } switch (alt1) { case 1 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:46:45: declaracion_api { PushFollow(FOLLOW_declaracion_api_in_declaraciones_api71); declaracion_api(); followingStackPointer_--; } break; default: goto loop1; } } while (true); loop1: ; // Stops C# compiler whinging that label 'loop1' has no statements Match(input, Token.UP, null); } } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start declaraciones_api // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:63:1: declaraciones_api : (lista+= declaracion_api )* -> ^( LISTADECLARACIONESAPI ( $lista)* ) ; public declaraciones_api_return declaraciones_api() { declaraciones_api_return retval = new declaraciones_api_return(); retval.start = input.LT(1); FkvmAST root_0 = null; IList list_lista = null; RuleReturnScope lista = null; RewriteRuleSubtreeStream stream_declaracion_api = new RewriteRuleSubtreeStream(adaptor,"rule declaracion_api"); try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:63:19: ( (lista+= declaracion_api )* -> ^( LISTADECLARACIONESAPI ( $lista)* ) ) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:63:21: (lista+= declaracion_api )* { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:63:21: (lista+= declaracion_api )* do { int alt1 = 2; int LA1_0 = input.LA(1); if ( (LA1_0 == 24) ) { alt1 = 1; } switch (alt1) { case 1 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:63:22: lista+= declaracion_api { PushFollow(FOLLOW_declaracion_api_in_declaraciones_api134); lista = declaracion_api(); followingStackPointer_--; stream_declaracion_api.Add(lista.Tree); if (list_lista == null) list_lista = new ArrayList(); list_lista.Add(lista); } break; default: goto loop1; } } while (true); loop1: ; // Stops C# compiler whinging that label 'loop1' has no statements // AST REWRITE // elements: lista // token labels: // rule labels: retval // token list labels: // rule list labels: lista retval.tree = root_0; RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "token retval", (retval!=null ? retval.Tree : null)); RewriteRuleSubtreeStream stream_lista = new RewriteRuleSubtreeStream(adaptor, "token lista", list_lista); root_0 = (FkvmAST)adaptor.GetNilNode(); // 63:47: -> ^( LISTADECLARACIONESAPI ( $lista)* ) { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:63:50: ^( LISTADECLARACIONESAPI ( $lista)* ) { FkvmAST root_1 = (FkvmAST)adaptor.GetNilNode(); root_1 = (FkvmAST)adaptor.BecomeRoot(adaptor.Create(LISTADECLARACIONESAPI, "LISTADECLARACIONESAPI"), root_1); // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:63:74: ( $lista)* while ( stream_lista.HasNext() ) { adaptor.AddChild(root_1, ((ParserRuleReturnScope)stream_lista.Next()).Tree); } stream_lista.Reset(); 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; }