Title: Q10 - Table de symboles

Donner l'état de la table de symboles au point d'observation ①, lors de la compilation du programme p 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

programme p :

const m=10;
var ent x, y;

proc p1 fixe (ent x) mod (bool b)
var ent i ; ① -----------------------------→ contenu de tabSymb ici
debut
lire(i);
b:=i=x;
fin

debut
(...)
fin

- Rappel des catégories : CONSTANTE, VARGLOBALE, VARLOCALE, PARAMFIXE, PARAMMOD, PROC, DEF, REF, PRIVEE ;
- Rappel des types : ENT, BOOL, NEUTRE.
Feedback: tabSymb au point ① it, bc | code | catégorie | type | info 1 | @m | CONSTANTE | ENT | 10 2 | @x | VARGLOBALE | ENT | 0 3 | @y | VARGLOBALE | ENT | 1 4 | @p1 | PROC | NEUTRE | 4 5 | -1 | PRIVEE | NEUTRE | 2 bc= 6 | @x | PARAMFIXE | ENT | 0 7 | @b | PARAMMOD | BOOL | 1 8 | @i | VARLOCALE | ENT | 4

Donner l'état de la table de symboles au point d'observation ①, lors de la compilation du programme p 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

programme p :

const b1=vrai;
var bool b2;

proc p1 fixe (ent x) mod (bool b1)
var ent y, z;  ① -----------------------------→ contenu de tabSymb ici
debut
lire(z);
b1:=y=x;
fin

debut
(...)
fin

- Rappel des catégories : CONSTANTE, VARGLOBALE, VARLOCALE, PARAMFIXE, PARAMMOD, PROC, DEF, REF, PRIVEE ;
- Rappel des types : ENT, BOOL, NEUTRE.
Feedback: 8
Feedback: tabSymb au point ① it, bc | code | catégorie | type | info 1 | @b1 | CONSTANTE | BOOL | 1 2 | @b2 | VARGLOBALE | BOOL | 0 3 | @p1 | PROC | NEUTRE | 4 4 | -1 | PRIVEE | NEUTRE | 2 bc= 5 | @x | PARAMFIXE | ENT | 0 6 | @b1 | PARAMMOD | BOOL | 1 7 | @y | VARLOCALE | ENT | 4 8 | @z | VARLOCALE | ENT | 5

Donner l'état de la table de symboles au point d'observation ①, lors de la compilation du programme p 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

programme p :

var ent x; bool b1, b2;

proc p1 fixe (bool b1) mod (bool b3)
var ent x; ① -----------------------------→ contenu de tabSymb ici
debut
lire(x);
b3:=x>0 et b1;
fin

debut
(...)
fin

- Rappel des catégories : CONSTANTE, VARGLOBALE, VARLOCALE, PARAMFIXE, PARAMMOD, PROC, DEF, REF, PRIVEE ;
- Rappel des types : ENT, BOOL, NEUTRE.
Feedback: tabSymb au point ① it, bc | code | catégorie | type | info 1 | @x | VARGLOBALE | ENT | 0 2 | @b1 | VARGLOBALE | BOOL | 1 3 | @b2 | VARGLOBALE | BOOL | 2 4 | @p1 | PROC | NEUTRE | 4 5 | -1 | PRIVEE | NEUTRE | 2 bc= 6 | @b1 | PARAMFIXE | BOOL | 0 7 | @b3 | PARAMMOD | BOOL | 1 8 | @x | VARLOCALE | ENT | 4