[MAC323] Re: Dúvida sobre o compilador (fwd)
- Subject: [MAC323] Re: Dúvida sobre o compilador (fwd)
- From: Leonidas O Brandao <leo@ime.usp.br>
- Date: Tue, 1 Jul 2003 16:53:26 -0300 (EST)
Olá esta foi uma dúvida que respondi sobre o projeto "compilador", acho
que pode ser útil a outro grupo que estiver desenvolvendo o mesmo projeto.
[]s
Leônidas
--------------------------------------------------------------------------
Leônidas de Oliveira Brandão - Computer Science Dep. of IME-USP (Brazil)
leo@ime.usp.br - http://www.ime.usp.br/~leo - +55 (011) 3091 [6298 | 6135]
Interessado em Matemática? Visite o "iMatica": http://www.matematica.br
---------- Forwarded message ----------
Date: Tue, 1 Jul 2003 15:32:28 -0300 (EST)
Subject: Re: Dúvida sobre o compilador
Olá
> Olá, estávamos analisando o seu exemplo do compilador, e não
> conseguimos entender muitas coisas, por exemplo:
>
> * private static void empilhaU(boolean b) {
> pilha_unario.push(new Boolean(true)); //
> }
> Por que sempre é empilhado true?
Erro de codificação, este método (como está) é inútil!! Veja q/ ele só é
chamada uma vez e com "empilhaU(true)" em Codigos.java.
> * public static String T1() {
> empilhaU(true); //unario = true;
> return null;
> }
>
> Pq esse método não faz parte do E?
Ele não está sendo usado, é o início para geração de códigos. Comentei
isso em sala, no desenho do diagrama sintático eu anotei "T1" (e
parei) para indicar um processamento p/ preparar a geração de código de um
identificador. Sugiro que sigam este padrão, definam a partir do desenho e
só depois implementem.
> * Sobre variáveis: elas devem ser declaradas antes de serem usadas?
> Que tipos de variáveis existem (int, char...)?
Sim, só estes 2 tipos é suficiente dada a simplificação que fiz. Daria p/
tentarmos tratar "float" e assemelhados, mas melhor não fazer agora...