Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouFernando Campelo Azeredo Alterado mais de 6 anos atrás
1
GERAÇÃO DE CÓDIGO PARA A MÁQUINA VIRTUAL DE RÓTULOS
ACADÊMICO: DOUGLAS RUSKOWSKI HAASE ORIENTADOR: JOSÉ ROQUE VOLTOLINI DA SILVA
2
Roteiro Introdução Objetivos Fundamentação Teórica Desenvolvimento
Conclusão Extensões
3
Introdução 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)
4
Objetivos Disponibilizar uma linguagem de alto nível (LAN)
Disponibilizar uma linguagem iterativa (LIT) Compilar ambas as linguagens e gerar código para a MVR
5
Fundamentação teórica - Conceitos
COMPILADORES MÁQUINAS MVR LIR para MVR PROGRAMAS Iterativos Monolíticos
6
Fundamentação Teórica – LIR para MVR
7
Fundamentação teórica – trabalhos correlatos
Ambiente para auxiliar o desenvolvimento de programas monolíticos
8
Fundamentação teórica – trabalhos correlatos
Construção de programas recursivos
9
Desenvolvimento Requisitos Especificação Implementação
Operacionalidade
10
Desenvolvimento 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)
11
Desenvolvimento Requisitos Requisitos não funcionais
Ser implementado utilizando a linguagem de programação Java Ser implementado utilizando o ambiente Eclipse
12
Especificação Ferramentas utilizadas Artefatos gerados
GALS (gramática em notação BNF) Enterprise Architect Artefatos gerados Diagramas de casos de uso Diagramas de pacotes Diagramas de classes Diagramas de sequência
13
Especificação - LIT
16
Especificação – LIT (BNF)
17
Especificação – LIT Exemplo de programa
18
Especificação LAN – (BNF)
19
Especificação LAN – (BNF)
Exemplos de programas
20
Especificação Casos de uso
21
Especificação Diagrama de pacotes
22
Especificação Diagramas de classes
23
Especificação Diagramas de classes
24
Especificação
25
Especificação
26
Especificação Diagramas de sequência
29
Implementação Ferramentas utilizadas Recursos e técnicas utilizadas
Eclipse GALS Recursos e técnicas utilizadas MVC SWING
30
Implementação 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)
31
Implementação LIT > geração de tabela intermediária nas ações semânticas > tradução > LIR LAN > tradução nas ações semânticas > LIR
32
Operacionalidade 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
33
Operacionalidade
34
Resultados e Discussão
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
35
Conclusões 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
36
Extensões 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
37
>> Demonstração da aplicação.
Obrigado! >> Demonstração da aplicação.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.