|
classe ® |
class ident ``{'' decls methmain ``}'' |
classe($2,$4,$5) |
|
ident ® |
identificateur |
ident($1) |
|
decls ® |
decl ``;'' decls | vide |
decls($1,$2) | vnil |
|
decl ® |
typemeth ident ``['' exp ``]'' | |
tableau($1,$2,$4) |
|
|
typemeth ident vexp | |
var($1,$2,$3) |
|
|
typemeth ident ``('' entetes ``)'' ``{'' vars instrs ``}'' | |
methode($1,$2,$4,$7,$8) |
|
|
final type ident vexp |
cst($2,$3$4) |
|
vars ® |
var ``;'' vars | vide |
vars($1,$3) | vnil |
|
var ® |
typemeth ident ``['' exp ``]'' | |
tableau($1,$2,$4) |
|
|
typemeth ident vexp | |
var($1,$2,$3) |
|
|
final type ident vexp |
cst($2,$3$4) |
|
vexp ® |
``='' exp | vide |
$2 | omega |
|
methmain ® |
main ``{'' vars instrs ``}'' |
main($4,$5) |
|
entetes ® |
entete (``,'' entetes | |
entetes($1,$3) |
|
|
enil) | |
entetes($1,enil) |
|
|
vide |
enil |
|
entete ® |
type ident |
entete($1,$2) |
|
instrs ® |
instr ``;'' instrs | vide |
instrs($1,$3) | inil |
|
instr ® |
ident ``['' exp ``]'' ``='' exp | |
affectation(tab($1,$3),$6) |
|
|
ident ``='' exp | |
affectation($1,$3) |
|
|
ident ``['' exp ``]'' ``+='' exp | |
somme(tab($1,$3),$6) |
|
|
ident ``+='' exp | |
somme($1,$3) |
|
|
ident ``['' exp ``]'' ``++'' | |
increment(tab($1,$3)) |
|
|
ident ``++'' | |
increment($1) |
|
|
ident ``('' listexp ``)'' | |
appelI($1,$3) |
|
|
return exp | |
retour($2) |
|
|
if exp ``{'' instrs ``}'' | |
si($2,$4,inil) |
|
|
if exp ``{'' instrs ``}'' else ``{'' instrs ``}'' | |
si($2,$4,$8) |
|
|
while exp ``{'' instrs ``}'' |
tantque($2,$4) |
|
listexp ® |
exp (``,'' listexp | |
listexp($1,$3) |
|
|
| exnil) | |
listexp($1,exnil) |
|
|
vide |
exnil |
|
exp ® |
``!'' exp1 ``&&'' exp1 | |
et(non($2),$4) |
|
|
``!'' exp1 ``||'' exp1 | |
ou(non($2),$4) |
|
|
``-'' exp1 ``&&'' exp1 | |
et(moins($2),$4) |
|
|
``-'' exp1 ``||'' exp1 | |
ou(moins($2),$4) |
|
|
exp1 ``&&'' exp1 | |
et($1,$3) |
|
|
exp1 ``||'' exp1 | |
ou($1,$3) |
|
exp1 ® |
exp2 ``=='' exp2 | |
egal($1,$3) |
|
|
exp2 ``>'' exp2 | exp2 |
pgq($1,$3) | $1 |
|
exp2 ® |
terme ``+'' terme | |
plus($1,$3) |
|
|
terme ``-'' terme | terme |
soustrac($1,$3) | $1 |
|
terme ® |
terme ``*'' fact | |
multi($1,$3) |
|
|
terme ``/'' fact | fact |
div($1,$3) | $1 |
|
fact ® |
ident ``('' listexp ``)''| |
appelE($1,$2) |
|
|
ident ``['' exp ``]'' | ident | |
tab($1,$2) | $1 |
|
|
true | false | |
vrai | faux |
|
|
nombre | ``('' exp ``)'' |
nbre($1) | $2 |
|
ident1 ® |
ident | ident ``['' exp ``]'' |
$1 | tab($1,$3) |
|
typemeth ® |
void | type |
rien | $1 |
|
type ® |
int | boolean |
entier | booleen |
|
|