Bison/Yacc Recursion Problem - "Rule never reduced because of conflicts"
I'm suffering a problem with a yacc specification. I had a similar problem but was able to resolve it. I'm sure the problem is in the recursion madness I'm dealing with, but am unable to find a clear way around it. Any ideas?
Here're the related bits:
Code:
atomic_patt : CONSTANT_TK
| UNDERSCORE_TK
| LPAREN_TK pattern_star RPAREN_TK
| LBRACE_TK pattern_star RBRACE_TK
| IDENT_TK
;
pattern_star : /* epsilon */
| pattern
| pattern COMMA_TK pattern_star
;
pattern : pattern_qual_id atomic_patt pattern_type
| atomic_patt CONS_TK atomic_patt
;
pattern_qual_id : /* epsilon */ <============= line 152
| qual_id
;
pattern_type : /* epsilon */
| COLON_TK type
;
qual_id : IDENT_TK
| IDENT_TK DOT_TK qual_id
;
And the error (warning really, but hey):
Quote:
Originally Posted by Bison
mwb.y:152.16: warning: rule never reduced because of conflicts: pattern_qual_id: /* empty */