作者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