A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

GERAÇÃO DE CÓDIGO PARA A MÁQUINA VIRTUAL DE RÓTULOS

Apresentações semelhantes


Apresentação em tema: "GERAÇÃO DE CÓDIGO PARA A MÁQUINA VIRTUAL DE RÓTULOS"— Transcrição da apresentação:

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

14

15

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

27

28

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.


Carregar ppt "GERAÇÃO DE CÓDIGO PARA A MÁQUINA VIRTUAL DE RÓTULOS"

Apresentações semelhantes


Anúncios Google