// throws RecognitionException [1] // $ANTLR start inst_return // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:80:1: inst_return : ^(r= 'return' expresion ) -> return(op=operv=$expresion.st); public inst_return_return inst_return() { inst_return_return retval = new inst_return_return(); retval.start = input.LT(1); FkvmAST r = null; expresion_return expresion17 = null; string oper = ""; try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:84:9: ( ^(r= 'return' expresion ) -> return(op=operv=$expresion.st)) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:84:11: ^(r= 'return' expresion ) { r = (FkvmAST)input.LT(1); Match(input,36,FOLLOW_36_in_inst_return498); Match(input, Token.DOWN, null); PushFollow(FOLLOW_expresion_in_inst_return500); expresion17 = expresion(); followingStackPointer_--; Match(input, Token.UP, null); oper = traducirTipo(r.expType)+"ret"; // TEMPLATE REWRITE // 84:76: -> return(op=operv=$expresion.st) { retval.st = templateLib.GetInstanceOf("return", new STAttrMap().Add("op", oper).Add("v", expresion17.st)); } } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start inst_return // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:107:1: inst_return : 'return' expresion ';' ; public inst_return_return inst_return() { inst_return_return retval = new inst_return_return(); retval.start = input.LT(1); FkvmAST root_0 = null; IToken string_literal53 = null; IToken char_literal55 = null; expresion_return expresion54 = null; FkvmAST string_literal53_tree=null; FkvmAST char_literal55_tree=null; try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:107:13: ( 'return' expresion ';' ) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:107:15: 'return' expresion ';' { root_0 = (FkvmAST)adaptor.GetNilNode(); string_literal53 = (IToken)input.LT(1); Match(input,36,FOLLOW_36_in_inst_return521); string_literal53_tree = (FkvmAST)adaptor.Create(string_literal53); root_0 = (FkvmAST)adaptor.BecomeRoot(string_literal53_tree, root_0); PushFollow(FOLLOW_expresion_in_inst_return524); expresion54 = expresion(); followingStackPointer_--; adaptor.AddChild(root_0, expresion54.Tree); char_literal55 = (IToken)input.LT(1); Match(input,27,FOLLOW_27_in_inst_return526); } 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; }