【发布时间】:2011-02-08 14:33:03
【问题描述】:
在为我的编程语言实现解释器时,我首先想到了一个简单的控制台窗口,它允许用户输入一些代码,然后作为 shell 的独立程序执行。
但是有一个严重的问题:如果用户输入的每一行代码都作为一个独立的程序处理,它必须经过分词器和解析器,然后才被解释器执行——那么函数呢?
- Python/Ruby 交互式控制台(IDLE、irb)如何“共享”代码?输入的代码如何处理?
例子:
>> def x:
>> print("Blah")
>>
>> x()
函数存储在哪里以便可以随时再次调用?
交互式控制台如何在不一遍又一遍地执行所有内容的情况下将输入的所有内容视为一个程序?
【问题讨论】:
标签: python ruby interpreter command-line-interface interactive