Skip to content

selyaktini/projet_compilation

Repository files navigation

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).
  • 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.

Remarque

  • 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.myc ou une duplication entre EndFun et End de la fonction return et if
  • Le code propose L'option -DDEBUG utilise par nous dans certains situations à fin de mieux comprendre la logique et resoudre des problems

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors