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.

Testes para o compilador

y.bat

x.bat

degree

 

 

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:

     java Degree 105

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.