Historiquement, SYNTAX a d'abord eu pour principale application la construction d'analyseurs pour les langages de programmation, dans le domaine de la compilation (C, Ada, etc…). C'était donc principalement un générateur d'analyseurs non-contextuels déterministes, à l'instar des programmes unix Lex et Yacc. La force de SYNTAX par rapport à ces programmes était alors triple:

C'est la version 3.9 de SYNTAX qui est l'aboutissement des recherches dans le domaine de l'analyse déterministe. Il existe un manuel d'utilisation et de mise en œuvre de la version 3.5 de SYNTAX [Boullier 88]. La plupart des utilisations de SYNTAX dans le domaine de la compilation de langages de programmation utilise cette technologie, sous la forme de SYNTAX 3.9 (compilateur Ada,…) ou sous son évolution dans la version courante de SYNTAX (travaux du projet VASY de l'INRIA).

Depuis une dizaine d'années, SYNTAX s'est tourné vers des applications de traitement des langues. Ceci a conduit à quatre types de développements:

Les versions 4 et 5 ne sont pas distribuées, alors que la version 3 était disponible gratuitement à des fins de recherche et que la version 6 est disponible librement sous licence CeCILL et CeCILL-C, selon les fichier (voir la page de téléchargement et le fichier LICENSE inclus dans le paquetage). Une version 7.0, qui prend en compte le travail de portage (notamment vers des architectures 64-bits) effectué au sein de l'équipe VASY, ainsi que de nombreuses avancées de fond, sera prochainement disponible.


 1. Un langage non-contextuel est dit RLR si, pour tout conflit dans l'automate LR(0), on peut trouver une grammaire régulière avec laquelle on peut analyser ce qui reste de la chaîne d'entrée jusqu'à atteindre un point où l'on peut décider comment résoudre le conflit (c'est donc une forme de lookahead non-borné). Retour