2008/05/30

yacc

上次用(也是第一次用)yacc 是寫 ExtTOY assembler,距今已經一年多了。和上次一樣,編譯器 HW4 的文法寫完後有一些 shift/reduce conflicts。不一樣的是,這次已經學過 LR parsing,所以可以給 --report 選項叫 yacc 輸出 automaton,果然一下子就找到問題 ─ 是我弄錯文法 XD。

--
接下來兩天要把 lex/yacc 的部份寫完,週日整合其他人的程式碼。

Labels:

Anonymous Anonymous5/29/2009 8:56 pm 說:

不好意思,請問如何讓yacc明確輸出文法錯誤的地方?

我也遇到好多個shift/reduce,麻煩指教一下。謝謝!

 
Blogger Josh Ko5/30/2009 5:57 am 說:

我應該是加 --report=all 選項然後慢慢檢查他的額外輸出。沒什麼訣竅嘍…

 
Anonymous Anonymous5/30/2009 8:51 am 說:

抱歉,我有些不懂。

--report=all

是加在哪裡?

.y檔裡的某個地方嗎?

還是??

 
Blogger Josh Ko5/30/2009 9:20 am 說:

在 command line 下呼叫 yacc 的時候。這樣會多一個輸出檔可供追蹤。

 

<< 回到主頁