肖像:编译成Python37字节码的小语言

时间:2021-02-04 06:08:31
【文件属性】:
文件名称:肖像:编译成Python37字节码的小语言
文件大小:57KB
文件格式:ZIP
更新时间:2021-02-04 06:08:31
python bytecode parsing parser-generator parsing-expression-grammar 目录 肖像 这是在自制的解析表达式语法实现之上构建小型语言编译器的实验。 目前,在该项目中实现的语言effigy可编译为Python 3.7字节码格式的子集。 更具体地说,Effigy编译器生成.pyc文件。 Effigy的运行时是Python 3.7虚拟机。 区别只是字节码的生成方式。 大多数惯用语,如声明文字,调用函数,分配变量等,都具有与常规Python代码完全相同的语义。 与Python相比,Effigy在使用函数进行控制流和不使用类的方面有所不同(可能稍后再添加)。 怎么玩 Effigy当前是一个很小JavaScript小程序。 您可以使用npm i efgc安装它。 之后,您
【文件预览】:
effigy-master
----peg.js(15KB)
----.github()
--------workflows()
----t()
--------stm-for.efg(34B)
--------expr-004.efg(158B)
--------expr-002.efg(40B)
--------stm-trycatch.efg(140B)
--------fn-0001.efg(40B)
--------fn-0003.efg(70B)
--------fn-0004.efg(137B)
--------fn-0009.efg(91B)
--------expr-003.efg(22B)
--------fn-0006.efg(84B)
--------stm-while.efg(140B)
--------expr-001.efg(9B)
--------Makefile(127B)
--------fn-0005.efg(149B)
--------expr-005.efg(260B)
--------stm-ifelse.efg(136B)
--------fn-0008.efg(48B)
--------fn-0010.efg(154B)
--------fn-0007.efg(52B)
--------fn-0002.efg(65B)
----COPYING(34KB)
----lang.tr(2KB)
----lang.peg(4KB)
----spec()
--------peg.spec.js(16KB)
--------lang.spec.js(30KB)
--------support()
----README.org(8KB)
----efg()
--------testrun.efg(2KB)
--------exceptions.py(205B)
--------test.peg.efg(3KB)
--------peg.efg(4KB)
--------Makefile(127B)
----README.md(8KB)
----Makefile(220B)
----arch()
--------py37.js(13KB)
--------py37.opcodes.js(6KB)
----.gitignore(33B)
----cli.js(665B)
----package.json(292B)
----lang.js(22KB)

网友评论