//------------------Privados que se usan para genera AUTÓMATA----------------------------
        private void GenerarExpresionRegular()
        {
            var especiales = new List <string>();

            especiales.Add("~");
            especiales.Add("¬");
            especiales.Add("^");
            especiales.Add("¨");

            foreach (var Token in ManejadorArchivo.Tokens)
            {
                var token = "";

                if (Token.Key != "TOKENS")
                {
                    foreach (var item in Token.Value)
                    {
                        if (token.Length - 1 >= 0)
                        {
                            if (token[token.Length - 1] != '(' && token[token.Length - 1] != ')' && token[token.Length - 1] != '|' &&
                                item != "\')" && item != "\'|" && item != "\')*")
                            {
                                token += ".";
                            }
                        }


                        if (item.Contains("*"))
                        {
                            var aux = item.Substring(0, item.Length - 1);



                            if (ManejadorArchivo.Sets.ContainsKey(aux))
                            {
                                if (!DiccionarioSustitucion.ContainsValue(aux))
                                {
                                    DiccionarioSustitucion.Add(especiales[0], aux);
                                    especiales.RemoveAt(0);

                                    foreach (var item2 in DiccionarioSustitucion)
                                    {
                                        if (item2.Value == aux)
                                        {
                                            token += item2.Key + "*";
                                        }
                                    }
                                }
                                else
                                {
                                    foreach (var item2 in DiccionarioSustitucion)
                                    {
                                        if (item2.Value == aux)
                                        {
                                            token += item2.Key + "*";
                                        }
                                    }
                                }
                            }
                            else
                            {
                                if (item.Contains('\'')) //si tiene comilla simple no se le agrega concateniacion,
                                {
                                    token += item.Trim('\'');
                                }
                                else
                                {
                                    token += item;
                                }
                            }
                        }
                        else if (ManejadorArchivo.Sets.ContainsKey(item))
                        {
                            if (!DiccionarioSustitucion.ContainsValue(item))
                            {
                                DiccionarioSustitucion.Add(especiales[0], item);
                                especiales.RemoveAt(0);

                                foreach (var item2 in DiccionarioSustitucion)
                                {
                                    if (item2.Value == item)
                                    {
                                        token += item2.Key;
                                    }
                                }
                            }
                            else
                            {
                                foreach (var item2 in DiccionarioSustitucion)
                                {
                                    if (item2.Value == item)
                                    {
                                        token += item2.Key;
                                    }
                                }
                            }
                        }
                        else if (item.Contains('\'')) //si tiene comilla simple no se le agrega concateniacion,
                        {
                            token += item.Trim('\'');
                        }
                        else
                        {
                            token += item;
                        }
                    }

                    ExpresionRegular += token + "|";
                }
            }

            ExpresionRegular = ExpresionRegular.TrimEnd('|');
        }