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 */