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).
Batterie de "constructeurs"
Réference à une variable du support
Réference au pre d'une variable du support
Tout calcul est un appel, prédéfini ou non
On donne quand même le and ...
... et le ite i(il faut donner le type)
Sourceval is_controlable : t -> bool Affichage prefixé sur stdout
Affichage infixé (autant que possible) sur os n.b. compatible Lustre/Lucky
Affichage infixé (autant que possible) dans une string n.b. compatible Lustre/Lucky