A python project to transpile python code to lua code. this project is just for research not for production.
- python 3.4
- luajit (for test)
运行 medusa.py
,从 stdin 读取 python 代码,在 stdout 输出转译的 lua 代码。
$ python medusa.py < py_code_file.py
or
使用脚本 transpile.sh
,对 python 代码文件/目录进行批量转译。
$ ./transpile.sh [py_code_file.py | py_code_dir]+
所有测试用例在 tests,执行 run_tesh.sh
,可运行所有 tests,
$ ./run_test.sh
其中
- 使用
assert
函数进行断言测试 - 使用
setfenv
加载 polyfill 运行环境
转译语言以 python 3.4 为基准,支持大部分 features,转译为 lua 5.1 (准确的说是 luajit) 同义可执行代码。
具体可见 features
关于 medusa 运行的内部原理,可参考 medusa internals
Heavily borrowed the idea from NeonMercury/python-lua, thanks.