(2017 : 923 - Analyses lexicale et syntaxique. Applications.)
Cette leçon ne doit pas être confondue avec la 909, qui s’intéresse aux seuls langages rationnels, ni avec la 907, sur l’algorithmique du texte. Si les notions d’automates finis, de langages rationnels et de grammaires algébriques sont au coeur de cette leçon, l’accent doit être mis sur leur utilisation comme outils pour les analyses lexicale et syntaxique.
Il s’agit donc d’insister sur la différence entre langages rationnels et algébriques, sans perdre de vue l’aspect applicatif : on pensera bien sûr à la compilation. On pourra s’intéresser à la transition entre analyse lexicale et analyse syntaxique, et on pourra présenter les outils associés classiques, sur un exemple simple. Les notions d’ambiguïté et l’aspect algorithmique doivent être développés. La présentation d’un type particulier de grammaire algébrique pour laquelle on sait décrire un algorithme d’analyse syntaxique efficace sera ainsi appréciée. Le programme 2018 permet de nouveaux développements pour cette leçon avec une ouverture sur des aspects élementaires d’analyse sémantique.