javascript - 如何访问 node.js 解析器代码?

标签 javascript node.js parsing compiler-construction

目标:创建一个较小版本的 node.js,最终目标是创建一种具有 Node (JS) 的某些功能的脚本语言,并添加一些我自己的功能。

我当然知道我需要查看 node.js 源代码,但我在 nodejs.org 上的 node.js 源代码中找不到任何解析器代码。 node.js 是否有自己的解析器(可能使用 yacc 或类似工具),因为 node.js 主要是用 C、C++ 编写的?如果是这样,我在哪里访问它?还是回复解析JS的V8引擎源码?我相信 node.js 语言本身并不严格符合 V8 Javascript。或者是吗?由于 V8 将 JS 编译为 native 机器代码,因此它肯定在某处具有完整的解析器/翻译器。

简而言之,有人可以指出解析器代码,让我从 node.js 解析器中删除一些不需要的语法规则吗?或者是否已经有一些开源项目解决了这个问题?

最佳答案

如果你想创建一种新的语法/语言,它仍然利用 Node 的机制来执行 I/O 等等,你最好的选择可能是考虑创建一个转译器(例如像 CoffeeScript 或 TypeScript 所做的那样) .

这样做比试图破解 v8 的源代码以更改 JavaScript 语言实现本身要容易得多。

关于javascript - 如何访问 node.js 解析器代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32654050/

相关文章:

javascript - 在 Java 中将用户输入评估为 JavaScript 时的安全风险

node.js - 错误 : ENOENT: no such file or directory, scandir '.../node_modules/node-sass/vendor'

javascript - 从名字中获取数字

javascript - jquery 显示/隐藏使图像变大

javascript - 标签更换前的 polymer 纸标签(卸载前)

node.js - 在lambda中调用第二个异步函数而不是调用

javascript - JSON:解析数组的名称(而不是值)

java - Kotlin - 无法解析 JSON

javascript - 使用 Jquery 2 的菜单栏

javascript - 找不到 TypeScript 模块