static void Main(string[] args)
        {
            Console.WriteLine(Welcome);

            bool interromperProcesso = false;

            while (!interromperProcesso)
            {
                AnalisadorLexico        analisador = new AnalisadorLexico();
                AnalisadorLexicoEntrada entrada    = new AnalisadorLexicoEntrada();

                Console.WriteLine("Informe o caminho completo para o arquivo de entrada...");

                string   caminhoArquivoEntrada = Console.ReadLine();
                FileInfo arquivoEntrada        = null;

                if (!string.IsNullOrWhiteSpace(caminhoArquivoEntrada))
                {
                    arquivoEntrada = new FileInfo(caminhoArquivoEntrada.Replace("\"", ""));
                }

                if (arquivoEntrada != null && arquivoEntrada.Exists)
                {
                    entrada.ArquivoFonte = arquivoEntrada;

                    AnalisadorLexicoSaida saida = analisador.Processar(entrada, tokens);
                    saida.GerarArquivos(entrada.ArquivoFonte);

                    Console.WriteLine("");
                    Console.WriteLine("Processo de análise finalizado, hash de identificação {0}", saida.Identificador);
                }
                else
                {
                    Console.WriteLine("");
                    Console.WriteLine("Arquivo de entrada não pode ser localizado");
                }

                Console.WriteLine("Pressione qualquer tecla para continuar ou pressione ESC para sair...");
                Console.WriteLine("");

                interromperProcesso = Console.ReadKey().Key == ConsoleKey.Escape;
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            try
            {
                if (args.Length > 0)
                {
                    var analisador = new AnalisadorLexico(args[0]);
                    analisador.Processar();

                    Console.WriteLine(analisador.Resultado);
                }
                else
                {
                    Console.WriteLine("A execução do analisador deve ser: \"alex <fonte>\"\nonde <fonte> é o caminho do arquivo a ser analisado.");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.ReadKey();
        }