Title: Q16 - Table de symboles

Donner le contenu de la table de symboles au point d'observation ①, lors de la compilation du module m ci-dessous.  Soit vous compléterez le tableau proposé, soit vous écrirez une ligne par ligne de tabSymb, chaque élément de ligne sera séparé par un point virgule, par exemple : @i ; VARGLOBALE ; ENT ; 2

module m :
def fois;
ref plus fixe(ent,ent) mod(ent);
var ent i;

proc fois fixe (ent x,y) mod (ent z)

var bool b1, b2;
debut
i:=y;
z:=0;
ttq i>0 faire
plus(z,x)(z);
i:=i-1;
fait
fin ① -----------------------------→ contenu de tabSymb ici

- Rappel des catégories : CONSTANTE, VARGLOBALE, VARLOCALE, PARAMFIXE, PARAMMOD, PROC, DEF, REF, PRIVEE ;
- Rappel des types : ENT, BOOL, NEUTRE.
Feedback: tabSymb en ① | code | catégorie | type | info bc=1 | @plus | PROC | NEUTRE | 0 2 | -1 | REF | NEUTRE | 3 3 | -1 | PARAMFIXE | ENT | 0 4 | -1 | PARAMFIXE | ENT | 1 5 | -1 | PARAMMOD | ENT | 2 6 | @i | VARGLOBALE | ENT | 0 7 | @fois | PROC | NEUTRE | 0 8 | -1 | DEF | NEUTRE | 3 9 | -1 / @x | PARAMFIXE | ENT | 0 10 | -1 / @y | PARAMFIXE | ENT | 1 11 | -1 / @z | PARAMMOD | ENT | 2 12 | @b1 | VARLOCALE | BOOL | 5 13 | @b2 | VARLOCALE | BOOL | 6

Donner le contenu de la table de symboles au point d'observation ①, lors de la compilation du module m ci-dessous.  Soit vous compléterez le tableau proposé, soit vous écrirez une ligne par ligne de tabSymb, chaque élément de ligne sera séparé par un point virgule, par exemple : @i ; VARGLOBALE ; ENT ; 2

module m :
def arrang;
ref facto fixe(ent) mod(ent);
var ent facn, facp;

proc arrang mod (ent arr)
var ent n, p ;
debut
lire( n);
si n>0 alors
lire(p);
facto( n)(facn) ;
facto(n-p)(facp) ;
arr := facn div facp;
fsi
fin ① -----------------------------→ contenu de tabSymb ici

- Rappel des catégories : CONSTANTE, VARGLOBALE, VARLOCALE, PARAMFIXE, PARAMMOD, PROC, DEF, REF, PRIVEE ;
- Rappel des types : ENT, BOOL, NEUTRE.
Feedback: tabSymb en ① | code | catégorie | type | info bc=1 | @facto | PROC | NEUTRE | 0 2 | -1 | REF | NEUTRE | 2 3 | -1 | PARAMFIXE | ENT | 0 4 | -1 | PARAMMOD | ENT | 1 5 | @facn | VARGLOBALE | ENT | 0 6 | @facp | VARGLOBALE | ENT | 1 7 | @arrang | PROC | NEUTRE | 0 8 | -1 | DEF | NEUTRE | 1 9 | -1 / @arr | PARAMMOD | ENT | 0 10 | @n | VARLOCALE | ENT | 3 11 | @p | VARLOCALE | ENT | 4