plp.orientadaAspectos1.expressao.binaria
Class ExpBinaria

java.lang.Object
  extended by plp.orientadaAspectos1.expressao.binaria.ExpBinaria
All Implemented Interfaces:
Expressao
Direct Known Subclasses:
ExpAnd, ExpConcat, ExpEquals, ExpOr, ExpSoma, ExpSub

public abstract class ExpBinaria
extends java.lang.Object
implements Expressao

Uma expressao binaria contem duas expressoes e um operador. Ha uma ordem definida entre estas sub-expressoes


Constructor Summary
ExpBinaria(Expressao esq, Expressao dir, java.lang.String operador)
          Construtor da classe.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta expressao.
 Expressao getDir()
          Retorna a expressao da direita
 Expressao getEsq()
          Retorna a expressao da esquerda
 java.lang.String getOperador()
          Retorna o operador desta expressao binaria
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface plp.orientadaAspectos1.expressao.Expressao
avaliar, getTipo
 

Constructor Detail

ExpBinaria

public ExpBinaria(Expressao esq,
                  Expressao dir,
                  java.lang.String operador)
Construtor da classe.

Parameters:
esq - a expressao da esquerda.
esq - a expressao da direita.
operador - o operador desta expressao binaria.
Method Detail

getEsq

public Expressao getEsq()
Retorna a expressao da esquerda

Returns:
a expressao da esquerda

getDir

public Expressao getDir()
Retorna a expressao da direita

Returns:
a expressao da direita

getOperador

public java.lang.String getOperador()
Retorna o operador desta expressao binaria

Returns:
o operador desta expressao binaria

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         ClasseNaoDeclaradaException
Realiza a verificacao de tipos desta expressao.

Specified by:
checaTipo in interface Expressao
Parameters:
ambiente - o ambiente de compilação.
Returns:
true se os tipos da expressao são válidos; false caso contrario.
Throws:
VariavelJaDeclaradaException - se a variável já está declarada no ambiente
VariavelNaoDeclaradaException - se a variável ainda não foi declarada no ambiente.
ClasseNaoDeclaradaException