La relation entre programmation logique et grammaires formelles est connue
depuis les débuts de la programmation logique,
et en est même un des
moteurs [Colmerauer 70, Colmerauer 78].
La relation a fait émerger
la notion de grammaire logique* [Abramson et Dahl 89] à une époque
où la programmation logique n'était que la programmation en
clauses de Horn*.
Les * se sont imposées comme un formalisme important,
au point que la plupart des systèmes Prolog les intègrent.
Nous avons étudié la transposition du concept de
à
Prolog [Le Huitouze et al. 93a]
et avons décrit l'application du concept transposé au traitement de la
langue naturelle [Coupet-Grimal et Ridoux 95].
Nous avons aussi appliqué
Prolog comme métalangage pour formaliser et
implémenter des transformations de grammaires
à attributs [Ridoux 96].