Deville
Eduardo Gade Gusmão
Felipe Kühner dos Santos
João Rufino Costa Neto
Nelson Gutemberg Rocha
Paulo Ricardo Soares
Recife, 19 de novembro de 2008
Deville
Eduardo Gade Gusmão – egg
Felipe Kühner dos Santos – fkcs
João Rufino Costa Neto – jrcn
Nelson Gutemberg Rocha – ngrs
Paulo Ricardo Soares – prss
Resumo
Este documento apresenta um estudo sobre a especificação da linguagem Deville em termos de sua sintaxe e semântica. Num primeiro momento, será apresentada a estrutura geral da linguagem, bem como os elementos que a compõem; A partir disso, serão mostrados alguns estudos de caso, isto é, pequenos programas que exemplificam o uso das principais entidades da linguagem em questão. Além desse relatório, também faz parte desse projeto um interpretador da linguagem implementado em Haskell, utilizando a ferramenta Hugs.
Sumário
1 – Introdução ....................................................................................................................... 1
2 – Estrutura geral da linguagem Deville ..............................................................................
2.1 – Comandos .........................................................................................................
2.2 – Programa ..........................................................................................................
2.3 – Tipos .................................................................................................................
2.4 – Variáveis ...........................................................................................................
2.5 – Operadores .......................................................................................................
2.6 – Declarações .......................................................................................................
2.7 – Expressões .........................................................................................................
2.8 – Comando de Atribuição .....................................................................................
2.9 – Ponteiros .............................................................................................................
2.10 – Estruturas de Controle ......................................................................................
2.10.1 – Skip ....................................................................................................
2.10.2 – If Then Else ........................................................................................
2.10.3 – Repeat Until .......................................................................................
2.10.4 – While ..................................................................................................
2.10.5 – For .......................................................................................................
2.11 – Procedimento .....................................................................................................
2.12 – Comando de Entrada e Saída .............................................................................
3 – Implementação do Projeto ..................................................................................................
3.1 – Descrição da Sintaxe em Haskell ........................................................................
3.2 – Funções de Validação ..........................................................................................
3.3 – Avaliação de Expressões .....................................................................................
3.4 – Memória e Binding ..............................................................................................
3.4.1 – Pilha de Memória de Variáveis .............................................................
3.4.2 – Pilha de Memória de Procedimentos .....................................................
3.4.3 – Pilha de Binding ....................................................................................
4 – Estudo de Caso ....................................................................................................................
4.1 – Programa I ............................................................................................................
4.1.1 – Código em Alto Nível ...........................................................................
4.1.2 – Código em Deville .................................................................................
4.1.3 – Saída do Console ...................................................................................
4.2 – Programa II ...........................................................................................................
4.2.1 – Código em Alto Nível ...........................................................................
4.2.2 – Código em Deville .................................................................................
4.2.3 – Saída do Console ...................................................................................
4.3 – Programa III .........................................................................................................
4.3.1 – Código em Alto Nível .......................................................................
4.3.2 – Código em Deville ............................................................................
4.3.3 – Saída do Console ..............................................................................
4.4 – Programa IV ....................................................................................................
4.4.1 – Código em Alto Nível ......................................................................
4.4.2 – Código em Deville ............................................................................
4.4.3 – Saída do Console ..............................................................................
4.5 – Programa V .....................................................................................................
4.5.1 – Código em Alto Nível ......................................................................
4.5.2 – Código em Deville ............................................................................
4.5.3 – Saída do Console ..............................................................................
5 – Conclusão .......................................................................................................................
Referências Bibliográficas .................................................................................................... 13
Compartilhe com seus amigos: |