public Nodo Instruccion(ParseTreeNode actual) { String toke = actual.Term.Name; switch (toke) { case "writeln": return(Main.Inst_Writeln(actual)); case "write": return(Main.Inst_Write(actual)); case "ifthen": return(Main.Inst_Ifthen(actual)); case "ifelse": return(Main.Instru_IfElse(actual)); case "caseof": return(Main.Case_OF(actual.ChildNodes[0])); case "whiledo": return(Main.While(actual)); case "repeat": return(Main.Repeat(actual)); case "no_for": return(Main.For(actual)); case "asignacion": return(Asignaciones.Tipo_asignacion(actual)); case "continue": return(Tranferencias.Sentencia_continue(actual)); case "break": return(Tranferencias.Sentencia_break(actual)); case "llamada_funciones": return(Main.LLamada_funcion(actual)); case "exit": return(Tranferencias.Sentencia_Exit(actual)); case "tabla_sym": return(Main.Instruccion_Graficar_ts(actual)); } return(null); }
public static void Instruccion(ParseTreeNode actual, LinkedList <Nodo> lista) { String toke = actual.Term.Name; switch (toke) { case "writeln": lista.AddLast(Main.Inst_Writeln(actual)); break; case "write": lista.AddLast(Main.Inst_Write(actual)); break; case "ifthen": lista.AddLast(Main.Inst_Ifthen(actual)); break; case "ifelse": lista.AddLast(Main.Instru_IfElse(actual)); break; case "caseof": lista.AddLast(Main.Case_OF(actual.ChildNodes[0])); break; case "whiledo": lista.AddLast(Main.While(actual)); break; case "repeat": lista.AddLast(Main.Repeat(actual)); break; case "no_for": lista.AddLast(Main.For(actual)); break; case "asignacion": lista.AddLast(Asignaciones.Tipo_asignacion(actual)); break; case "continue": lista.AddLast(Tranferencias.Sentencia_continue(actual)); break; case "break": lista.AddLast(Tranferencias.Sentencia_break(actual)); break; case "llamada_funciones": lista.AddLast(Main.LLamada_funcion(actual)); break; case "exit": lista.AddLast(Tranferencias.Sentencia_Exit(actual)); break; case "tabla_sym": lista.AddLast(Main.Instruccion_Graficar_ts(actual)); break; case "sentencia_case": lista.AddLast(Main.Case_OF(actual)); break; case "sentencia_while": lista.AddLast(Main.While_If(actual)); break; case "sentencia_repeat": lista.AddLast(Main.Repeat(actual)); break; case "sentencia_for": lista.AddLast(Main.For_if(actual)); break; } }