예제 #1
0
        public void BuscarMinimaExpresion()
        {
            Linea linea = this.Clone();

            if (!String.IsNullOrEmpty(linea.ToString()))
            {
                logsReducido += $"┌──────> ANALIZA: [{linea.ToString()}] \n";
            }
            bool  iterar = true;
            Linea actual = linea.Clone();

            while (iterar)
            {
                linea         = ReducirTokens(linea);
                logsReducido += linea.logsReducido;
                if (actual.Equals(linea))
                {
                    iterar = false;
                }
                else
                {
                    actual = linea.Clone();
                }
            }
            if (!String.IsNullOrEmpty(linea.ToString()))
            {
                logsReducido += $"└>No hay más coinsidencias, termina el analisis. \n\n";
            }

            foreach (Instruccion i in actual.instrucciones)
            {
                instruccionesReducidas.Add((Instruccion)i.Clone());
            }
        }
예제 #2
0
 public bool Equals(Linea linea)
 {
     if (linea == null)
     {
         return(false);
     }
     else
     {
         if (linea.ToString() == this.ToString())
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }