本项目用最简单的代码实现了一个类js解释器,旨在以最轻松的方式,来学习如何实现一门语言,当前项目为js版本,可以在node bun等后端js运行时直接运行无三方库依赖,也可以在浏览器中直接运行(不支持File),该项目同时还有rust版本repo和java版本的repo(java版本代码逻辑有较大不同,采用了antlr工具辅助实现)。
当前已经实现的特性有:赋值、判断、循环、函数、闭包、面向对象(仅继承与多态)、异常抛出、try-catch等。
赋值、判断、循环:
函数、闭包、异常、try-catch:
面向对象:
表达式优先级:
字符串、数组:
扩展功能Math Time Json File Http:
如果有node环境可以直接用node启动,如果没有也可以从release中下载打包好的二进制可执行文件,来执行文件。
$ node main.js test.mocha其中test.mocha可以换成其他文件,当前语言的语法和js类似,可以参考test.mocha中的用法。
该项目只用于教学,并没有做详细的边界情况的测试,同时解释性能和同步http库有严重的性能问题,请勿用于生产环境。
摩卡是我家的大肥猫!!






