// throws RecognitionException [1] // $ANTLR start instruccion // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:55:1: instruccion : ( inst_decl -> {$inst_decl.st} | inst_asig -> {$inst_asig.st} | inst_if -> {$inst_if.st} | inst_while -> {$inst_while.st} | inst_return -> {$inst_return.st} | inst_expr -> {$inst_expr.st}); public instruccion_return instruccion() { instruccion_return retval = new instruccion_return(); retval.start = input.LT(1); inst_decl_return inst_decl3 = null; inst_asig_return inst_asig4 = null; inst_if_return inst_if5 = null; inst_while_return inst_while6 = null; inst_return_return inst_return7 = null; inst_expr_return inst_expr8 = null; try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:55:13: ( inst_decl -> {$inst_decl.st} | inst_asig -> {$inst_asig.st} | inst_if -> {$inst_if.st} | inst_while -> {$inst_while.st} | inst_return -> {$inst_return.st} | inst_expr -> {$inst_expr.st}) int alt3 = 6; switch ( input.LA(1) ) { case DECLARACION: { alt3 = 1; } break; case ASIGNACION: { alt3 = 2; } break; case 33: { alt3 = 3; } break; case 35: { alt3 = 4; } break; case 36: { alt3 = 5; } break; case MENOSUNARIO: case LLAMADA: case IDENT: case LIT_ENTERO: case LIT_REAL: case LIT_CADENA: case LIT_LOGICO: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 53: case 54: { alt3 = 6; } break; default: NoViableAltException nvae_d3s0 = new NoViableAltException("55:1: instruccion : ( inst_decl -> {$inst_decl.st} | inst_asig -> {$inst_asig.st} | inst_if -> {$inst_if.st} | inst_while -> {$inst_while.st} | inst_return -> {$inst_return.st} | inst_expr -> {$inst_expr.st});", 3, 0, input); throw nvae_d3s0; } switch (alt3) { case 1 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:55:15: inst_decl { PushFollow(FOLLOW_inst_decl_in_instruccion187); inst_decl3 = inst_decl(); followingStackPointer_--; // TEMPLATE REWRITE // 55:25: -> {$inst_decl.st} { retval.st = inst_decl3.st; } } break; case 2 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:56:8: inst_asig { PushFollow(FOLLOW_inst_asig_in_instruccion201); inst_asig4 = inst_asig(); followingStackPointer_--; // TEMPLATE REWRITE // 56:18: -> {$inst_asig.st} { retval.st = inst_asig4.st; } } break; case 3 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:57:8: inst_if { PushFollow(FOLLOW_inst_if_in_instruccion214); inst_if5 = inst_if(); followingStackPointer_--; // TEMPLATE REWRITE // 57:16: -> {$inst_if.st} { retval.st = inst_if5.st; } } break; case 4 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:58:8: inst_while { PushFollow(FOLLOW_inst_while_in_instruccion227); inst_while6 = inst_while(); followingStackPointer_--; // TEMPLATE REWRITE // 58:19: -> {$inst_while.st} { retval.st = inst_while6.st; } } break; case 5 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:59:8: inst_return { PushFollow(FOLLOW_inst_return_in_instruccion240); inst_return7 = inst_return(); followingStackPointer_--; // TEMPLATE REWRITE // 59:20: -> {$inst_return.st} { retval.st = inst_return7.st; } } break; case 6 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:60:8: inst_expr { PushFollow(FOLLOW_inst_expr_in_instruccion253); inst_expr8 = inst_expr(); followingStackPointer_--; // TEMPLATE REWRITE // 60:18: -> {$inst_expr.st} { retval.st = inst_expr8.st; } } break; } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start instruccion // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:76:1: instruccion : ( inst_decl | inst_asig | inst_if | inst_while | inst_return | inst_expr ); public instruccion_return instruccion() { instruccion_return retval = new instruccion_return(); retval.start = input.LT(1); FkvmAST root_0 = null; inst_decl_return inst_decl16 = null; inst_asig_return inst_asig17 = null; inst_if_return inst_if18 = null; inst_while_return inst_while19 = null; inst_return_return inst_return20 = null; inst_expr_return inst_expr21 = null; try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:76:13: ( inst_decl | inst_asig | inst_if | inst_while | inst_return | inst_expr ) int alt3 = 6; switch ( input.LA(1) ) { case 37: case 38: case 39: case 40: case 41: { alt3 = 1; } break; case IDENT: { int LA3_2 = input.LA(2); if ( (LA3_2 == 32) ) { alt3 = 2; } else if ( (LA3_2 == 25 || LA3_2 == 27 || (LA3_2 >= 42 && LA3_2 <= 53)) ) { alt3 = 6; } else { NoViableAltException nvae_d3s2 = new NoViableAltException("76:1: instruccion : ( inst_decl | inst_asig | inst_if | inst_while | inst_return | inst_expr );", 3, 2, input); throw nvae_d3s2; } } break; case 33: { alt3 = 3; } break; case 35: { alt3 = 4; } break; case 36: { alt3 = 5; } break; case LIT_ENTERO: case LIT_REAL: case LIT_CADENA: case LIT_LOGICO: case 25: case 50: case 51: case 54: { alt3 = 6; } break; default: NoViableAltException nvae_d3s0 = new NoViableAltException("76:1: instruccion : ( inst_decl | inst_asig | inst_if | inst_while | inst_return | inst_expr );", 3, 0, input); throw nvae_d3s0; } switch (alt3) { case 1 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:76:15: inst_decl { root_0 = (FkvmAST)adaptor.GetNilNode(); PushFollow(FOLLOW_inst_decl_in_instruccion233); inst_decl16 = inst_decl(); followingStackPointer_--; adaptor.AddChild(root_0, inst_decl16.Tree); } break; case 2 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:77:6: inst_asig { root_0 = (FkvmAST)adaptor.GetNilNode(); PushFollow(FOLLOW_inst_asig_in_instruccion240); inst_asig17 = inst_asig(); followingStackPointer_--; adaptor.AddChild(root_0, inst_asig17.Tree); } break; case 3 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:78:6: inst_if { root_0 = (FkvmAST)adaptor.GetNilNode(); PushFollow(FOLLOW_inst_if_in_instruccion248); inst_if18 = inst_if(); followingStackPointer_--; adaptor.AddChild(root_0, inst_if18.Tree); } break; case 4 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:79:6: inst_while { root_0 = (FkvmAST)adaptor.GetNilNode(); PushFollow(FOLLOW_inst_while_in_instruccion256); inst_while19 = inst_while(); followingStackPointer_--; adaptor.AddChild(root_0, inst_while19.Tree); } break; case 5 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:80:6: inst_return { root_0 = (FkvmAST)adaptor.GetNilNode(); PushFollow(FOLLOW_inst_return_in_instruccion264); inst_return20 = inst_return(); followingStackPointer_--; adaptor.AddChild(root_0, inst_return20.Tree); } break; case 6 : // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:81:6: inst_expr { root_0 = (FkvmAST)adaptor.GetNilNode(); PushFollow(FOLLOW_inst_expr_in_instruccion272); inst_expr21 = inst_expr(); followingStackPointer_--; adaptor.AddChild(root_0, inst_expr21.Tree); } break; } 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; }