// throws RecognitionException [1] // $ANTLR start programa // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:44:1: programa[int locales] : ^( PROGRAMA declaraciones_api principal[locales] ) -> {$principal.st}; public programa_return programa(int locales) { programa_return retval = new programa_return(); retval.start = input.LT(1); principal_return principal1 = null; try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:44:23: ( ^( PROGRAMA declaraciones_api principal[locales] ) -> {$principal.st}) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:44:25: ^( PROGRAMA declaraciones_api principal[locales] ) { Match(input,PROGRAMA,FOLLOW_PROGRAMA_in_programa49); Match(input, Token.DOWN, null); PushFollow(FOLLOW_declaraciones_api_in_programa51); declaraciones_api(); followingStackPointer_--; PushFollow(FOLLOW_principal_in_programa53); principal1 = principal(locales); followingStackPointer_--; Match(input, Token.UP, null); // TEMPLATE REWRITE // 44:74: -> {$principal.st} { retval.st = principal1.st; } } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start programa // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:61:1: programa : declaraciones_api principal -> ^( PROGRAMA declaraciones_api principal ) ; public programa_return programa() { programa_return retval = new programa_return(); retval.start = input.LT(1); FkvmAST root_0 = null; declaraciones_api_return declaraciones_api1 = null; principal_return principal2 = null; RewriteRuleSubtreeStream stream_principal = new RewriteRuleSubtreeStream(adaptor,"rule principal"); RewriteRuleSubtreeStream stream_declaraciones_api = new RewriteRuleSubtreeStream(adaptor,"rule declaraciones_api"); try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:61:10: ( declaraciones_api principal -> ^( PROGRAMA declaraciones_api principal ) ) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:61:12: declaraciones_api principal { PushFollow(FOLLOW_declaraciones_api_in_programa110); declaraciones_api1 = declaraciones_api(); followingStackPointer_--; stream_declaraciones_api.Add(declaraciones_api1.Tree); PushFollow(FOLLOW_principal_in_programa112); principal2 = principal(); followingStackPointer_--; stream_principal.Add(principal2.Tree); // AST REWRITE // elements: principal, declaraciones_api // 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(); // 61:40: -> ^( PROGRAMA declaraciones_api principal ) { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:61:43: ^( PROGRAMA declaraciones_api principal ) { FkvmAST root_1 = (FkvmAST)adaptor.GetNilNode(); root_1 = (FkvmAST)adaptor.BecomeRoot(adaptor.Create(PROGRAMA, "PROGRAMA"), root_1); adaptor.AddChild(root_1, stream_declaraciones_api.Next()); adaptor.AddChild(root_1, stream_principal.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; }