Inheritance diagram for plp.expressions2.expression.Expressao:
Public Member Functions | |
Valor | avaliar (AmbienteExecucao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException |
boolean | checaTipo (AmbienteCompilacao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException |
Tipo | getTipo (AmbienteCompilacao amb) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException |
Definition at line 12 of file Expressao.java.
Valor plp.expressions2.expression.Expressao.avaliar | ( | AmbienteExecucao | amb | ) | throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException |
Avalia a expressao retornando seu Valor.
Implemented in plp.expressions2.expression.ExpAnd, plp.expressions2.expression.ExpConcat, plp.expressions2.expression.ExpDeclaracao, plp.expressions2.expression.ExpEquals, plp.expressions2.expression.ExpLength, plp.expressions2.expression.ExpMenos, plp.expressions2.expression.ExpNot, plp.expressions2.expression.ExpOr, plp.expressions2.expression.ExpSoma, plp.expressions2.expression.ExpSub, plp.expressions2.expression.Id, plp.expressions2.expression.ValorConcreto< T >, plp.functional1.expression.Aplicacao, plp.functional1.expression.ExpDeclaracao, plp.functional1.expression.IfThenElse, plp.functional2.expression.Aplicacao, plp.functional2.expression.ExpDeclaracao, and plp.functional2.expression.ValorFuncao.
Referenced by plp.functional1.expression.IfThenElse.avaliar(), plp.functional2.expression.Aplicacao.avaliar(), plp.functional1.expression.Aplicacao.avaliar(), plp.functional2.expression.ExpDeclaracao.avaliar(), plp.functional1.expression.ExpDeclaracao.avaliar(), plp.expressions2.expression.ExpDeclaracao.avaliar(), plp.imperative1.command.Write.executar(), plp.imperative1.command.While.executar(), plp.imperative1.command.Atribuicao.executar(), plp.imperative1.command.IfThenElse.executar(), plp.functional2.Programa.executar(), plp.functional1.Programa.executar(), plp.expressions2.Programa.executar(), plp.functional2.expression.Aplicacao.resolveParametersBindings(), and plp.functional1.expression.Aplicacao.resolveParametersBindings().
boolean plp.expressions2.expression.Expressao.checaTipo | ( | AmbienteCompilacao | amb | ) | throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException |
Realiza a verificacao de tipos desta expressao.
amb | o ambiente que contem o mapeamento entre identificadores e tipos. |
true
se os tipos da expressao sao validos; false
caso contrario. Implemented in plp.expressions2.expression.ExpBinaria, plp.expressions2.expression.ExpDeclaracao, plp.expressions2.expression.ExpUnaria, plp.expressions2.expression.Id, plp.expressions2.expression.ValorConcreto< T >, plp.functional1.expression.Aplicacao, plp.functional1.expression.ExpDeclaracao, plp.functional1.expression.IfThenElse, plp.functional2.expression.Aplicacao, plp.functional2.expression.ExpDeclaracao, and plp.functional2.expression.ValorFuncao.
Referenced by plp.imperative1.command.Write.checaTipo(), plp.imperative1.command.While.checaTipo(), plp.imperative1.command.Atribuicao.checaTipo(), plp.imperative1.command.IfThenElse.checaTipo(), plp.functional2.expression.ExpDeclaracao.checaTipo(), plp.functional1.expression.ExpDeclaracao.checaTipo(), plp.expressions2.expression.ExpDeclaracao.checaTipo(), plp.functional1.declaration.DecVariavel.checaTipo(), plp.functional2.Programa.checaTipo(), plp.functional1.Programa.checaTipo(), plp.expressions2.Programa.checaTipo(), and plp.expressions2.expression.ExpUnaria.checaTipo().
Tipo plp.expressions2.expression.Expressao.getTipo | ( | AmbienteCompilacao | amb | ) | throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException |
Retorna os tipos possiveis desta expressao.
amb | o ambiente que contem o mapeamento entre identificadores e tipos. |
Implemented in plp.expressions2.expression.ExpAnd, plp.expressions2.expression.ExpConcat, plp.expressions2.expression.ExpDeclaracao, plp.expressions2.expression.ExpEquals, plp.expressions2.expression.ExpLength, plp.expressions2.expression.ExpMenos, plp.expressions2.expression.ExpNot, plp.expressions2.expression.ExpOr, plp.expressions2.expression.ExpSoma, plp.expressions2.expression.ExpSub, plp.expressions2.expression.Id, plp.functional1.expression.Aplicacao, plp.functional1.expression.ExpDeclaracao, plp.functional1.expression.IfThenElse, plp.functional2.expression.Aplicacao, plp.functional2.expression.ExpDeclaracao, and plp.functional2.expression.ValorFuncao.
Referenced by plp.imperative1.command.While.checaTipo(), plp.imperative1.command.Atribuicao.checaTipo(), plp.imperative1.command.IfThenElse.checaTipo(), plp.functional1.expression.IfThenElse.checaTipo(), plp.functional1.util.ValorFuncao.getTipo(), plp.functional1.expression.IfThenElse.getTipo(), plp.functional2.expression.ExpDeclaracao.getTipo(), plp.functional1.expression.ExpDeclaracao.getTipo(), plp.expressions2.expression.ExpDeclaracao.getTipo(), and plp.functional1.declaration.DecVariavel.getTipo().