conflict
conflictの結果がbisonと違うので調べてみたら、
なんだかどちらとも言えるような気がしたので、
yaccでも調べてみた。
すると、linux(fedora core 3)に元から入っているyaccとbisonで
結果が違うことに気づいてしまった。
文法:
sequence: /* 空 */ { printf ("empty sequence\n"); } | maybeword | sequence word { printf ("added word %s\n", $2); } ; maybeword: /* 空 */ { printf ("empty maybeword\n"); } | word { printf ("single word %s\n", $1); } ;
bison:
t.y: conflicts: 1 shift/reduce, 2 reduce/reduce
yacc:
yacc: 2 shift/reduce conflicts yacc: 1 reduce/reduce conflict
caperの出力はyaccと同じ。
extra解析ファイルをざっとみたところ、EOFの扱いが違うせいのようだ
(雰囲気だけで判断)。
まあ、このままで。