This shows you the differences between two versions of the page.
alf:laboratoare:09 [2021/05/09 09:52] diana.ghindaoanu |
alf:laboratoare:09 [2022/05/10 00:19] (current) diana.ghindaoanu [Exercises] |
||
---|---|---|---|
Line 185: | Line 185: | ||
- Dans un fichier **ex1.txt** écrivez le //three address code// avec une **pile** pour les expressions suivantes (**1p**) | - Dans un fichier **ex1.txt** écrivez le //three address code// avec une **pile** pour les expressions suivantes (**1p**) | ||
- | * 3-5/(4+8) | + | * (5-3)*7+2+4 |
- | * a = 2*7/(2-3) | + | * a = (5-3)*7+2+4 |
- | * e = (b+5)/(7-a) | + | * e = (a+5)/(a-2) |
- Dans un fichier **ex2.txt** écrivez le //three address code// avec une **pile** pour le programme suivant (**1p**) <code javascript> | - Dans un fichier **ex2.txt** écrivez le //three address code// avec une **pile** pour le programme suivant (**1p**) <code javascript> | ||
- | if (a == 0) | + | if (a > 0) |
{ | { | ||
- | result = 'null'; | + | result = 'positive'; |
} | } | ||
else | else | ||
{ | { | ||
- | result = 'not null'; | + | result = 'negative'; |
} | } | ||
</code> | </code> | ||
- Dans un fichier **ex3.txt** écrivez le //three address code// avec une **pile** pour le programme suivant (**1p**) <code javascript> | - Dans un fichier **ex3.txt** écrivez le //three address code// avec une **pile** pour le programme suivant (**1p**) <code javascript> | ||
- | function power (base, exp) | + | function double (nr) |
{ | { | ||
- | return base ^ exp; | + | return nr*2; |
} | } | ||
- | + | ||
- | power (4/2, 5); | + | double (7/2); |
</code> | </code> | ||
- Téléchargez [[https://github.com/UPB-FILS-ALF/TP/tree/main/TP9|la structure]] du TP. Exécutez le parser du laboratoire et écrivez un programme qui écrit le three address code pour les noeuds //Expression// avec une pile (**2p**) | - Téléchargez [[https://github.com/UPB-FILS-ALF/TP/tree/main/TP9|la structure]] du TP. Exécutez le parser du laboratoire et écrivez un programme qui écrit le three address code pour les noeuds //Expression// avec une pile (**2p**) |