看板 PLT 關於我們 聯絡資訊
最近在隔壁 p 板有個標題,"[問題] 字串比較的問題", 內容是討論一個命令解譯介面該怎麼做, 目前到的答案不外乎比較字串啦,或是查表啦. 我心裏其實一直在想,這應該是做一個直譯器的問題吧! 試想,從輸入裝置取得使用者打進來的命令,在程式中基本上是以字串儲存, 這時後就面對如何將字串當作指令執行的問題. 這在JavaScript很簡單,因為有個幾近於萬用的 eval() 函數. 但以BASIC直譯器來講,應該是做更低階的事情, 也就是將讀到的命令拿去查表,將PC指向該指令的位址,是不是呢? 順道說,我最早入門的程式語言是BASIC,使用MS DOS 6.22的BASIC.COM直譯器. 學完C/C++之後,一直有個實作直譯器的心願,不過都沒動手做過呢... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.70.115
godfat:我是覺得用 map 做在效率和便利上都不錯,是否需要更高效, 02/22 09:25
godfat:就不曉得了 02/22 09:26
ephesians:不是,問題是把文字當指令執行,這個解析層該怎麼做呢? 02/22 09:44
godfat:不就 call func? 還是你指語法分析? 02/22 09:46
ephesians:那在組語中要把字串直接當指令執行,行得通嗎? 02/22 16:58