private static void MostrarRelacoesZ(Interpretador interpretador) { Console.WriteLine(" ===== Relações Z ===== "); foreach (RelacaoReducoesZ z in interpretador.RelacoesReducoesZ) { Console.Write(z); Console.WriteLine(string.Format(" possui {0} cupons", z.Cupons.Count)); } }
static void Main(string[] args) { var interpretador = Interpretador.InterpretaArquivo(@"c:\arquivo.tdm"); foreach (CupomFiscal cupom in interpretador.CuponsFiscais) { MostrarCupom(cupom); MostrarItens(cupom); MostrarPagamentos(cupom); } MostrarRelacoesZ(interpretador); Console.ReadLine(); }
public void DeveDetalharCupons() { Interpretador interpretador = Interpretador.InterpretaArquivo(ARQUIVO_ENTRADA); Assert.AreEqual(1, interpretador.CuponsFiscais[0].Detalhes.Count); }
public void deve_entender_numeros_romanos_menores_a_esquerda(string entrada, int resultadoEsperado) { var resultado = new Interpretador().Converter(entrada); resultado.Should().Be(resultadoEsperado); }
public void deve_entender_dois_numeros_romanos_iguais(string entrada, int resultadoEsperado) { var resultado = new Interpretador().Converter(entrada); resultado.Should().Be(resultadoEsperado); }
public void deve_entender_o_numero_X_como_10() { var resultado = new Interpretador().Converter("X"); resultado.Should().Be(10); }
public void deve_entender_o_numero_V_como_5() { var resultado = new Interpretador().Converter("V"); resultado.Should().Be(5); }
static void Main(string[] args) { Level level = Level.EXEC; Log.level = Level.EXEC; if (!LerArquivo(args)) { Log.println("Erro de leitura do arquivo fonte!", Level.EXEC); Console.ReadKey(); return; //sai do programa } //ANÁLISE LÉXICA AnalisadorLexico analisadorLexico = new AnalisadorLexico(file); analisadorLexico.Analisar(); if (analisadorLexico.TemErros()) { Log.println("Análise Léxica terminada com erro:", Level.DEBUG); analisadorLexico.MostraErros(); Console.ReadKey(); return; } else { Log.println("Análise Léxica terminada com sucesso!", Level.DEBUG); if (level == Level.DEBUG) { analisadorLexico.MostraTokens(); } } //ANÁLISE SINTÁTICA COM GERAÇÃO DE ÁRVORE AnalisadorSintaticoGeradorArvore analisadorSintatico = new AnalisadorSintaticoGeradorArvore(analisadorLexico.Tokens); analisadorSintatico.Analisar(); if (analisadorSintatico.TemErros()) { Log.println("Análise Sintática terminada com erro:", Level.DEBUG); analisadorSintatico.MostraErros(); Console.ReadKey(); return; } else { Log.println("Análise Sintática terminada com sucesso!", Level.DEBUG); if (level == Level.DEBUG) { analisadorLexico.MostraTokens(); TabelaSimbolos.MostraSimbolos(); } } //analisadorSintatico.MostraArvore(); AnalisadorSemantico analisadorSemantico = new AnalisadorSemantico(analisadorSintatico.Raiz); analisadorSemantico.Analisar(); if (analisadorSemantico.TemErros()) { Log.println("Análise Semântica terminada com erro:", Level.DEBUG); analisadorSemantico.MostraErros(); Console.ReadKey(); return; } else { Log.println("Análise Semântica terminada com sucesso!", Level.DEBUG); if (level == Level.DEBUG) { TabelaSimbolos.MostraSimbolos(); } } try { DateTime inicio = DateTime.Now; Interpretador interpretador = new Interpretador(analisadorSemantico.Raiz, args); //interpretador.Memoization = true; interpretador.Executar(); DateTime fim = DateTime.Now; Log.println("\n\nExecução encerrada com sucesso! Tempo gasto: " + fim.Subtract(inicio).TotalMilliseconds + " ms", Level.EXEC); } catch (Exception ex) { Log.println("Erro na interpretação: " + ex.Message, Level.EXEC); } Console.ReadKey(); }