%token a b %start S %% S : T E T : 'a''a' T 'b' | 'a''a' 'b' E : '\n' %% #include void yyerror(char *s) { printf("%s\n", s); } int yylex() { return getchar(); } main(int argc, char* argv[]) { yydebug=1; return yyparse(); }