※ 引述《finalwave (小龍)》之銘言:
: 包涵一下
: 1.yacc要不要處理 left-recusion?
: 2.yacc要不要處理 left-factor?
都不用
: 3.寫完文法 yacc 出現一堆 shift/reduce conflict 卻又不知是出現在哪部份
: 該怎麼處理(有自動轉換為無conflict的軟體嗎~"~)
方法:
1. 認識什麼是 conflict
上課應該有教
reduce/reduce http://tinyurl.com/3dw855
shift/reduce http://tinyurl.com/32qsqd
2. 寫文法時要很小心且有耐心, 避免conflict
3. 很不幸地, conflict 還是發生的話
(1) comment some grammar, 逐步找出 conflict
(2) 如果你是把bison當yacc用的話, 試試 bison -g
可以產生 .vcg 檔, 網路上有軟體可以轉.vcg成圖檔
這個或許會有幫助(看了圖就知道了, 不建議沒時間的人去試)