|
Poseidon for UMLTM UMLdoc
|
|
plp.functional1.expression
Class Aplicacao
- public class Aplicacao
- Classe que modela uma aplicação de funcao.
 | Constructor Summary |
|
public
|
Aplicacao(
Id f
,
List expressoes
)
|
 | Association Detail |
|
func
private
Id func
argsExpressao
private
List argsExpressao
 | Constructor Detail |
|
Aplicacao
public
Aplicacao
Aplicacao(
Id f
,
List expressoes
)
 | Method Detail |
|
avaliar
public
Valor
avaliar(
AmbienteExecucao ambiente
)
Avalia a aplicao de função. Retorna o valor da expressao associada a esta funcao
com as variveis instanciadas com os valores passados na sua chamada.
- Parameters:
-
ambiente
- ambiente de execucao
- Returns:
-
valor resultante da aplicacao da funcao aos valores passados
- Throws:
-
VariavelNaoDeclaradaException
-
-
VariavelJaDeclaradaException
-
getArgsExpressao
public
List
getArgsExpressao()
Retorna a lista de expressões associadas.
- Returns:
-
ListaExpressao
getFunc
public
Id
getFunc()
Retorna o identificador da função.
- Returns:
-
Id
includeValueBindings
private
void
includeValueBindings(
AmbienteExecucao ambiente
,
Map mapIdValor
)
inferirTipo
public
Tipo
inferirTipo(
AmbienteCompilacao ambiente
,
Substituicao phi
)
Verifica o tipo de uma aplicacao de funcao. Verifica incrementalmente os
tipos de cada um dos identificadores (f a b c ... n) e em seguida verifica se
o tipo do aplicador unifica com o tipo inferido para ele.
- Parameters:
-
ambiente
- ambiente que contem os mapeamentos de identificadores e tipos
-
phi
- substituicao acumulada
caso a expressao nao esteja corretamente tipada
- Returns:
-
tipo da expressao
- Throws:
-
ErroTipoException
-
resolveParametersBindings
private
Map
resolveParametersBindings(
AmbienteExecucao ambiente
,
ValorFuncao funcao
)
toString
public
String
toString()
Retorna uma representacao String desta expressao. Util para depuracao.
- Returns:
-
uma representacao String desta expressao.
Created 2003 - 7 - 22
|
Poseidon for UMLTM UMLdoc
|
|
Generated with Poseidon for UMLTM.
Poseidon is a registered trademark of Gentleware AG in Germany, USA and other countries.
Copyright 2001 Gentleware AG, Vogt-Kölln-Str.30, 22527 Hamburg, Germany. All Rights Reserved.
UML is a trademark or registered trademark of Object Management Group, Inc. in the U.S. and other countries.