文件名称:MyLang:一个由Nearley构建的业余编译器。 (感谢托比)
文件大小:21KB
文件格式:ZIP
更新时间:2024-06-01 03:40:20
nodejs interpreter js compiler grammar
MyLang 一个由Nearley构建的业余编译器。 特征 Lexer 解析器 AST树为JSON格式 生成JS作为中间代码 声明书 While循环 多变的 打印 运算符+ - * / >= <= > < = := 使用 $ node parser.js examples/hello-world.mylang $ node examples/hello-world.js 例子 打印 $ node parser.js examples/hello-world.mylang $ node examples/hello-world.js print 10 环形 $ node parser.js examples/loop.mylang $ node examples/loop.js n : = 1 while n < 10 { n : = n + 1 print n } 斐波那契
【文件预览】:
MyLang-main
----.gitignore(14B)
----package.json(598B)
----package-lock.json(9KB)
----mylang.js(5KB)
----mylang.grammar(1KB)
----LICENSE(34KB)
----parser.js(2KB)
----examples()
--------hello-world.js(16B)
--------loop.ast(543B)
--------loop.js(57B)
--------variable.js(15B)
--------variable.mylang(10B)
--------hello-world.mylang(8B)
--------fib.mylang(111B)
--------fib.js(141B)
--------example1.js(89B)
--------variable.ast(104B)
--------hello-world.ast(63B)
--------example1.ast(607B)
--------loop.mylang(44B)
--------example1.mylang(56B)
--------fib.ast(1KB)
----README.md(950B)