plp.orientadaObjetos1.expressao.unaria
Class ExpMenos

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

public class ExpMenos
extends ExpUnaria

Um objeto desta classe representa uma expressao de menos unario.


Constructor Summary
ExpMenos(Expressao expressao)
          Controi uma expressao de menos unario com expressao especificada
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Retorna o valor da expressao de menos unario.
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta expressao.
 Tipo getTipo(AmbienteCompilacao ambiente)
          Retorna os tipos possiveis desta expressao.
private  ValorInteiro obterValorNegativo(AmbienteExecucao ambiente)
          Retorna o valor negativo de uma expressão
 
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

ExpMenos

public ExpMenos(Expressao expressao)
Controi uma expressao de menos unario com expressao especificada

Parameters:
exp - expressao cuja avaliacao resulta ValorInteiro.
Method Detail

avaliar

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

Parameters:
ambiente - o ambiente de execução.
Returns:
o valor da expressao avaliada.
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 - 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.

obterValorNegativo

private ValorInteiro obterValorNegativo(AmbienteExecucao ambiente)
                                 throws VariavelJaDeclaradaException,
                                        VariavelNaoDeclaradaException,
                                        ObjetoNaoDeclaradoException,
                                        ClasseNaoDeclaradaException
Retorna o valor negativo de uma expressão

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