COMPIL Z Pr ZEGOUR DJAMEL EDDINE Ecole Suprieure

  • Slides: 7
Download presentation
COMPIL Z Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) http: //zegour. esi. dz/

COMPIL 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

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

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

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 UNE LISTE ; V , I DES

Exemple 1 de programme Z SOIT L UNE LISTE ; V , I DES ENTIERS ; Tete , P , Q DES POINTEURS VERS DES LISTES ; 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

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 ;

Exemple 3 de programme Z SOIT Mc UNE MACHINE_CAR ; I UN ENTIER ; Compte UN ENTIER ; C UN CAR ; DEBUT CREER_MCAR ( Mc , [ 'fsfgs ssjs sskjs mk' ] ) ; Compte : = 0 ; POUR I : = 1 , NBRCAR ( Mc ) : LIRECAR ( Mc , C ) ; SI C = ' ' : Compte : = Compte + 1 FSI FPOUR ; ECRIRE ( Compte ) FIN