看板 C_and_CPP 關於我們 聯絡資訊
剛剛完成PA6,以下心得 Code Generator應該是必要 尤其在不知道PA7會怎麼接下去的狀況 一開始主要的bug都出現在每個rule各個alternation的優先度上面 (本來是由上到下選澤地一個符合的alternation) 不過後來發現沒什麼優先度的問題, 把每個alternation都試過挑token數最多的就好了 Design notes說「大部分」都可以greedy 但是目前好像沒有碰到不能greedy的狀況 因為每個alternation都得試,所以用FIRST和FOLLOW 去砍child node也是必須做的事(除非耐心夠,寫的程式完美一次ok) 不過我只砍了FIRST,每個test case都還在1秒內 FOLLOW要自己從pa6.gram生成有點麻煩暫時懶得想 有空再試試( =沒空 ) 標準6.8和8.2說的是當出現模糊的狀況時(兩邊的token一樣多), 永遠選擇declaration 不過我搞不太懂為什麼object-declaration > function-declaration就是了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.69.190
yoco315:= =|| 你的 parser generator 怎麼寫的這麼快 05/09 01:51
yoco315:我還在 pa4 作 function-like macro 的 semantic action 05/09 01:52
azureblaze:沒有快 只是無業遊民時間多XD 05/09 10:27
yoco315:偶也想要當無業遊民 xD 05/09 12:18
windows2k:太強了, 我還卡在PA4.. 05/09 12:25
windows2k:下班之後整個集中力就極速流失了 orz 05/09 12:27
LPH66:PA4 真的很卡...PA5 做起來都比 PA4 還順 ._. 05/09 21:36
azureblaze:PA4實做是還好,但是看懂到底要做什麼很難 05/09 22:09
yoco315:pa4 我想到了一個精妙絕輪的解法,可惜這邊空間太小我寫不 05/09 22:21
suhorng:然後三百年後會有人寫出來 05/09 22:24