public Linea BuscarMinimaExpresion(Linea _linea, string _contexto) { _linea.logs = ""; Linea linea = _linea.Clone(); linea.logs = ""; if (!String.IsNullOrEmpty(linea.ToString())) { _linea.logs += $"┌──────> ANALIZA: [{linea.ToString()}] \n"; } bool iterar = true; Linea actual = _linea.Clone(); while (iterar) { linea = generalFacade.Reducir(linea, _contexto); _linea.logs += linea.logs; if (actual.Equals(linea)) { iterar = false; } else { actual = linea.Clone(); } } if (!String.IsNullOrEmpty(linea.ToString())) { _linea.logs += $"└>No hay más coinsidencias, termina el analisis. \n\n"; } linea.instrucciones.Clear(); linea.logs = _linea.logs; foreach (Instruccion i in actual.instrucciones) { linea.instrucciones.Add((Instruccion)i.Clone()); } return(linea); }