2011-05-17 146 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