Projeto
Visão Geral
- O projeto consiste na implementação de uma extensão de
alguma linguagens de programação do framework visto no curso.
Propostas de Extensão
- Trocar de Eager para Lazy Evaluation na LF2
- Suporte a Tuplas na LF3
- Implementar os comandos break, continue e goto/label na LI2.
- Suporte a declaração de variáveis dentro do bloco de comandos (como
C/C++/Java) na LI2.
- Implementação de passagem de parâmetros in / out / inout em LI2.
- Suporte a Arrays (estilo Pascal) multidimensionais na LI2.
- Suporte a Records (estilo Pascal) multidimensionais na LI2.
- Suporte a Ponteiros (como Pascal) na LI2. Incluir procedimentos associados
(New, Dispose, ...).
- Suporte a Exceções (como Java), mas a uma exceção seria identificada por
uma String na LI2. Incluir suporte a Throws, Throw, Try/Catch/Finally.
- Suporte a procedimentos com parâmetros opcionais na LI2.
- Incluir funções que retornam valores na LI2. Estas funções têm no corpo
comandos (como functions em Pascal) e não expressões. É necessário usar um
comando (return) para retornar o valor ou uma pseudo-variável (result).
- Suporte a procedimentos de alta ordem na LI2.
- Suporte a blocos de declaração com escopo estático na LI2.
- Suporte a remoção dinâmica de objetos na OO1.
- Verificação dinâmica de tipos (como o instanceof de Java) na OO1.
- Suporte a construtores / inicializadores (como em Java) e expressão New
para criação de objetos na OO1.
- Suporte a Mecanismos de visibilidade (private/protected/public) na OO1.
Grupo |
Nome |
Extensão |
1 |
Felipe |
1 |
Roberto |
2 |
Christiano |
2 |
Luiz |
3 |
Janisson |
9 |
Fernando |
4 |
Fernanda |
5 |
Leonardo |