示例#1
0
        private void importsPrincipal(string ruta, string nombre, Ejecucion_ manager)
        {
            //1.-Reviso si existe el archivo
            if (!System.IO.File.Exists(System.IO.Path.Combine(ruta, nombre)))
            {
                return;
            }
            //2.-Si existe analizo el archivo
            string texto_analizar = Archivo.abrir(ruta);

            //3.-Primero reviso que el archivo si dio algo
            if (string.IsNullOrEmpty(texto_analizar))
            {
                manager.addError(new Nodo(0, 0, "No se pudo importar:" + nombre + ", el archivo no existe", "<error>"));
                return;
            }
            ParseTree arbol = Analisis.analizar(texto_analizar);

            //4.-Reviso si el analisis fue exitoso
            if (arbol == null)
            {
                //5.-agrego los errores a manager

                //manager.addError(new Nodo(0, 0, "No se pudo importar:" + nombre + ", el archivo no existe", "<error>"));
                return;
            }
            //4.-Si el analisis fue exitoso transformo la raiz y agrego a manager las nuevas variables y funciones
        }
示例#2
0
        private void agregarErroresLS(Ejecucion_ manager, ParseTree arbol)
        {
            int limite = arbol.ParserMessages.Count;

            Irony.LogMessage actual;
            for (int i = 0; i < limite; i++)
            {
                actual = arbol.ParserMessages[i];
                manager.addError(new Nodo(actual.Location.Line, actual.Location.Column, actual.ToString(), "<error>"));
            }
        }