在为我的编程语言实现解释器时,我首先想到了一个简单的控制台窗口,它允许用户输入一些代码,然后将其作为独立程序作为shell执行。Ruby和Python如何实现其交互式控制台?
但存在严重的问题:如果用户输入的每行代码都作为独立程序处理,则必须通过标记器和解析器,然后才由解释器执行 - 那么函数又如何呢?
- Python/Ruby交互式控制台(IDLE,irb)如何“共享”代码?如何处理输入的代码?
例子:
>> def x:
>> print("Blah")
>>
>> x()
在哪里存储功能,因此它可以在任何时候再次叫什么名字?
交互式控制台怎么能把所有输入的东西当作一个程序而不需要一遍又一遍地执行?