解释 Jint 的工作原理

发布于 2024-11-07 19:43:39 字数 337 浏览 6 评论 0原文

我想了解 Jint(用 C# 编写的 JavaScript 解释器)的工作原理。具体来说:

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

I would like to understand how Jint, a JavaScript Intrepreter written in C# works. Specifically:

  1. How does it makes use of Antlr?
  2. Which parts, if any, or this project are novel, and which parts represent a port of an existing JS Intrepreter to C#.NET?
  3. In general, how does one go about writing a Javascript Intrepreter in C#? For instance, what's out there already in terms of technology and code, and what do you have to write yourself?
  4. What would be the most challenging parts of writing an interpreter of JS?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空袭的梦i 2024-11-14 19:43:39

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

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

它描述了 GitHub 上的一个工具,NCalc

I am the author of Jint and before developing it I wrote an article about the techniques which are used in Jint. It was for another project, but this is the exact same architecture.

The article is State of the Art Expression Evaluation

It describes a tool which is on GitHub, NCalc

烙印 2024-11-14 19:43:39
  1. 查看 CodePlex 上的页面,它说它使用它。
  2. 没有什么是真正新颖的,他们只是在编写 Javascript 的解释器。
  3. 请参阅这个
  4. 实际编写它,让递归工作,让对象模型工作, ETC。
    当然,只是让所有该死的操作员都正确地工作。
  1. Look at the page on CodePlex, it says it uses it.
  2. Nothing is really novel, they're just writing an interpreter of Javascript.
  3. See this
  4. Actually writing it, getting recursion to work, getting the object model to work, etc.
    And, of course, just getting all the darn operators down correctly.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文