plp.orientadaObjetos1.expressao.unaria
Class ExpNot

java.lang.Object
  extended by plp.orientadaObjetos1.expressao.unaria.ExpUnaria
      extended by plp.orientadaObjetos1.expressao.unaria.ExpNot
All Implemented Interfaces:
Expressao

public class ExpNot
extends ExpUnaria

Um objeto desta classe representa uma expressao de Negacao logica.


Constructor Summary
ExpNot(Expressao expressao)
          Controi uma expressao de negacao logica com expressao especificada.
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Retorna o valor da expressao de negacao logica.
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta expressao.
 Tipo getTipo(AmbienteCompilacao ambiente)
          Retorna os tipos possiveis desta expressao.
private  ValorBooleano obterValorInverso(AmbienteExecucao ambiente)
          Retorna o valor inverso de uma expressão booleana
 
Methods inherited from class plp.orientadaObjetos1.expressao.unaria.ExpUnaria
getExp, getOperador
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpNot

public ExpNot(Expressao expressao)
Controi uma expressao de negacao logica com expressao especificada.

Parameters:
exp - expressao a ser negada. Assume-se que sua avaliacao resulta em ValorBooleano.
Method Detail

avaliar

public Valor avaliar(AmbienteExecucao ambiente)
              throws VariavelJaDeclaradaException,
                     VariavelNaoDeclaradaException,
                     ObjetoNaoDeclaradoException,
                     ClasseNaoDeclaradaException
Retorna o valor da expressao de negacao logica.

Parameters:
ambiente - o ambiente de execução.
Returns:
o valor da expressao avaliada.
Throws:
VariavelNaoDeclaradaException - se a variável não está declarada no ambiente.
ClasseNaoDeclaradaException - TODO
VariavelJaDeclaradaException
ObjetoNaoDeclaradoException

checaTipo

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

Specified by:
checaTipo in interface Expressao
Overrides:
checaTipo in class ExpUnaria
Parameters:
ambiente - o ambiente de compilação.
Returns:
true se os tipos da expressao são válidos; false caso contrario.
Throws:
VariavelNaoDeclaradaException - se existir um identificador nao declarado no ambiente.
VariavelNaoDeclaradaException - se existir um identificador declarado mais de uma vez no mesmo bloco do ambiente.
ClasseNaoDeclaradaException

getTipo

public Tipo getTipo(AmbienteCompilacao ambiente)
Retorna os tipos possiveis desta expressao.

Parameters:
ambiente - o ambiente de compilação.
Returns:
os tipos possiveis desta expressao.

obterValorInverso

private ValorBooleano obterValorInverso(AmbienteExecucao ambiente)
                                 throws VariavelJaDeclaradaException,
                                        VariavelNaoDeclaradaException,
                                        ObjetoNaoDeclaradoException,
                                        ClasseNaoDeclaradaException
Retorna o valor inverso de uma expressão booleana

Parameters:
ambiente - é o Ambiente de Execução
Returns:
o valor inverso da expressão booleana
Throws:
ClasseNaoDeclaradaException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ObjetoNaoDeclaradoException