Université d'Ottawa SEG-2506 : Construction de logiciel Gregor v. Bochmann Hiver 2008, 2009, 2010, 2011, 2012, 2013, 2015 |
Lab 5 - Partie 2 |
A l'origine, préparé par Nicolas Gorse |
Description
Lex (ou Flex) est un outil qui génère des anlyseurs lexicaux (scanners): des programmes qui reconnaissent des patrons lexicaux dans un texte. Flex lit les finchiers d'entrée spécifiés ou les fichiers par défaut (si aucun nom de fichier est donné). Il génère comme sortie un programme en C dans le fichier lex.yy.c qui défini la routine yylex(). Ce programme est compilé est combiné avec la library -lfl pour produire un exécutable. Quand il est exécuté, il analyse le fichier d'entrée pour des occurences des expressions régulières qui ont été définies dans les fichiers lus par Flex. Quand une occurence est trouvée, le programme exécute des énoncés C qui ont été spécifié dans les fichiers lus par Flex.
SENTENCE --> NOUN_PHRASE VERB NOUN_PHRASE VERB --> hit NOUN_PHRASE --> ARTICLE NOUN NOUN_PHRASE --> PROPER_NAME ARTICLE --> a | the NOUN --> ball | bat PROPER_NAME --> peter