7

我想了解Jint,一个用 C# 编写的 JavaScript 解释器是如何工作的。具体来说:

  1. 它如何利用 Antlr?
  2. 哪些部分(如果有)或这个项目是新颖的,哪些部分代表了现有 JS 解释器到 C#.NET 的端口?
  3. 一般来说,如何用 C# 编写 Javascript 解释器?例如,在技术和代码方面已经存在什么,您必须自己编写什么?
  4. 编写 JS 解释器最具挑战性的部分是什么?
4

2 回答 2

14

我是Jint的作者,在开发它之前,我写了一篇关于 Jint 中使用的技术的文章。这是另一个项目,但这是完全相同的架构。

这篇文章是最先进的表达评估

它描述了一个也在 codeplex 上的工具NCalc

于 2011-09-19T01:10:23.677 回答
1
  1. 查看 CodePlex 上的页面,它说它使用它。
  2. 没有什么是真正新颖的,他们只是在编写一个 Javascript 的解释器。
  3. 看到这个
  4. 实际编写它,让递归工作,让对象模型工作,等等。当然,只是让所有该死的运算符都正确下来。
于 2011-05-17T01:59:01.510 回答