// throws RecognitionException [1] // $ANTLR start principal // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:50:1: principal[int locales] : ^( 'program' tipo IDENT li= lista_instrucciones ) -> principal(nom=$IDENT.textloc=localesinstr=$li.st); public principal_return principal(int locales) { principal_return retval = new principal_return(); retval.start = input.LT(1); FkvmAST IDENT2 = null; lista_instrucciones_return li = null; try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:50:24: ( ^( 'program' tipo IDENT li= lista_instrucciones ) -> principal(nom=$IDENT.textloc=localesinstr=$li.st)) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVMGen.g:50:26: ^( 'program' tipo IDENT li= lista_instrucciones ) { Match(input,28,FOLLOW_28_in_principal99); Match(input, Token.DOWN, null); PushFollow(FOLLOW_tipo_in_principal101); tipo(); followingStackPointer_--; IDENT2 = (FkvmAST)input.LT(1); Match(input,IDENT,FOLLOW_IDENT_in_principal103); PushFollow(FOLLOW_lista_instrucciones_in_principal107); li = lista_instrucciones(); followingStackPointer_--; Match(input, Token.UP, null); // TEMPLATE REWRITE // 51:26: -> principal(nom=$IDENT.textloc=localesinstr=$li.st) { retval.st = templateLib.GetInstanceOf("principal", new STAttrMap().Add("nom", IDENT2.Text).Add("loc", locales).Add("instr", li.st)); } } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }
// throws RecognitionException [1] // $ANTLR start principal // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:72:1: principal : 'program' tipo IDENT '{' lista_instrucciones '}' ; public principal_return principal() { principal_return retval = new principal_return(); retval.start = input.LT(1); FkvmAST root_0 = null; IToken string_literal10 = null; IToken IDENT12 = null; IToken char_literal13 = null; IToken char_literal15 = null; tipo_return tipo11 = null; lista_instrucciones_return lista_instrucciones14 = null; FkvmAST string_literal10_tree=null; FkvmAST IDENT12_tree=null; FkvmAST char_literal13_tree=null; FkvmAST char_literal15_tree=null; try { // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:72:11: ( 'program' tipo IDENT '{' lista_instrucciones '}' ) // D:\\Proyectos\\ProyectosVS\\FKVM\\FKVM\\src\\antlr\\FKVM.g:72:13: 'program' tipo IDENT '{' lista_instrucciones '}' { root_0 = (FkvmAST)adaptor.GetNilNode(); string_literal10 = (IToken)input.LT(1); Match(input,28,FOLLOW_28_in_principal188); string_literal10_tree = (FkvmAST)adaptor.Create(string_literal10); root_0 = (FkvmAST)adaptor.BecomeRoot(string_literal10_tree, root_0); PushFollow(FOLLOW_tipo_in_principal191); tipo11 = tipo(); followingStackPointer_--; adaptor.AddChild(root_0, tipo11.Tree); IDENT12 = (IToken)input.LT(1); Match(input,IDENT,FOLLOW_IDENT_in_principal193); IDENT12_tree = (FkvmAST)adaptor.Create(IDENT12); adaptor.AddChild(root_0, IDENT12_tree); char_literal13 = (IToken)input.LT(1); Match(input,29,FOLLOW_29_in_principal195); PushFollow(FOLLOW_lista_instrucciones_in_principal198); lista_instrucciones14 = lista_instrucciones(); followingStackPointer_--; adaptor.AddChild(root_0, lista_instrucciones14.Tree); char_literal15 = (IToken)input.LT(1); Match(input,30,FOLLOW_30_in_principal200); } 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; }