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 }
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>")); } }