//PROCEDIMIENTOS public static void PROCEDIMIENTOS(ParseTreeNode raiz) { switch (raiz.ChildNodes.Count) { case 7: ambito = raiz.ChildNodes.ElementAt(1).ToString() + "()"; CUERPOGENERAL(raiz.ChildNodes.ElementAt(5)); break; case 11: int x = 350; int y = 400; ambito = raiz.ChildNodes.ElementAt(0).ToString(); ObjArreglo nodo = new ObjArreglo(); //nodo = listaArreglo[0]; ObjVariable Nuevo = new ObjVariable(separar(raiz.ChildNodes.ElementAt(3).ToString()), "entero", x.ToString(), ambito); ObjVariable Nuevo2 = new ObjVariable(separar(raiz.ChildNodes.ElementAt(6).ToString()), "entero", y.ToString(), ambito); listaVariables.Add(Nuevo); listaVariables.Add(Nuevo2); CUERPOGENERAL(raiz.ChildNodes.ElementAt(9)); break; case 10: Console.WriteLine("-----------------------------------------------------------"); ambito = raiz.ChildNodes.ElementAt(1).ToString(); CUERPOGENERAL(raiz.ChildNodes.ElementAt(5)); break; } }
public static void VARENTERO(ParseTreeNode raiz) { ObjVariable Nuevo; switch (raiz.ChildNodes.Count) { case 1: Nuevo = new ObjVariable(separar(raiz.ChildNodes.ElementAt(0).ToString()), "entero", "0", ambito); listaVariables.Add(Nuevo); break; case 3: if (raiz.ChildNodes.ElementAt(0).ToString() == "VARENTERO") { VARENTERO(raiz.ChildNodes.ElementAt(0)); Nuevo = new ObjVariable(separar(raiz.ChildNodes.ElementAt(2).ToString()), "entero", "0", ambito); listaVariables.Add(Nuevo); } else { Nuevo = new ObjVariable(separar(raiz.ChildNodes.ElementAt(0).ToString()), "entero", F(raiz.ChildNodes.ElementAt(2)).ToString(), ambito); listaVariables.Add(Nuevo); } break; case 5: VARENTERO(raiz.ChildNodes.ElementAt(0)); Nuevo = new ObjVariable(separar(raiz.ChildNodes.ElementAt(2).ToString()), "entero", F(raiz.ChildNodes.ElementAt(4)).ToString(), ambito); listaVariables.Add(Nuevo); break; } }
public static void BORRAR(String busc) { Console.WriteLine("jaja----" + busc); ObjVariable nod = null; foreach (ObjVariable nodo in listaVariables) { if (nodo.NombreVar == busc) { nod = nodo; break; } } listaVariables.Remove(nod); }
public static void ASIGNACIONPARA(ParseTreeNode raiz) { ObjVariable Nuevo; switch (raiz.ChildNodes.Count) { case 5: VARENTERO(raiz.ChildNodes.ElementAt(0)); Nuevo = new ObjVariable(separar(raiz.ChildNodes.ElementAt(2).ToString()), "entero", F(raiz.ChildNodes.ElementAt(4)).ToString(), ambito); listaVariables.Add(Nuevo); break; case 3: AsignacionValor(separar(raiz.ChildNodes.ElementAt(0).ToString()), int.Parse(F(raiz.ChildNodes.ElementAt(2)).ToString())); break; } }