title: Useless rule due to conflicts in YACC
body: <p>The error message:</p>
  
  <pre><code>bison -vdy tjc.y
  conflicts: 2 shift/reduce
  tjc.y:72.26-29: warning: rule useless in parser due to conflicts: return_type: type
  </code></pre>
  
  <p>EDIT 2: Further reduced the grammar to only the following rules. Same error due to same conflict. If I remove field_decl in the rules then the conflict goes away.</p>
  
  <pre><code>member_decl:      field_decl |  method_decl;
  
  field_decl: STATIC type IDENT EQ SEMI;
  
  method_decl:      STATIC return_type IDENT LPAR RPAR;
  
  type:             INT | FLOAT;
  
  return_type:      type | VOID;
  </code></pre>
  
  <p>Here's the section with the shift/reduce conflict in y.output:</p>
  
  <pre><code>state 18
  
  7 field_decl: STATIC type . IDENT EQ SEMI
  14 return_type: type .
  
  IDENT  shift, and go to state 23
  
  IDENT  [reduce using rule 14 (return_type)]
  </code></pre>
  
  <p>Please help me see what's going wrong here. </p>