Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
En théorie des langages, les langages rationnels ou langages réguliers ou encore langages reconnaissables peuvent être décrits de plusieurs façons équivalentes : ce sont les langages décrits par les expressions régulières ou rationnelles, d'où le nom de langages réguliers ; ce sont les langages obtenus, à partir des lettres et de l'ensemble vide, par les opérations rationnelles, à savoir l'union, le produit et l'étoile de Kleene, d'où le nom de langages rationnels ; ce sont les langages reconnus par des automates finis, d'où le nom de langages reconnaissables. Les langages rationnels ont de très nombreuses applications, à la fois théoriques et pratiques. Ils sont utilisés en informatique (par exemple en compilation), en linguistique (par exemple pour décrire la morphologie d'une langue), ils interviennent dans les traitements de texte, ou dans des commandes spécifiques comme grep du système Unix. Pour la manipulation des langages rationnels et des automates, il existe de nombreux outils informatiques, notamment dans les systèmes du type Unix comme la commande lex. Le langage informatique Java fournit aussi la classe Pattern. Les algorithmes utilisés pour manipuler les langages rationnels possèdent en général une implémentation rapide et efficace. On considère un ensemble fini de caractères ou lettres, appelé alphabet. Une chaîne de caractères (ou chaîne ou mot) est une suite finie, éventuellement vide, de caractères. Par exemple, la chaîne formée de la lettre , puis de la lettre , puis encore de la lettre , se note . L'ensemble des mots que l'on peut former avec ces lettres de est noté . Toute partie de s'appelle un langage. Les opérations suivantes, définies sur les langages, sont appelées les opérations rationnelles. Soient et deux parties de :
Antoine Bosselut, Jibril Albachir Frej, Paola Mejia Domenzain, Luca Mouchel, Tatjana Nazaretsky, Seyed Parsa Neshaei, Thiemo Wambsganss
Mika Tapani Göös, Weiqiang Yuan