Exemple #1
0
        public Boolean iniciarAnalisis(String cadena, String nombreArchivo)
        {
            //Console.WriteLine("[arbol]rutaProyecto->" + tablaDeSimbolos.getRutaProyecto());
            Boolean retorno = false;

            //GENERANDO EL AST DE IRONY

            gramatica gramatica = new gramatica(tablaErrores, nombreArchivo);

            LanguageData  lenguaje = new LanguageData(gramatica);
            Parser        parser   = new Parser(lenguaje);
            ParseTree     arbol    = parser.Parse(cadena);
            ParseTreeNode raiz     = arbol.Root;


            //GENERANDO EL ARBOL

            generarArbol generar = new generarArbol(gramatica.nombreArchivo);


            if (raiz == null)
            {
                Console.WriteLine("Arbol Vacio");
                retorno = false;
            }
            else
            {
                // seman.S(raiz);
                // grafo.generarImagen(raiz);
                nodoModelo raizArbol = new nodoModelo("raiz", this);
                raizArbol = generar.generar(raizArbol, raiz, this);


                //lstAst.Add(raizArbol); //lo guardo en la lista de ast prro

                //para cargar los imports
                raizArbol.ejecutar();

                //generarImagen(raiz);//aquí se genera el AST
                retorno = true;
            }

            return(retorno);
        }