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