%{ // ---------------------------------------------------------------------- // Fichier : lparser.l // Type : lex // lexeur pour un analyseur de lambda-termes typés // typage brutal des symboles dans le fichier lex lui-même. // ---------------------------------------------------------------------- // Ce fichier contient aussi les définitions de XXX.tab.h #include "lparser-code.h" %} %% [a-m] { yylval = yytext[0] ; return CTE ; } [n-z] { yylval = yytext[0] ; return VAR ; } [BCDFGHIJKMNOPQ] { yylval = yytext[0] ; return P1 ; } [RSTUVWXYZ] { yylval = yytext[0] ; return P2 ; } /* Connecteurs */ ~ { yylval = 1 ; return C1 ; } -> { yylval = 1 ; return C2 ; } & { yylval = 2 ; return C2 ; } [|+] { yylval = 3 ; return C2 ; } /* Quantificateurs */ A { yylval = 1 ; return Q ; } E { yylval = 2 ; return Q ; } L { yylval = 0 ; return LBD ;} /* Autres caractères */ [][()?.] return yytext[0] ; /* Reste ignoré */ .|\n /* NOP */ ; %%