【问题标题】:read-eval-print loop (REPL) for several languages多种语言的读取-评估-打印循环(REPL)
【发布时间】:2010-11-23 01:14:15
【问题描述】:

我想知道是否有一些推荐的read-eval-print loop (REPL) 分别用于

(1) C++

(2) C

(3)Java

谢谢!

【问题讨论】:

标签: java c++ c read-eval-print-loop


【解决方案1】:

C 和 C++

您可以使用 CERN 的cint

Java

您可以使用BeanShell,或者如果您不太关心 Java 语法(例如,您的目标只是确保 执行您想要的操作),您可以使用Groovy、Scala、JRuby 或 Jython。

【讨论】:

【解决方案2】:

那些不是支持dynamic eval function的语言。

【讨论】:

  • 谢谢,但你的意思和 REPL 是一样的吗?
  • Eval 是 Read-Eval-Print-Loop 中三个步骤中的第二个。这是一个非常重要的先决条件。可以为这些语言创建一个具有类似eval 的函数的解释器,但它不是语言规范的一部分,并且大多数此类解释器都有局限性。
  • 这个答案显然是错误的。语言不需要支持eval,您必须有一个可以评估该语言中的语句的环境。请注意,Ken 还为三个问题提供了两个答案。
  • @dmckee:强烈反对。如果您希望键入任意表达式以根据 C、C++ 或 Java 进行评估,那么您要求实现一个与编译器等效的表达式解析器。这就是 read-eval-print 循环通常的含义。这在解释语言中是微不足道的,而在编译语言中则是皇家 PITA。
  • 答案与问题无关。 Op 想要 A,答案陈述事实 B。
【解决方案3】:

这里还有一个使用 javax.tools.JavaCompiler 接口的 Java REPL:http://www.scravy.de/blog/2012-02-27/a-read-eval-print-loop-for-java.htm(在命令行上运行)。

【讨论】:

    【解决方案4】:

    这似乎在 2016 年 9 月 22 日推出的 Java 9 中可用。

    http://openjdk.java.net/jeps/222

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多