Beispiel #1
0
        private List <Terminal> ArmarSubLista(List <Terminal> lista, Lexicografico.ComponenteLexico.TokenType tokenDivisor, bool haciaDer)
        {
            try
            {
                int i = lista.FindIndex(x => x.Componente.Token == tokenDivisor);

                List <Terminal> parte;

                if (i >= 0)
                {
                    if (haciaDer)
                    {
                        parte = lista.GetRange(i + 1, lista.Count - i - 1);
                    }
                    else
                    {
                        parte = lista.GetRange(0, i);
                    }
                }
                else
                {
                    parte = lista;
                }

                return(parte);
            }
            catch
            {
                return(lista);
            }
        }
Beispiel #2
0
 private static bool GeneraMasIdentacion(Lexicografico.ComponenteLexico.TokenType tokenType)
 {
     return(tokenType == Lexicografico.ComponenteLexico.TokenType.Comenzar ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.SiEntonces ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.SiSino ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.MientrasHacer
            );
 }
Beispiel #3
0
 private static bool GeneraMenosIdentacion(Lexicografico.ComponenteLexico.TokenType tokenType)
 {
     return(tokenType == Lexicografico.ComponenteLexico.TokenType.ProcedimientoFin ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.FuncionFin ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.SiSino ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.SiFin ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.MientrasFin
            );
 }
Beispiel #4
0
 private static bool GeneraNuevaLinea(Lexicografico.ComponenteLexico.TokenType tokenType)
 {
     return(tokenType == Lexicografico.ComponenteLexico.TokenType.FinSentencia ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.Comenzar ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.SiEntonces ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.SiSino ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.MientrasHacer ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.Variables ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.Constantes ||
            tokenType == Lexicografico.ComponenteLexico.TokenType.Comentario
            );
 }