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

 

Chapitre 1 : Le langage Z

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 

 

Chapitre 19 : Fichiers

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