%{ extern int yylex(); #include int yyerror (char const *message) { fprintf(stderr,"<%s>", message); return 0; } %} %error-verbose %token WORD ART TRANS_VERB COMM_NOUN PROP_NOUN '\n' '.' %% Text : /* Mot vide */ | Text Phrase { fprintf(stderr, "Phrase"); } | Text '\n' { fprintf(stderr,"\\n\n"); } ; Phrase : GroupNom TRANS_VERB GroupNom '.' ; GroupNom : ART COMM_NOUN | PROP_NOUN ; %% int main(void) { return yyparse(); }