Ce TP va vous faire manipuler deux boîtes à outils fournissant une implémentation efficace des expressions régulières, des automates, des transducteurs et des opérations afférentes.
La première boîte à outil s'appelle OpenFST (FST signifie Finite-State Transducer). Elle implémente les automates et transducteurs finis pondérés (chaque arc dispose d'un poids et des opérations permettent de chercher les chemins de poids minimal). L'aspect pondération ne nous intéresse pas (car les automates vus en cours et ceux utilisés pour l'analyse lexicale ne sont pas pondérés). Nous pouvons néanmoins utiliser OpenFST en ne donnant pas de poids aux arcs.
La deuxième boîte à outil s'appelle OpenGRM et elle permet de compiler des expressions régulières en des automates OpenFST.
OpenFST et OpenGRM ont étés développé par Google. Elles fonctionnent sous Unix. Il existe un portage sous Windows utilisant VisualC++ pour sa compilation. OpenFST et OpenGRM peuvent être téléchargées sur le site web www.openfst.org. La documentation peut être consultée sur ce site également.
Par ailleurs, pour générer la représentation graphique des automates et transducteurs, OpenFST utilise la boîte à outil Graphviz des laboratoires de recherche AT&T. Elle peut être téléchargée sur le site: www.graphviz.org.
Les trois logiciels sont des logiciels libres et open source, diffusés avec des licences standards (Licence Apache et Licence Eclipse).