package lutin
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=4d07d1263dbc90ab18cbaec55a57dcfe
sha512=2e899aee5e44826827b3626771f7ce01241b1745d48f30b60404cc5cbaa44ac608920e9af3bf171275c429a8b823b3cee7542199b7c4c32919b6bb37e33bf8de
doc/lutin/CoAlgExp/index.html
Module CoAlgExpSource
COMPILATION/EXPANSION : expressions algébriques
------------------------------------------------------------
Représentation des expressions algébriques.
----------------------------------------------------------
C'est la structure utilisée pour toutes les expressions non "trace" (grosso/modo du Lustre !).
La structure est très simple~: on distingue plusieurs cas de feuilles, et un seul cas de noeud (opérateur).
Elle contient, dès la construction, les infos sémantiques associées : type de valeur et "controlabilité".
Rappel~: une alg_exp est contrôlable si et seulement si elle contient au moins une référence à une variable support contrôlable (output ou local).
type node = | AE_true| AE_false| AE_const of string| AE_iconst of string| AE_rconst of string| AE_ival of int| AE_rval of float| AE_support of CoIdent.t| AE_pre of CoIdent.t| AE_alias of CoIdent.t| AE_call of CoIdent.t * t list| AE_external_call of CoIdent.t * CkIdentInfo.extern_info * CkTypeEff.profile * t list
Batterie de "constructeurs"
Réference à une variable du support
Réference au pre d'une variable du support
Référence à un alias
Tout calcul est un appel, prédéfini ou non
val of_external_call :
CoIdent.t ->
CkIdentInfo.extern_info ->
CkTypeEff.profile ->
CkTypeEff.t ->
t list ->
tAffichage prefixé sur os
Affichage infixé (autant que possible) sur os n.b. compatible Lustre/Lucky