Skip to content
Snippets Groups Projects
idsolve.txt 1.75 KiB
Newer Older

Exemple sans provides
--------------------

Table des symboles de mainPack.
On construit une table string -> info partielle

Si imported, rien de spcial
Pour local, pas grand chose non plus sauf pour les dclarations qui
ont une inflence sur le ref-ckecking, par exemple :
   type enumr = dclaration implicite de constantes (on traite)
   


[A] -> uses inter :
   on renseigne tous les items exports par "inter"

ADD node  preced   -> imported node   inter::preced
ADD const n        -> imported const  inter::n
ADD type  selType  -> imported type   inter::selType

[B] -> body :

	1) type couleurs = enum { bleu, rose, jaune };
   Cas spcial : implique dclation de constantes

ADD type couleurs  -> local type mainPack::couleurs = enum { bleu, rose, jaune };

ADD const bleu     -> local const mainPack::bleu = enumitem mainPack::couleurs 
ADD const rose     -> local const mainPack::rose = enumitem mainPack::couleurs 
ADD const jaune    -> local const mainPack::jaune = enumitem mainPack::couleurs 

   3) type  T = int^N;
   Rien de spcial

ADD type T         -> local type T = int^N; 

	4) const X = N;

ADD const X  -> local const X = N;

	5) const N : int = -2 * inter::n;

ADD const N  -> local const N : int = -2 * inter::n;
 
	6) node preced <+ infos>

ADD node preced  -> local node preced
=>  WARNING SHADOWS imported node   inter::preced


Exemple avec provides :
-----------------------


[A] uses pbool, pint, preal;

type t    -> imported type pbool::t
node fby1 -> imported node pint::fby1
type t    -> imported type pint::
WARNING SHADOWS !!!!
node fby1 -> imported node pint::fby1
WARNING SHADOWS !!!!
type t    -> imported type preal::t
WARNING SHADOWS !!!!
node fby1 -> imported node preal::fby1
WARNING SHADOWS !!!!
 
[B] provides

node preced -> local node