Version du 7 octobre 1998
Notation de baseUne règle linguistique a la forme A > B / C. Les différentes parties désignent: A la condition, B la conséquence et C le contexte. La règle peut donc être lue comme "A devient B dans le contexte C".
La condition et la conséquence peuvent se composer d’un ou de deux groupes de sons. Par groupes de sons, nous entendons une suite d’un ou de plusieurs sons. Pour chaque groupe de sons, un contexte droit et gauche peut être défini. Il y a donc deux formes de pour une règle linguistique:
x > x' / xg – xd |
un groupe de sons (x) |
x - y > x' - y' / xg – xd ; yg – yd | deux groupes (x, y) |
Xg, xd et yg, yd désignent ici les contextes gauches et droits de x et y. Un point-virgule (;) est nécessaire pour séparer le context gauche de y (yg) du contexte droit de x (xd).
Les sonsLes sons peuvent être décrits de deux manières: a) par des caractères littéraux, b) par des caractères symboliques.
Ici, X désigne un caractère symbolique quelconque. T1, t2, ..., tn désignent une liste de traits supplémentaires que le son doit présenter.
Le marquage de sonsLorsqu’il apparaît dans la condition, un caractère symbolique peut être marqué par un chiffre entre 1 et 9 qui le suit immédiatement. Ce marquage permet à l’utilisateur d’accéder directement à ce son dans la conséquence.
A la place de Z, on peut donc avoir un chiffre entre 1 et 9.
Sons identiques / différentsIl est aussi possible d’indiquer après un caractère symbolique, si le son doit être identique à ou différent d’un autre son. Pour ce faire, l’utilisateur peut se servir des caractères ‘, ", "‘ ou "":
A la place de C, on peut donc avoir ‘, ", "‘ ou "". Si le nombre d’apostrophes de deux caractères symboliques est identique, les deux sons auxquels ils se réfèrent doivent aussi être identiques. Si le nombre d’apostrophes est différent, les sons doivent être différents.
Comme dans le cas des chiffres, les sons sont marqués: en utilisant ‘, ", "‘ ou "" dans la conséquence, l’utilisateur peut donc directement accéder à un son.
Utilisation des accoladesL’utilisateur peut définir des groupes de sons en enchaînant des caractères symboliques et/ou littéraux. Dans les cas où un son peut être suivi (ou précédé) par plusieurs sons, ceux-ci peuvent être regroupés entre accolades:
a { b1, b2, ..., bn }
Ici, le son a peut être suivi par les sons b1, b2, ..., bn. Les sons b1, b2, ..., bn sont donc reliés par un opérateur logique OU: a suivi par b1 OU a suivi par b2 OU ... OU a suivi par bn.
Evolutions multiplesNous parlons d’évolution multiple, lorsqu’une condition peut avoir plusieurs conséquences en même temps. Dans ce cas, il est nécessaire d’utiliser des accolades.
Les caractères + et | désignent une frontière de morphème ou de syllabe. Ces caractères peuvent être utilisés dans la condition, la conséquence et dans le contexte. Ils peuvent apparaître devant ou après un caractère littéral ou symbolique (si ce dernier est suivi par un chiffre et/ou des crochets, + et | doivent être placés tout à la fin). Les deux caractères peuvent apparaître ensemble au cas où la frontière syllabique coincide avec une frontière morphématique.
Comme les frontières morphématiques / syllabiques font partie intégrale des sons du mot, l’utilisateur doit veiller à ce que la modification – et notamment la chute – d’un son n’ait pas d’effet secondaire sur ces frontières.
Les frontières morphématiques ou syllabiques ne peuvent pas se trouver au début ou à la fin d’un mot (elles se trouvent donc toujours entre deux sons).
Caractères supplémentairesOutre les caractères littéraux et symboliques, l’utilisateur peut se servir des caractères suivants:
# |
son muet, indique le début / la fin d’un mot |
0 |
aucun son; peut être utilisé dans la condition et dans le contexte, mais surtout dans la conséquence, lorsqu’un son tombe. |
! |
Négation; elle se réfère au caractère littéral ou symbolique qui la suit immédiatement. Elle peut aussi être appliquée à plusieurs sons: dans ce cas, il est nécessaire d’utiliser des parenthèses. A noter que !(p1 p2 ... pn) n’est pas équivalent à !p1 !p2 ... !pn. |
.. |
Signifie "aucun, un ou plusieurs sons". Avec ".." on peut donc "sauter" plusieurs sons pourvu qu’il n’y ait pas de frontière syllabique au milieu. Celles-ci ne peuvent donc pas être dépassées. |
? |
désigne un son quelconque; est traité comme un caractère symbolique (on peut donc ajouter une liste de traits en utilisant des crochets) |
Afin de pouvoir formuler des règles, l’utilisateur doit d’abord définir les sons et les caractères symboliques qu’il aimerait utiliser.
@defattributes G1 := { t1,1, t1,2, ..., t1,n1 } G2 := { t2,1, t2,2, ..., t2,n2 } ... Gx := { tx,1, tx,2, ..., tx,nx } @endattributes |
G1, G2, ..., Gx désignent le groupe. Tij indique le nom du trait correspondant. Seul un nom peut être défini par trait. Les traits complémentaires (p.ex. tonique vs atone) doivent être définis comme un seul trait qui peut avoir les valeurs "+" et "–" (p.ex. "+tonique" vs "–tonique").
Les sons peuvent ensuite être définis à l’aide des traits:
@deflitterals Z := [ t1, t2, ..., tn ] (ici, il peut y avoir d’autres définitions) @endlitterals |
Z désigne le caractère à définir. Celui-ci ne doit pas être une majuscule (voir caractères symboliques). A la place de Z, on peut avoir ou le caractère (en tant que tel) ou "#" suivi par le code ASCII du caractère. T1, t2, ..., tn indiquent les traits qui définissent le caractère.
@defsymbols Z := [ t1, t2, ..., tn ] (ici, il peut y avoir d’autres définitions) @endsymbols |
Ici, Z remplace donc le caractère symbolique. Seules les majuscules (A, B, ..., Z) peuvent être définies comme caractères symboliques. T1, t2, ..., tn correspondent aux traits représentés par le caractère symbolique.
Eléments supplémentaires d’une règle linguistiqueOutre la condition, la conséquence et le contexte (cf. A > B / C), une règle linguistique peut contenir encore les élements suivants:
Temps: L’espace temporel pour lequel la règle est valable peut être indiqué avant la règle proprement dite:Deux points (:) sont nécessaires pour séparer l’indication temporelle de la condition. T peut avoir une des deux formes suivantes:
x: espace temporel défini par une seule indication |
x-y: espace temporel défini par deux indications (de x à y) |
X et y peuvent être des chiffres romains ou arabes. Par défaut, les indications temporelles ont la valeur "apr. J-C". Cependant, si on écrit ")" après le chiffre romain ou arabe, il s’agit d’une indication temporelle avec la valeur "av. J-C"
Une indication temporelle n’a d’influence sur le calcul que dans le cas où l’utilisateur indique une date d’emprunt pour le mot à calculer.
Commentaire: Une règle peut aussi comporter un commentaire linguistique. Celui-ci doit se placer derrière la règle:Les deux points (:) sont nécessaires pour séparer le commentaire de la règle.