Next: Initialisation de l'environnement de
Up: Mini manuel du système
Previous: Mini manuel du système
Nous allons montrer sur l'exemple SIMPROC, comment générer un compilateur avec le système SYNTAX/FNC-2.
SIMPROC possède les caractéristiques suivantes :
- C'est un langage structuré basé sur la notion de bloc.
L'unité de compilation est un bloc. Chaque bloc est composé
d'une liste de déclarations (éventuellement vide) suivie
d'une liste d'instructions (jamais vide). La liste de
déclarations du bloc principal ne doit pas être vide pour
des raisons sémantiques (car les instructions autorisées dans
SIMPROC sont telles qu'elles nécessitent au moins une
variable).
Les règles appliquées sont issues du langage ALGO, ce qui
signifie qu'un identificateur est visible dans la totalité du
bloc où il est déclaré, ainsi que dans les blocs inclus, sauf
s'il est redéclaré dans l'un d'entre eux.
Un identificateur ne peut être déclaré qu'une seule fois à
l'intérieur d'un même bloc.
- SIMPROC possède un unique type, le type entier et un seul
type structuré, le tableau unidimensionnel d'entiers.
L'indice inférieur du tableau est << 1 >>, sa déclaration se
fait en indiquant l'indice supérieur (constante entière
strictement positive), ce qui revient en fait à déclarer son
nombre d'éléments.
Une déclaration implique donc, soit une variable entière,
soit une variable de type tableau d'entiers, soit une
procédure.
- Les variables sont soit simples, soit des tableaux de variables
indexés par une expression entière, soit des paramètres formels.
Chaque utilisation d'identificateur doit être conforme à sa
déclaration.
- Les expressions sont formées de variables, de constantes entières,
d'opérateurs arithmétiques (+, -, *, /) et de parenthèses.
Tous les opérateurs ont la même priorité et sont évalués de
gauche à droite.
- Les instructions valides sont l'affectation d'un entier,
l'appel de procédure et un simple test conditionnel.
Ce dernier consiste en un test d'égalité de deux expressions
entières qui déclenchera l'exécution d'une des deux listes
d'instructions associées (jamais vides).
- SIMPROC possède la notion de procédure. Dans une
déclaration de procédure on spécifie son nom et les noms des
paramètres formels.
Les procédures peuvent être récursives.
Une procédure ne peut avoir que deux paramètres, un d'entrée
et l'autre de sortie. Le premier paramètre formel est
passé par valeur et doit être une expression, tandis que le
second est passé par référence et doit être une variable.
A l'intérieur du corps de la procédure, le premier paramètre
prend la forme d'une variable locale initialisée avec la
valeur de l'expression tandis que toute référence au second
paramètre agit sur une variable externe à la procédure.
Next: Initialisation de l'environnement de
Up: Mini manuel du système
Previous: Mini manuel du système
Web page maintained by Didier Parigot
Tue Aug 18 11:42:13 MET DST 1998