2011-05-17 68 views
2

我想了解如何使用C#编写的JavaScript Intrepreter Jint。具体如下:解释Jint如何工作

  1. 它如何使用Antlr?
  2. 哪些部分(如果有的话)或此项目是新颖的,哪些部分代表了C#.NET中现有的JS Intrepreter的端口?
  3. 一般来说,如何才能在C#中编写Javascript内联代码?例如,在技术和代码方面已经有了什么,你有什么自己写的?
  4. 编写JS解释器最具挑战性的部分是什么?

回答

10

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

的制品是State of the Art Expression Evaluation

它描述一个工具,这也是在CodePlex,NCalc

1
  1. 看看CodePlex上的页面,它说它使用它。
  2. 没有什么是真正的新颖,他们只是写一个JavaScript的解释器。
  3. this
  4. 其实写它,让递归工作,得到了对象模型的工作,等 ,当然,只是让所有的混账运营商下降正确。
+1

4a上。 (据我了解),如果不编写解析器(不像许多其他语言),就不能编写JavaScript的词法分析器。详情:http://www.mozilla.org/js/language/js20-2002-04/rationale/syntax.html#regular-expressions – 2011-05-17 02:28:42