COMPIL - Z   ( Version Lazarus )
C O M P I L A T E U R  visible

( développé sous Windows (32b et 64b)  )


Conçu et réalisé par 

Pr. D.E ZEGOUR

 

Tous droits réservés. Il est formellement interdit de commercialiser  ce logiciel  sans l'autorisation préalable de l'auteur.

 

 Présentation  Objectifs  Menus    Traitement   Langage Z    Documentation       Pub    Auteur

T.jpg (1041 octets) Nous serons très ravis de recevoir toutes les suggestions et critiques qui nous permettront d'améliorer les prochaines versions de ce produit

  Manuel de référence du langage z       Exposé    

Téléchargement du logiciel  :

Version Windows 64b

    P R E S E N T A T I O N  Menu

Bullet92.gif (1007 octets) COMPIL-Z est un outil dont le rôle est de dévoiler le fonctionnement interne des compilateurs.

Bullet92.gif (1007 octets) 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)

  O B J E C T I F S  Menu

Bullet92.gif (1007 octets) COMPIL - Z  vise l'apprentissage des notions de base de la compilation.

 

   M E N U S  Menu

Bullet92.gif (1007 octets) COMPIL-Z fonctionne sous un système multifenêtrage.

Bullet92.gif (1007 octets) COMPIL-Z offre plusieurs classes de fenêtres montrant :

- le processus de compilation
- l'analyse lexicale
- l'analyse syntaxique
- l'analyse sémantique
- l'interprétation


Pour chaque étape, une fenêtre supplémentaire donne un rappel sur le travail de l'analyseur en cours. Cette fenêtre montre également un fragment du source de notre compilateur.


A tout moment dans COMPIL-Z, vous pouvez invoquer l'aide ( F1 ) ou actionner les opérations (F10)

   T R A I T E M E N T  Menu

Bullet92.gif (1007 octets) COMPIL-Z offre les services suivants

- Un éDITEUR pour écrire vos algorithmes fournissant toute la documentation sur le langage Z. Outre les fonctions d'un éditeur, vous y trouverez un INDENTEUR pour arranger vos algorithmes dont les principales fonctions sont les suivantes :

. chaque instruction est écrite sur une ligne différente,
. les mots-clé sont réécrits en majuscule (ou minuscule sur "Option")
. le premier caractères de tout identificateur est réécrit en majuscule,
. les structures de contrôle sont mises en relief,
. les instructions de même niveau commencent sur la même colonne selon un pas donné.

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

- Un ANALYSEUR SéMANTIQUE montrant la forme interne produite (quadruplés) et toutes les tables qui lui gravitent autour.

- Un INTERPRéTEUR 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 Z.

  L A N G A G E   Z  Menu

Bullet92.gif (1007 octets)Dans COMPIL-Z, Les algorithmes sont exprimés dans un prototype de langage algorithmique, baptisé Z.

Z est un langage simple conçu spécialement pour l'initiation à l'algorithmique et aux concepts élémentaires de la programmation.  Il est limité aux structures élémentaires de données : Tableaux, Structures, Listes linéaires chaînées. Il inclue également les opérations sur les fichiers.

  D O C U M E N T A T I O N  Menu

Bullet92.gif (1007 octets) COMPIL-Z est bourré de documentation.
On y trouvera
- le langage Z
- la grammaire de Z sous forme BNF  ( BacKus Normal Form )
- le rôle d'un compilateur
- le fonctionnement des analyseurs  [ lexical, syntaxique et sémantique ]
- le fonctionnement d'un interpréteur.
- etc..

  P U B   Menu

Les autres logiciels de la même série ( Versions Lazaus)

Bullet92.gif (1007 octets) 1. KHAWARIZM I
KHAWARZM existe aussi pour le niveau 1 :

"Initiation à l'algorithmique" dont les objectifs principaux sont les suivants :
    - concepts de base de l'algorithmique,
    - familiarisation avec un langage algorithmique,
    - expérimentation sur les machines de Turing,
    - initiation aux structures élémentaires de données ( tableaux et listes linéaires chaînées ).
    - initiation aux fichiers et aux structures de fichiers.


Bullet92.gif (1007 octets) 2.  KHAWARIZM II

KHAWARZM existe aussi pour le niveau 2 "Apprendre et Approfondir les principales   structures de données et  de fichiers" dont les objectifs sont les suivants :
- Apprendre les principales structures de données en manipulant des piles, des files d'attente, des listes simples et bidirectionnelles, des vecteurs de n'importe quelle dimension, des arbres de recherches binaire et des arbres de recherche m-aire.

- Approfondir les structures de données en manipulant des structures de données complexes telles que des piles de files d'attente, des listes d'arbres de recherche binaires, des listes de vecteurs de piles, etc...

- Apprendre et approfondir aussi bien les structures simples de fichiers que les structures les plus complexes.

Bullet92.gif (1007 octets) 3. KHAWARIZM II +

C'est Khawarizm II avec la traduction automatique vers les langages Pascal et C.


Bullet92.gif (1007 octets) 4.
GRAPHE-Z

GRAPHE-Z est un environnement pour développer des programmes sur les graphes indépendamment
de leur représentation mémoire.

GRAPHE - Z offre la possibilité d'écrire des algorithmes dans un langage algorithmique spécialisé "GRAPHELANG", de les arranger, de les dérouler ou les simuler et de fournir toute la documentation nécessaire pour les traduire vers les langages de programmation PASCAL et C.

La particularité de GRAPHELANG réside dans le fait de pouvoir écrire des algorithmes sur des machines abstraites simulant les graphes et certaines structures de données indispensables pour l'élaboration des algorithmes sur les graphes.

  A U T E U R  Menu

/ Pr D.E Z E G O U R /

Ecole Supérieure d'Informatique
Oued Smar, ALGER
Email : [email protected]