Material de Aula
Linguagem
Simples: pdf O analisador léxico e sintático de Simples Guia de Correção dos Trabalhos How to Write Unmaintainable Code Tradução
de Simples para C : “Geração e Otimização de
Código Orientado a Objetos”. Pegue também as Figuras 1 e 7
e uma explicação sobre ponteiros para
funções. |
Explicações:
A especificação da Linguagem Simples pode ser obtida em ps ou pdf.
Para fazer os trabalhos, utilize o Guia de Correção dos Trabalhos e o site How to Write Unmaintainable Code.
Disponibilizamos um analisador
sintático de Simples que faz toda a análise sintática e constrói a parte da ASA correspondente às
expressões.
A tradução de Simples para C é
descrita no artigo “Geração e
Otimização de Código Orientado a Objetos”. Este artigo não possui as
figuras 1
e 7, que
podem ser obtidas aqui. Antes de ler este artigo, leia Ponteiros para Funções.
Os testes para os compiladores estão
aqui: 161 testes. Há testes para o analisador léxico, sintático
e semântico. Um teste chamado er-sin04.s contém um erro e testa o analisador
sintático. É o quarto teste deste tipo. Da mesma forma, um teste ok-lex03.s
testa o analisador léxico, não contém um erro (está ok) e é o terceiro teste
deste tipo.
Há um programa que o
auxiliará a fazer o primeiro trabalho. É y.bat.
Ele testa o seu compilador com 105 testes e te informa em quais testes o
compilador falhou. Para utilizá-lo, faça o seguinte: copie y.bat e degree
para o diretório onde estão os 161 testes.
Tenha a certeza de que o seu compilador está em um diretório citado no
classpath. Descomprima degree.zip e execute y.bat. Ele criará arquivos ok-*.txt
e er-*.txt. Agora chame o programa degree da seguinte forma:
Este programa criará um arquivo out.txt. Veja
este arquivo com more:
more out.txt
Em out.txt estarão descritos
os erros do seu compilador.
Naturalmente, assume-se que o seu compilador possa ser
chamado pela linha de comando
java Comp Hello.s
onde Comp é o nome do
compilador. Observe que não pode ser outro nome. Tem que ser Comp.
Dúvidas sobre Orientação a Objetos que inevitavelmente
ocorrerão poderão ser sanadas lendo-se o “manual” Object
Oriented Programming. Este manual não foi corrigido e certamente possui inúmeros
erros. Mas mesmo assim deve ser bastante útil.