%{ // ----------------------------------------------------------------- // Fichier : logique2.0.l // Type : lex // Analyseur lexical : reconnaît des noms propres et des verbes // intransitifs, plus les versions françaises des connecteurs. // ----------------------------------------------------------------- // Définitions des tokens #include "logique2.0.tab.h" %} %% /* Noms propres */ anne | bill | carl | dave | emma { yylval = yytext[0] - 'a' ; return NP ; } /* Verbes intransitifs */ applaudit | boit | chante | dort | etudie { yylval = yytext[0] - 'a' ; return VP ; } /* Connecteurs */ et return ET ; ou return OU ; si return SI ; alors|[,] return ALORS ; il[ ]est[ ]faux[ ]que return NEG ; ne return DISC ; pas return FORC ; /* Autres caractères */ [().?] return yytext[0] ; /* Reste ignoré */ .|\n /* NOP */ ; %%