if...else... et les boucles while.
Le compilateur que nous allons écrire engendrera du p-code, pouvant
être exécuté à travers une machine virtuelle.
Étude de programme
Téléchargez les fichiers suivants :
td6.lex, td6.y, td6-test, makefile
Compilez puis exécutez la commande suivante :
td6 td6-test
if sont-elles gérées dans ce code?
Structures conditionnelles
Modifiez les programmes flex et bison de façon à autoriser
le else optionnel. Comme en C, vous devrez rattacher un else au if le plus
proche. Pour cela, vous utiliserez la commande %prec qui permet
d'attribuer à une règle une priorité correpondant à un autre opérateur.
Blocs et stockage d'une valeur
Modifiez les programmes flex et bison de façon
à autoriser :
$ qu'on pourra accéder en
lecture et en écriture grâce à une instruction de la forme $ = val;.
Boucles while
Modifiez les programmes flex et bison de façon à pouvoir utiliser des
boucles while.
Boucles while
Modifiez les programmes flex et bison de façon
à pouvoir gérer séparément des expressions numériques et des
expressions booléennes (seules les expressions numériques pouvant être
sauvegardées dans $). Gérez les différents opérateurs
arithmétiques et de comparaison.