S o m m a i r e
I. Définition du langage d’expérimentation
II. Compilateur pour le langage Z minimal
III. Extensions du langage Z minimal
I. Définition du langage d’expérimentation
1.1 Description
1.1.1 Généralités
1.1.2 Structure d’un algorithme
1.1.3 Définition d’une action
1.1.4 Définition d’une fonction
1.1.5 Exemple d’un algorithme
1.1.6 Objets
1.1.7 Expressions
1.1.8 Instructions
1.1.9 Machines abstraites
1.1.10 Opérations de haut niveau
1.1.11 Fonctions standards
1.2 Grammaire du langage Z
1.2.1 Conventions
1.2.2 Déclarations
1.2.3 Instructions
1.2.4 Expressions
1.3 Expérimentation
Chapitre 2 : Le langage Z minimal
2.1 Objectif
2.2 Restrictions
2.3 Grammaire
2.4 Compilateur
II. Compilateur pour le langage Z minimal
Chapitre 3 : L’analyse lexicale
3.1 Objectifs
3.2 Conventions du langage
3.3 Les mots clés
3.4 Délimiteurs
3.5 Le module Nextch
3.6 Le module Scan
3.7 Algorithme général de test du Scanner
3.8 Type des erreurs
Chapitre 4 : L’analyse syntaxique
4.1 Objectifs
4.2 Grammaire du langage Z minimal
4.3 Vérification de la propriété LL(1)
4.4 Le module Check
4.5 Forme d’une procédure récursive
4.6 Forme de l’analyseur syntaxique
4.7 Test du parser
Chapitre 5 : Organisation de la mémoire
5.1 Introduction
5.2 Zone de données
5.3 Mode d’allocation
5.4 Attribution des adresses
Chapitre 6 : Tables de compilation
6.1 Introduction
6.2 Table des symboles (TABSYM )
6.3 Table des objets (TABOB)
6.4 Table des constantes (TABCONS)
6.5 Longueur de la zone de données (LONGZDD)
Chapitre 7 : Sémantique des déclarations
7.1 Introduction
7.2 Table des quadruplets (QUADRUPLES)
7.3 Quadruplets
7.4 Le problème
7.5 Syntaxe des déclarations
7.6 Fonctions sémantiques
7.7 Exemple
Chapitre 8 : Sémantique des expressions arithmétiques
8.1 Introduction
8.2 Quadruplets
8.3 Syntaxe des expressions
8.4 Fonctions sémantiques
8.5 Exemple
8.6 Implémentations
Chapitre 9 : Sémantique des instructions
9.1 Introduction
9.2 Table complémentaire (TABCOMP )
9.3 Quadruplets
9.4 Syntaxe des instructions
9.5 Fonctions sémantiques
9.6 Exemple
9.7 Synthèse sur la phase sémantique
Chapitre 10 : Interprétation/Génération de code
10.1 Introduction
10.2 Algorithme
10.3 Environnement d’exécution
10.4 Stratégie d’allocation
10.5 Interprétation des quadruplets
III. Extensions du langage Z minimal
Chapitre 11 : Expressions logiques
11.1 Introduction
11.2 Quadruplets
11.3 Syntaxe
11.4 Fonctions sémantiques
11.5 Exemple
Chapitre 12 : Expressions sur les chaînes de caractères
12.1 Introduction
12.2 Quadruplets
12.3 Syntaxe
12.4 Fonctions sémantiques
12.5 Exemple
Chapitre 13 : Structures de contrôle
13.3 Objectif
13.2 Quadruplets
13.3 Syntaxe
13.4 Fonctions sémantiques
13.4.1 Boucle ‘Tantque’
13.4.2 Exemple ( Boucle ‘Tantque’)
13.4.3 Boucle ‘Pour’
13.4.4 Exemple (Boucle ‘Pour’)
13.4.5 Conditionnelle ‘Si-Sinon’
13.4.6 Exemple (Conditionnelle ‘Si-Sinon’)
Chapitre 14 : Structures simples et tableaux
14.1 Introduction
14.2 Représentation d’un tableau en mémoire
14.3 Représentation d’une structure simple en mémoire
14.4 Rangement d'un tableau à plusieurs dimensions en mémoire
14.5 Adressage des éléments d’un tableau
14.6 Table des types (TABTYP)
14.7 Table des objets (TABOB )
14.8 Quadruplets
14.9 Syntaxe
14.10 Fonctions sémantiques
14.11 Exemple 1
14.12 Exemple 2
14.13 Interprétation
Chapitre 15 : Procédures et fonctions
15.1 Introduction
15.2 Table des procédures (TABPRO)
15.3 Portée des objets
15.4 Organisation de la mémoire à l’exécution
15.5 Quadruplets
15.6 Syntaxe
15.7 Fonctions sémantiques
15.8 Exemple 1 (Actions)
15.9 Exemple 2 (Fonctions)
15.10 Exemple 3 (Variables globales)
15.11 Exemple 4 (Références aux variables globales)
15.12 Interprétation
15.13 Remarques générales
Chapitre 16 : Structures complexes
16.1 Introduction
16.2 Représentation d’une structure complexe en mémoire
16.3 Table des types (TABTYP)16.4 Table des objets : (TABOB )
16.5 Quadruplets
16.6 Syntaxe
16.7 Fonctions sémantiques
16.8 Exemple
16.9 Interprétation
Chapitre 17 : Machines de Turing
17.1 Introduction
17.2 Quadruplets
17.3 Syntaxe
17.4 Fonctions sémantiques
17.5 Exemple 1 (Machine_caractères)
17.6 Exemple 2 (Machine-nombres)
17.7 Interprétation
Chapitre 18 : Listes linéaires chaînées
18.1 Introduction
18.2 Table des types (TABTYP)
18.3 Quadruplets
18.4 Syntaxe
18.5 Fonctions sémantiques
18.6 Exemple1
18.7 Exemple2
18.8 Interprétation
19.1 Introduction
19.2 Table des types (TABTYP)
19.3 Quadruplets
19.4 Syntaxe
19.5 Fonctions sémantiques
19.6 Exemple1
19.7 Exemple2
19.8 Interprétation
Chapitre 20 : Fonctions standards
20.1 Introduction
20.2 Quadruplets
20.3 Syntaxe
20.4 Fonctions sémantiques
20.5 Exemple