Ejemplo n.º 1
0
        public static void OpenScope(Symbol sym)
        {
            Scope s = new Scope();
            s.nArgs = 0;
            s.nLocs = 0;
            s.outer=topScope;
            topScope=s;

            //Codigo Tabla de Simbolos
            ultimosNodos.Push(ultimoNodo);
            ultimosParametros.Push(new List<TreeNode>());
            if (sym != null)
            {
            profundidad++;
            Program1.form1.arbolTS.Nodes.Add("Scope de :Type: " + sym.kind + " | Name: " + sym.name);
            }
            if (muestraTabSimb) Program1.form1.instContinuar.ShowDialog();    //MessageBox.Show("ContinuarTSimb","T de simbolo");
            //Codigo Tabla de Simbolos
        }
Ejemplo n.º 2
0
        public static void CloseScope()
        {
            topScope = topScope.outer;

            //Codigo Tabla de Simbolos
            TreeNode ultimoNodo1 = ultimosNodos.Pop();
            int c = Program1.form1.arbolTS.Nodes[Program1.form1.arbolTS.Nodes.Count - 1].Nodes.Count;
            Program1.form1.arbolTS.Nodes.RemoveAt(profundidad--);
            ultimoNodo1.Nodes.AddRange(ultimosParametros.Pop().ToArray());
            Program1.form1.arbolTS.ExpandAll();
            if (muestraTabSimb) Program1.form1.instContinuar.ShowDialog();  //MessageBox.Show("ContinuarTSimb", "T de simbolo");
            //Codigo Tabla de Simbolos
        }