ACADÊMICO: DOUGLAS RUSKOWSKI HAASE ACADÊMICO: DOUGLAS RUSKOWSKI HAASE ACADÊMICO: DOUGLAS RUSKOWSKI HAASE ACADÊMICO: DOUGLAS RUSKOWSKI HAASE
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 LIR para MVR PROGRAMAS ◦ Iterativos ◦ Monolíticos
Ambiente para auxiliar o desenvolvimento de programas monolíticos
Requisitos
Especificação Implementaçã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
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 Ser implementado utilizando a linguagem de programação Java
Ferramentas utilizadas
◦ GALS (gramática em notação BNF)
◦ Enterprise Architect
Artefatos gerados Artefatos gerados
◦ Diagramas de casos de uso
◦ Diagramas de pacotes
◦ Diagramas de classes
Ferramentas utilizadas
◦ Eclipse
◦ GALS
Recursos e técnicas utilizadas
◦ MVC
◦ MVC
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
LIT > geração de tabela intermediária nas ações semânticas > tradução > 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 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