问题标签 [interpreter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
164 浏览

user-input - 在 TextBox Live 中解释用户输入的方法 - 类似于 SO 上的 WMD 预览

我正在寻找一种在用户输入时解释用户输入的方法(并最终根据他们的输入执行某些类型的操作)这适用于基于 Web 的应用程序。

到目前为止,我有一种方法可以在用户输入时更新标签,但我希望它可以在任何按键上更新文本。目前 Visual Studio 中的 C# 网站中的代码如下所示:

每当在框中按下一个键时,最好的语言或方法是什么?

0 投票
3 回答
1491 浏览

lisp - 对 let 语句的 Lisp 评估

我正在编写一个 Scheme 解释器,我面临着一个有效的 let 语句,例如:

我的解释器只实现了 Scheme 的一个纯函数子集,所以不会有 set! 之类的副作用。在纯函数式语言中,为什么要在上面的 let 语句中允许多个表达式?

在编写我的解释器时,除了 let 中的最后一个表达式,我还有什么理由应该评估任何东西?似乎它们永远不会影响评估的最后一个语句的结果。

0 投票
7 回答
9615 浏览

python - OS X 终端中 Python 解释器中的制表符补全

几个月前,我写了一篇博文,详细介绍了如何在标准 Python 交互式解释器中实现制表符补全——我曾经认为这个功能只能在 IPython 中使用。由于 IPython unicode 问题,我有时不得不切换到标准解释器,我发现它非常方便。

最近我在 OS X 上做了一些工作。令我不满的是,该脚本似乎不适用于 OS X 的终端应用程序。我希望你们中的一些有 OS X 经验的人能够帮助我解决它,以便它也可以在终端中工作。

我正在复制下面的代码

请注意,我已经从我的博客文章的版本中稍微编辑了它,以便IrlCompleter使用真正的选项卡进行初始化,这似乎是终端中 Tab 键输出的内容。

0 投票
6 回答
937 浏览

testing - 如何测试解释器或编译器?

我一直在尝试为 Brainfuck 创建一个解释器,虽然制作和启动和运行非常简单,但我的一部分希望能够针对它运行测试。我似乎无法理解一个人可能需要编写多少测试来测试所有可能的指令组合以确保实现正确。

显然,使用 Brainfuck,指令集很小,但我不禁认为,随着更多指令的添加,您的测试代码会成倍增长。无论如何,比您的典型测试更重要。

现在,在编写编译器和解释器方面,我几乎是新手,所以我的假设很可能是错误的。

基本上,你甚至从哪里开始测试这样的东西?

0 投票
5 回答
5359 浏览

performance - 是否有适合脚本的快速启动 Haskell 解释器?

有谁知道适合用于编写 shell 脚本的快速启动的 Haskell 解释器?在我的旧笔记本电脑上使用 Hugs 运行“hello world”需要 400 毫秒,而在我当前的 Thinkpad X300 上需要 300 毫秒。这对于瞬时响应来说太慢了。使用 GHCi 的时间类似。

函数式语言不必很慢:Objective Caml 和 Moscow ML 都在 1 毫秒或更短的时间内运行 hello world。

澄清:我是 GHC 的重度用户,我知道如何使用 GHCi。我知道所有关于编译以快速完成任务的知识。解析成本应该完全不相关:如果 ML 和 OCaml 的启动速度可以比 GHCi 快 300 倍,那么还有改进的空间。

我在寻找

  • 脚本编写的便利性:一个源文件,没有二进制代码,相同的代码在所有平台上运行
  • 与其他解释器相当的性能,包括快速启动和执行简单程序,如

    /li>

不是在为更严肃的程序寻找编译性能。重点是看看 Haskell 是否对脚本有用。

0 投票
7 回答
12815 浏览

ruby - 如果 Ruby 的所有实现都被编译成字节码,那么它真的是一种解释型语言吗?

在为这个关于 Blue Ruby的问题选择的答案中,Chuck 说:

当前所有的 Ruby 实现都被编译为字节码。与 SAP 的说法相反,从 Ruby 1.9 开始,MRI 本身包括一个字节码编译器,尽管在合并 YARV 虚拟机的过程中,将编译后的字节码保存到磁盘的能力消失了。JRuby 被编译成 Java .class 文件。我没有太多关于 MagLev 的细节,但可以肯定地说它也会走这条路。

我对这个关于 Ruby 的编译/解释问题感到困惑。

我了解到 Ruby 是一种解释型语言,这就是为什么当我将更改保存到我的 Ruby 文件时,我不需要重新构建项目。

但是,如果现在所有的 Ruby 实现都被编译了,那么说 Ruby 是一种解释型语言还公平吗?还是我误解了什么?

0 投票
2 回答
6296 浏览

scala - 如何在 scala 的解释器中将外部库添加到类路径中?

我试图在 Scala 解释器中引用一些使用 Eclipse 编写和编译的类。Eclipse 将编译后的 Java 字节码存储在文件夹 {workspace}/myProject/bin 中。是否有一些命令可以将此文件夹添加到 Scala 解释器使用的类路径中?

也许 scala.bat 应该用一些参数来编辑或参数化?

0 投票
2 回答
378 浏览

xml - Flex 3 XML 实现中的错误?重写 xml:lang

所以我正在开发一个快速实用程序来允许对 TMX 文件进行简单的编辑。TMX 基本上是一种基于 XML 的标准,用于存储多语言翻译。无论如何,我正在通过文件引用将 TMX 导入 Adob​​e AIR 应用程序,然后获取文件流,将 UTF-8 字符转换为字符串,然后将该字符串转换为 XML 对象。因此:

但是,这是有趣的部分。如果fileData这样加载:

Flex 的 XML 将其解释为:

哦嗬有趣!属性xml:lang变为aaa:lang="en" xmlns:aaa="http://www.w3.org/XML/1998/namespace"。根据我的简短研究,发生这种情况有一些先例,但这有点糟糕的假设。在不创建过多的字符串替换规则的情况下,有没有办法规避这种情况?

0 投票
8 回答
1071 浏览

java - 非解释语言可以有垃圾收集器吗?

非解释语言是否有可能拥有垃圾收集器。解释型语言让解释器逐行执行程序,因此解释器也可以提供带有 GC 的运行时。但是是否有可能拥有任何其他语言的垃圾收集器而无需在代码本身中构建 GC?

0 投票
7 回答
1416 浏览

c++ - 用一种语言编写的代码如何从另一种语言调用

这是一个我一直想知道答案但从未真正问过的问题。

由一种语言(尤其是解释型语言)编写的代码如何被编译型语言编写的代码调用。

例如,假设我正在用 C++ 编写一个游戏,并且我将一些 AI 行为外包给了用 Scheme 编写的。用 Scheme 编写的代码如何达到编译后的 C++ 代码可以使用的程度?C++ 源代码如何使用它,C++ 编译代码如何使用它?使用方式有区别吗?

有关的

多语言如何在一个项目中交互?