P r é s e n t a t i o n
C O M P I L - Z
Compilateur visible
Version Windows 32 et 64 bits
Conçu et réalisé par Pr D.E ZEGOUR
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)
M E N U S
COMPIL-Z offre plusieurs fonctionnalités
- le processus de compilation
- l'analyse lexicale
- l'analyse syntaxique
- l'analyse sémantique
- l'interprétation
Pour chaque étape, une aide supplémentaire est fournie pour donne un rappel sur
le travail de l'analyseur en cours. Cette aide montre également un fragment du
source de notre compilateur.
T R A I T E M E N T
COMPIL-Z offre les services suivants
- Un EDITEUR 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 mot-clés 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 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 Z.
Langage Z
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
COMPIL-Z est bourré de documentation.On y trouvera
- le langage Z
- la grammaire de Z sous forme BNF
- le rôle d'un compilateur
- le fonctionnement des analyseurs lexicaux, syntaxiques et sémantiques.
- le fonctionnement d'un interpréteur.
- etc..
N.B
Nous serons très ravis de recevoir toutes les suggestions et critiques nous
permettront d'améliorer les prochaines versions de ce produit.
P u b
1. KHAWARZM I
KHAWARZM existe aussi pour le niveau 1 "Initiation à l'algorithmique" dont les
objectifs sont les suivants :
- concepts de base de l'algorithmique,
- familiarisation avec un langage algorithmique,
- expérimentation sur les machines de Turing,
- initiations aux structures élémentaires de données ( tableaux, structures et
listes linéaires chaŒnées).
- initiation aux fichiers et aux structures simples de fichiers.
2. KHAWARIZM II
KHAWARZM existe aussi pour le niveau 2 "Apprendre et Approfondir les principales
s t r u c t u r e s d e d o n n é e s e t d e f i c h i e r s"
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
den'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.
3. 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.
Auteur
Dr. D.E Z E G O U R
ESI, Alger
Zegour.esi.dz
d_zegour@esi.dz