/* remplace 0 par a si precede par 0 par b sinon. */ /* remplace 1 par c si precede par 1 par b sinon. */ %option noyywrap %x PrecedeParO PrecedePar1 %% 0 {printf("b");BEGIN(PrecedeParO);} 1 {printf("b");BEGIN(PrecedePar1);} 0 {printf("a");} 1 {printf("b");BEGIN(PrecedePar1);} 0 {printf("b");BEGIN(PrecedeParO);} 1 {printf("c");} <*>\n {printf("\n");BEGIN(INITIAL);} <*>. {printf("Error\n");return;} %% main () { yylex(); }