我不确定您是在询问常用词还是其他词。
在任何情况下,REPL 都是 Read Eval Print Loop(参见第一个字母)。如果您有一个解释器不阅读您的程序或不评估它(即“理解”您希望它做什么并执行它)或者不在任何地方打印结果,这有什么好处?
如果您根本看不到任何东西并且它不会听到您的声音,它无论如何都不会做您想做的事情,或者您只尝试了 1 次,您也可以在桌子上放一块石头而不是电脑。
也许会有一些有趣的玩弄文字的反对意见,比如“如果它只改变一个显示的图标,它真的是在打印吗?” 等等 :-) 或者“如果它不是从键盘读取,它真的在读取吗?”。愚蠢的纯粹哲学,真的。
事实是,某些系统的反应会有所不同,具体取决于您是从键盘还是从文件中读取它们。我不确定它的用途是什么,但我想当他实际在键盘上打字时,你可以为人类提供帮助(即命令完成等)。
也许有些人在从文件中读取时不接受超过 1 个表达式?
我想知道 REPL 是否总是存在于解释器中?
我想这是“口译员”定义的问题。如果你把它理解为(在务实的意义上)“按照我的吩咐去做的事情”,不。如果它不听,你怎么告诉它?
维基百科是否说编译器也存在 REPL?如果有,情况如何?
是的当然。所有的 LISP 系统都是这样的。他们感觉就像一个解释器,但随着时间的推移,随着系统学习你如何表达自己并了解哪些变化和哪些没有变化,并且只是将没有变化的部分编译为机器代码,它们会变得神奇地更快。
Java 现在也这样做了,你的 VM 会话持续的时间越长,它就越能发现如何让事情变得更快,如果你停止改变事情,它最终会以机器代码运行整个程序。
解释器/编译器的整个人为区分是偶然的,也就是说,由于当时的资源限制。