用JS创造一个全新的编程语言

2018-06-25
阅读 6 分钟
1.4k
egg编程语言 代码改自Eloquent Javascript: Chapter 12 egg编程语言遵循如下规范 语言只有表达式,没有语句,如加法:+(1, 7),连续相加如+(1, +(2,3)) 多个表达式用do包裹,如do(expr1, expr2, expr3, ..., exprN) 数据类型支持数字 布尔 字符串 代码实现: parse 将源码字符串parse成ast。 {代码...} {代码...} 一个合...

简单实现 JavaScript 模块加载

2018-06-22
阅读 4 分钟
1k
这个模块加载的实现有很多不足,如果模块内有很多require时会被执行很多次,所以最好子模块内都是函数不要有自己的状态。seajs的依赖解决方法是,调用函数的toString方法来获得函数字面量,然后在parse出模块依赖,先加载依赖,每一个依赖加载完成后都emit一个事件,当所有依赖都加载完毕后,才执行factory函数,factory...