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; } }
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(); }