author: Kevin Lynx email: zmhn320#163.com date: 3.6.2009
(相信我,這一節(jié)全是廢話。)
我不是標(biāo)題黨,但是有必要解釋下這個(gè)標(biāo)題。綜合來(lái)說(shuō)我就是想與你分享我所學(xué)到的。
我會(huì)將我實(shí)現(xiàn)的這個(gè)簡(jiǎn)單的腳本語(yǔ)言的實(shí)現(xiàn)細(xì)節(jié)展示給你。它將涵蓋:詞法分析、語(yǔ)法分析
、符號(hào)表管理、語(yǔ)法樹(shù)解釋執(zhí)行、插件管理等內(nèi)容。
我并不擅長(zhǎng)傳授編譯原理知識(shí)。我沒(méi)有聽(tīng)過(guò)編譯原理課,所以我也不會(huì)編譯原理(也許
即使我聽(tīng)了也不會(huì):D)。所以對(duì)于這方面的能手而言,我口中的‘DFA‘可能會(huì)貽笑大方。
顯然,CPPBLOG上有編譯原理上的大牛。如果你想學(xué)習(xí)更深入的知識(shí),可以去請(qǐng)教他們。
vczh(http://www.shnenglu.com/vczh/) 看起來(lái)是我所說(shuō)的這個(gè)人。在致謝名單里我將真誠(chéng)地
寫(xiě)上他的名字。他的’手把手xxx腳本‘系列多多少少還是給了我一些有用的信息。
其次是FOX,在詞法分析的DFA和NFA那里我請(qǐng)教了他一些問(wèn)題。雖然我現(xiàn)在又忘了。如
你們所知,理論和實(shí)現(xiàn)之間總會(huì)隔著鴻溝。
推薦《編譯原理與實(shí)踐》(<Compiler Construction:Principles and Practice>
Kenneth C. Louden)這本書(shū)。在你將來(lái)閱讀我的腳本語(yǔ)言的實(shí)現(xiàn)代碼時(shí),你會(huì)發(fā)現(xiàn)有很一些地
方同這本書(shū)里的TINY語(yǔ)言實(shí)現(xiàn)代碼有相似之處。建議你閱讀TINY的代碼。
感謝VIM、GCC、GDB、MingW,我用這些軟件在工作之余寫(xiě)出了這個(gè)東西的幾千行C代碼。
很明顯我是個(gè)開(kāi)源文化的愛(ài)好者。但是我不會(huì)告訴你unix有多么多么好,因?yàn)槲乙彩莻€(gè)初學(xué)
者,我還不懂unix。開(kāi)源在我看來(lái)更是一種分享知識(shí)的精神。讓這種精神如同GPL一樣病毒
式地傳染下去。
還有版權(quán)問(wèn)題。但也許它不是個(gè)問(wèn)題。我不會(huì)添加任何版權(quán)信息。我允許你任意傳播、
改動(dòng)我所散播的東西,但是唯一的基本條件是:保留作者的信息---不要告訴別人,這東西
是你做的。
在所有的文章發(fā)布后,我都可能會(huì)再次修改。也許通過(guò)RSS或者日志日期之類你可以獲
得修改提醒。