目标:创建一个较小版本的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编译为本机机器代码,因此它必定在某处具有完整的解析器/转换器。
简而言之,有人能指出解析器代码让我从node.js解析器中删除一些不需要的语法规则吗?或者是否有一些开源项目已经解决了这个问题?
答案 0 :(得分:1)
如果你正在寻找创造一种新的语法/语言仍然利用节点的机制来做I / O等等,你最好的选择可能是研究创建一个转换器(例如喜欢CoffeeScript或TypeScript的作用。)
这样做比尝试破解v8的源代码来改变JavaScript语言实现本身要容易得多。