实现我编程语言的解释器时,我一开始想到了一个简单的控制台窗口,允许用户输入一些代码,然后作为 shell 程序执行。
但是存在严重问题:如果用户输入的每行代码都被处理为独立的程序,则必须通过标记器和解析器进行处理,然后由解释器执行 - 那函数怎么办呢?
Python/Ruby 交互式控制台(IDLE、irb)如何“共享”代码?输入的代码是如何处理的?
例如:
但是存在严重问题:如果用户输入的每行代码都被处理为独立的程序,则必须通过标记器和解析器进行处理,然后由解释器执行 - 那函数怎么办呢?
Python/Ruby 交互式控制台(IDLE、irb)如何“共享”代码?输入的代码是如何处理的?
例如:
>> def x:
>> print("Blah")
>>
>> x()
这个函数存储在哪里,以便随时再次调用?
交互式控制台如何将所有输入的内容显然地作为一个程序而不是一遍又一遍地执行所有内容?