|
Poseidon for UMLTM UMLdoc
|
|
plp.functional2.expression
Class Aplicacao
- public class Aplicacao
- Classe que modela uma aplicação de funcao. Agora é possível criar funções de
alta ordem, já que o nome da funçao tambem é uma expressão na LF2.
 | Association Detail |
|
func
private
Expressao func
 | Constructor Detail |
|
Aplicacao
public
Aplicacao
Aplicacao(
Expressao f
,
List expressoes
)
 | Method Detail |
|
avaliar
public
Valor
avaliar(
AmbienteExecucao ambiente
)
Avalia a aplicao de função.
- 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 expressões associadas.
- Returns:
-
ListaExpressao
getFunc
public
Expressao
getFunc()
Retorna o identificador da função, agora uma expressão.
- Returns:
-
expressão que identifica a função.
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.