“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 318 — #328
i
i
i
i
i
i
i
i
318
B
• La syntaxe du langage Oz
Cette annexe définit une syntaxe hors-contexte pour le langage Oz. Cela rend la syntaxe
simple et facile à lire. Le désavantage d’une syntaxe hors-contexte est qu’elle ne
contient pas toutes les conditions syntaxiques nécessaires pour les programmes légaux.
Par exemple, prenez l’instruction local X in statement end. L’instruction qui
contient celle-ci doit déclarer tous les identificateurs libres de statement sauf X. Ce
n’est pas une condition hors-contexte.
Cette annexe définit une syntaxe pour un sous-ensemble du langage défini dans [21,
39]. Cette annexe fait quelques changements par rapport à [39] : elle introduit les
constructions imbriquables (« nestable constructs »), les déclarations imbriquables
(« nestable declarations ») et les termes, pour factoriser les parties communes de la
syntaxe des instructions et des expressions ; elle définit des instructions interactives et
des boucles for ; elle omet la traduction vers le langage noyau (qui est donné dans le
corps du livre pour chaque abstraction linguistique) ; et elle fait quelques autres petites
simplifications pour la clarté (mais sans sacrifier la précision).
B.1 LES INSTRUCTIONS INTERACTIVES
Le tableau B.1 donne la syntaxe des instructions interactives. Une instruction interactive est un sur-ensemble d’une instruction ; en plus de toutes les instructions normales, elle peut contenir l’instruction declare. Il faut toujours donner des instructions interactives à l’interface interactive. Tous les identificateurs libres dans une
instruction interactive doivent exister dans l’environnement global ; sinon le système
donne une erreur « variable not introduced » (variable non introduite).
interStmt : := statement
| declare { declPart }+ [ interStmt ]
| declare { declPart }+ in interStmt
Tableau B.1 Les instructions interactives.
B.2 LES INSTRUCTIONS ET LES EXPRESSIONS
Les tableau B.2 donne la syntaxe des instructions et des expressions. La plupart
des constructions du langage peuvent être utilisées comme instruction ou comme
expression. Nous appelons ces constructions imbriquables. Nous écrivons les règles
de grammaire pour définir leur syntaxe une seule fois, à la fois pour l’utilisation en
tant qu’instruction et en tant qu’expression. Le tableau B.3 donne la syntaxe pour
toutes les constructions imbriquables sauf les déclarations. Le tableau B.4 donne
la syntaxe pour les déclarations imbriquables. Les règles de grammaire pour les
constructions et déclarations imbriquables sont des gabarits avec un argument. Le
Précédent

- 333/370

Suivant