IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

shift/reduce コンフリクトの解決

shift/reduce コンフリクトはルールのほうに優先順位を付けてやるか、左右の結合方向を示してやればいいのか。
ルールに優先順位を付ける方法は以下のような感じ

%left UNIMPORTANT_TOK

%%

selector_list:
    selector %prec UNIMPORTANT_TOK
  | selector_list ',' maybe_space selector %prec UNIMPORTANT_TOK
  | selector_list error
  ;