“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 322 — #332
i
i
i
i
i
i
i
i
322
B
• La syntaxe du langage Oz
un opérateur n-aire mixfixé. Le symbole « . := » est un opérateur ternaire infixé qui
est expliqué dans la section suivante. Il n’y a pas d’opérateurs postfixés. Les opérateurs
sont classés dans l’ordre croissant de précédence. Plus la précédence augmente, plus
ils sont liés étroitement. Il y a quatre associativités :
– Gauche. Pour les opérateurs binaires, cela signifie que les opérateurs répétés sont
groupés à gauche. Par exemple, 1+2+3 a le même sens que ((1+2)+3).
– Droite. Pour les opérateurs binaires, cela signifie que les opérateurs répétés sont
groupés à droite. Par exemple, a|b|X a le même sens que (a|(b|X)).
– Mixfix. Les opérateurs répétés sont en réalité un seul opérateur, et toutes les
expressions sont des arguments de l’opérateur. Par exemple, a#b#c est un raccourci syntaxique pour le tuple ´#´(a b c).
– Aucune. Pour les opérateurs binaires, cela signifie que l’opérateur ne peut pas
être répété. Par exemple, 1<2<3 est une erreur.
Les parenthèses peuvent être utilisées pour changer la précédence.
Opérateur
Associativité
=
droite
:= « . := »
droite
orelse
droite
andthen
droite
== \= < =< > >= =: \=: =<:
aucune
::
aucune
|
droite
#
mixfix
+ -
gauche
* / div mod
gauche
,
droite
˜
gauche
.
gauche
@ !!
gauche
Tableau B.7 Les opérateurs avec leur précédence et leur associativité.
B.4.1 L’opérateur ternaire
Il y a un opérateur ternaire (à trois arguments), « . := », qui est conçu pour les
affectations des dictionnaires et tableaux (« arrays »). Il a la même précédence et
associativité que :=. Il peut être utilisé dans la position d’une expression comme :=,
où il a l’effet d’un échange (Exchange). L’instruction S.I:=X contient un opérateur
ternaire avec les arguments S, I et X. Cette instruction est utilisée pour affecter les
i
i
i
i
i
i
i
i
322
B
• La syntaxe du langage Oz
un opérateur n-aire mixfixé. Le symbole « . := » est un opérateur ternaire infixé qui
est expliqué dans la section suivante. Il n’y a pas d’opérateurs postfixés. Les opérateurs
sont classés dans l’ordre croissant de précédence. Plus la précédence augmente, plus
ils sont liés étroitement. Il y a quatre associativités :
– Gauche. Pour les opérateurs binaires, cela signifie que les opérateurs répétés sont
groupés à gauche. Par exemple, 1+2+3 a le même sens que ((1+2)+3).
– Droite. Pour les opérateurs binaires, cela signifie que les opérateurs répétés sont
groupés à droite. Par exemple, a|b|X a le même sens que (a|(b|X)).
– Mixfix. Les opérateurs répétés sont en réalité un seul opérateur, et toutes les
expressions sont des arguments de l’opérateur. Par exemple, a#b#c est un raccourci syntaxique pour le tuple ´#´(a b c).
– Aucune. Pour les opérateurs binaires, cela signifie que l’opérateur ne peut pas
être répété. Par exemple, 1<2<3 est une erreur.
Les parenthèses peuvent être utilisées pour changer la précédence.
Opérateur
Associativité
=
droite
:= « . := »
droite
orelse
droite
andthen
droite
== \= < =< > >= =: \=: =<:
aucune
::
aucune
|
droite
#
mixfix
+ -
gauche
* / div mod
gauche
,
droite
˜
gauche
.
gauche
@ !!
gauche
Tableau B.7 Les opérateurs avec leur précédence et leur associativité.
B.4.1 L’opérateur ternaire
Il y a un opérateur ternaire (à trois arguments), « . := », qui est conçu pour les
affectations des dictionnaires et tableaux (« arrays »). Il a la même précédence et
associativité que :=. Il peut être utilisé dans la position d’une expression comme :=,
où il a l’effet d’un échange (Exchange). L’instruction S.I:=X contient un opérateur
ternaire avec les arguments S, I et X. Cette instruction est utilisée pour affecter les
