ACADÊMICO: DOUGLAS RUSKOWSKI HAASE ORIENTADOR: JOSÉ ROQUE VOLTOLINI DA SILVA Introdução Objetivos Fundamentação Teórica Desenvolvimento Conclusão Extensões Prática da programação em uma máquina teórica utilizando duas linguagens distintas MVR: estrutura monolítica Baseado no ambiente de Oliver (2004) MVR utiliza a Linguagem Intermediária Rotulada (LIR) Disponibilizar uma linguagem de alto nível (LAN) Disponibilizar uma linguagem iterativa (LIT) Compilar ambas as linguagens e gerar código para a MVR COMPILADORES MÁQUINAS ◦ MVR LIR para MVR PROGRAMAS ◦ Iterativos ◦ Monolíticos Ambiente para auxiliar o desenvolvimento de programas monolíticos Construção de programas recursivos Requisitos Especificação Implementação Operacionalidade Requisitos ◦ Requisitos funcionais Possuir um editor para escrita de programas em LAN e LIT Analisar e compilar os programas escritos e exibir erros se houverem Converter os programas escritos em LAN e LIT para um programa monolítico descrito na forma de LIR Exibir o resultado do programa na linguagem objeto LIR Salvar o código objeto LIR em arquivo de formato compatível com o ambiente desenvolvido por Silva (2004) Requisitos ◦ Requisitos não funcionais Ser implementado utilizando a linguagem de programação Java Ser implementado utilizando o ambiente Eclipse Ferramentas utilizadas ◦ GALS (gramática em notação BNF) ◦ Enterprise Architect Artefatos gerados ◦ ◦ ◦ ◦ Diagramas Diagramas Diagramas Diagramas de de de de casos de uso pacotes classes sequência Exemplo de programa Exemplos de programas Casos de uso Diagrama de pacotes Diagramas de classes Diagramas de classes Diagramas de sequência Ferramentas utilizadas ◦ Eclipse ◦ GALS Recursos e técnicas utilizadas ◦ MVC ◦ SWING Classe Tela: instância de ControleIterativo e ControleAltoNivel Classes de controle: instância de SemanticoIterativo e SemanticoAltoNivel Classes de semântica: ações semântica e geração de código objeto Pilhas de elementos (identificadores/registradores) LIT > geração de tabela intermediária nas ações semânticas > tradução > LIR LAN > tradução nas ações semânticas > LIR O desenvolvedor seleciona uma linguagem fonte para escrever seu programa O desenvolvedor codifica seu programa e aciona o botão Gerar código O ambiente gerador de código efetua a tradução do programa para LIR O ambiente exibe em sua console o estado da geração de código O ambiente salva o código objeto para executar na MVR Comprova-se a funcionalidade da MVR e sua utilização com mais de uma linguagem fonte Facilita a prática e didática da demonstração de programas iterativos e monolíticos Ainda trabalha apenas com números naturais, como a MVR Gera código totalmente compatível com a MVR Objetivos atingidos Criada representação iterativa em forma de tabela Auxílio nos estudos de programas iterativos e monolíticos Limitação de suportar apenas números naturais Criar mais operações para a LIT e LAN Implementar módulo de visualização passo a passo de conversão para LIR Converter LAN para a tabela intermediária Converter o ambiente de Oliver para Java >> Demonstração da aplicação.