Une façon de lancer le compilateur:
./runComp ex1.0
Le projet implemente un compilateur qui transforme la langue Myc à Pcode on couvre donc les phases 1 à 9 du sujet (avec l’option booléens paresseux) Pour cela on a utilise trois modules: Le compilateur est organisé en trois modules principaux :
-
var: Gère la déclaration des variables globales et locales, ainsi que des arguments de fonctions.
-
stack: Implémente une pile interne pour :
- la génération des labels de structures de contrôle (
if,while), - la gestion des booléens paresseux (
True_n/False_n/End_n), - le suivi des structures imbriquées (structures de contrôle empilées/dépilées).
- la génération des labels de structures de contrôle (
-
Table_des_symboles: Table des symboles hiérarchique :
- variables globales et locales (avec
depth, type et offset) + fonctions, - nettoyage par bloc (
remove_local_variables) en sortie du block.
- variables globales et locales (avec
- Pour la partie 9, la logique de la _pcode.c produit est correct mais parfoit une duplication (qui n'affect pas le deroulement ou la logique du code Pcode) par exemple
ex8.1.mycou une duplication entre EndFun et End de la fonction return et if - Le code propose L'option
-DDEBUGutilise par nous dans certains situations à fin de mieux comprendre la logique et resoudre des problems