70 likes | 199 Views
C O M P I L Z. Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) http ://zegour.esi.dz / email: d_zegour@esi.dz. Compil-Z. COMPIL-Z est un outil dont le rôle est de dévoiler le fonctionnement interne des compilateurs. COMPIL-Z offre la possibilité
E N D
C O M P I L Z Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) http://zegour.esi.dz/ email: d_zegour@esi.dz
Compil-Z • COMPIL-Z est un outil dont le rôle est de dévoiler le fonctionnement • interne des compilateurs. • COMPIL-Z offre la possibilité • d ’écrire des algorithmes dans un prototype de langage (Z)couvrant • plusieurs notions et • - de les compiler en passant par toutes les étapes de compilation : • lexique, syntaxe, sémantique, génération de code (ou interprétation)
Compil-Z COMPIL-Z offre les services suivants : • Un EDITEUR pour écrire vos algorithmes fournissant toute la documentation sur le langage Z. • Un INDENTEUR pour arranger vos algorithmes • Un SCANNER donnant comme résultat les unités lexicales produites. • Un ANALYSEUR SYNTAXIQUE montrant comment les règles de grammaire sont appliquées aux différentes lignes de vos algorithmes.
Compil-Z COMPIL-Z offre les services suivants : • Un ANALYSEUR SEMANTIQUE montrant la forme interne produite (quadruplés) et toutes les tables qui lui gravitent autour. • Un INTERPRETEUR montrant le déroulement de l'algorithme découpé en opérations élémentaires. • L'image mémoire est aussi donnée pour voir réellement ce qui se passe à l ’exécution d'un programme. • Un HYPER-TEXTE fournissant toute la documentation sur le langage considéré.
Exemple 1 de programme Z SOIT L UNELISTE ; V , I DESENTIERS ; Tete , P , Q DESPOINTEURSVERSDESLISTES ; DEBUT POUR I := 1 , 4 LIRE ( V ) ; ALLOUER ( P ) ; AFF_VAL ( P , V ) ; AFF_ADR ( P , NIL ) ; SI I = 1 Tete := P SINON AFF_ADR ( Q , P ) FSI ; Q := P FPOUR FIN
Exemple 2 de programme Z SOIT L UNE LISTE DE CHAINE ; P UN POINTEUR VERS UNE LISTE DE CHAINE ; DEBUT CREER_LISTE ( L , [ ‘C , ‘o' , ‘m' , ‘p' , ‘i' , ‘l' ] ) ; P := L ; TQ P <> NIL ECRIRE ( VALEUR ( P ) ) ; P := SUIVANT ( P ) FTQ FIN
Exemple 3 de programme Z SOIT Mc UNE MACHINE_CAR ; I UN ENTIER ; Compte UN ENTIER ; C UN CAR ; DEBUT CREER_MCAR ( Mc , [ 'fsfgsssjssskjsmk' ] ) ; Compte := 0 ; POUR I := 1 , NBRCAR ( Mc ) : LIRECAR ( Mc , C ) ; SI C = ' ' : Compte := Compte+ 1 FSI FPOUR ; ECRIRE ( Compte ) FIN