问题标签 [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 投票
2 回答
761 浏览

parsing - 在 Haskell 中编写一个小型解析器的递归问题。检查变量

我仍在为学校任务中​​定义的一种微小语言开发一个微小的解析器。生成 AST(抽象语法树)的解析器正在工作。我想要的是检查定义的变量,它们必须以 let 表达式为界。首先是任务中定义的方法(建议,不需要):

一个有效的句子是“让 X 在 *(2,X) 中为 5”。X 通常是 Var 而 5 通常是 int。最后一个可以是 dataExpr 类型的任何部分。要点:X 在最后一个表达式中的某处使用。let 的数据类型是:

链接到我在此处询问的有关此任务的其他问题,仅供参考; 第一个问题 第二个问题

如您所见,checkVars 的数据类型是 Expr,所以这是我将提供给该函数的示例:

这是一个包罗万象的示例,顶部是正在解析的字符串/程序。第二部分,从第 3 行(Let)开始是 AST,是 checkVars 函数的输入。而底部“Just 24”是评价。我会回到这里寻求更多帮助。注意:重点是将找到的第一个未绑定变量作为错误吐出,如果一切正常,则吐出''。显然,如果你想以另一种方式做到这一点,你可以。

0 投票
4 回答
971 浏览

haskell - Haskell 中如何定义 (==) ?

我正在用 Haskell 编写一种小型函数式编程语言,但我找不到 (==) 如何实现的定义,因为这似乎很棘手?

0 投票
5 回答
10452 浏览

python - 蟒蛇 | 脚本执行后如何使局部变量成为全局变量

这是代码。我需要做的是找到一种使i全局化的方法,以便在重复执行时,值i将增加 1,而不是每次都重置为 0。中的代码main来自我嵌入“main”中的另一个脚本,以使跟踪功能正常工作。这一切都是从Java完成的。

0 投票
3 回答
8679 浏览

c - 如何编写链接器

我为 C 编写了一个编译器,它输出字节码。这样做的原因是能够为在多个平台上运行的嵌入式平台编写应用程序。

我有编译器和汇编器。

我需要编写一个链接器,并且被卡住了。

对象格式是一种自定义格式,围绕字节码解释器设计,所以我不能真正使用任何现有的链接器。

我最大的障碍是如何组织目标代码以输出链接的二进制文件。目前不需要动态链接。我需要先让静态链接工作。

0 投票
4 回答
2487 浏览

functional-programming - 为函数式语言设计解释器的主要问题是什么?

假设我想为功能语言实现解释器。我想了解这样做所涉及的问题以及可用的合适文献。这是一种处于早期设计阶段的新语言,这就是为什么这个问题的范围很广。

出于本次讨论的目的,我们可以假设语言的目的并不重要,并且如果它对编写解释器的易用性产生显着影响,它的功能特性可以被改变(甚至是巨大的)。

麻省理工学院网站有计算机程序的结构和解释的在线副本以及使用 Scheme 的 MIT 6.001 讲座的视频,这些视频是 1986 年在惠普录制的。这些是对语言设计的很好的介绍。

0 投票
3 回答
850 浏览

c# - 为用 C# 编写的标准 Windows 服务接受命令行输入的简单方法?

我用 C# 编写了一个非常简单的 Windows 服务,它会自动启动并运行 A-okay。我想知道让服务接受命令行输入的最佳方法——它总是来自同一个用户(管理员),并且服务本身是完全受信任的(LocalSystem)。

我对设计模式术语知之甚少(很少)——我是否应该将这个简单的服务包装在解释器风格的模式中?这是否太复杂了,有没有办法通过程序的入口点来完成?(好像我只是在做一个可以使用 string[] args 的简单控制台应用程序?)

基本上它应该接受一些非常具体的语法(具体的命令),这些语法可以随时通过控制台发出,并且只接受那些具体的命令(希望避免任何各种安全问题)。

如果这需要澄清,请告诉我,并感谢任何建议(甚至解决方案)!

0 投票
1 回答
1633 浏览

.net - “Jint - .NET 的 Javascript 解释器”可靠吗?

我在 Codeplex 中看到了jint 。它看起来很有趣。你用过吗?您认为 0.8.4 稳定且可用吗?(生产质量?)

0 投票
3 回答
2846 浏览

c++ - CPython 是字节码解释器?

在 CPython 的上下文中,我并没有真正理解“字节码解释器”的概念。有人可以对整个图片有所了解吗?

这是否意味着CPython将编译并执行pyc文件(字节码文件?)。那么什么编译py文件到pyc文件呢?Jython 与 CPython 有何不同(除了它们是用不同的语言实现的)。

我还在某处读到 Python 是 C++ 解释。这个对吗?那是什么意思?

我对 Python 还是很陌生,所以如果我问愚蠢的问题,请原谅我......非常感谢!

0 投票
6 回答
9906 浏览

interpreter - 解释型语言比编译型语言有什么优势?

可能的重复:
对动态语言的热爱有什么用

我已经读过这个,但我不明白。

制作自己的解释器有什么用。此外,它表示平台独立性。毕竟,平台独立性受到解释器可以运行的所有平台的限制。所以,我看不出有什么优势。

另外,我什至不知道动态类型的一种很好的用途。我觉得没用。当然,我错了,因为那里有很多动态类型的语言。

有人可以帮我吗?谢谢。

0 投票
8 回答
1246 浏览

python - 安全的 Python 解释器?

有安全的 Python 解释器吗?

想象一下你可以在你的机器上运行的 Python VM,它限制了操作。没有文件可以打开,没有系统调用等。它只是将标准输入转换为标准输出,可能是文本处理+数学等。

这样安全的 Python VM 存在吗?