Python实现的Scheme方言SchemePy.zip

时间:2022-08-07 07:08:28
【文件属性】:
文件名称:Python实现的Scheme方言SchemePy.zip
文件大小:44KB
文件格式:ZIP
更新时间:2022-08-07 07:08:28
开源项目 Python实现的Scheme方言,支持宏、continuation、lambda、各种基本类型等等,可以直接Python解释执行,也可以编译到JavaScript。编译到JS可以与JavaScript动态交互(互相调用),支持浏览器和nodejs环境。lex和yacc使用的是python的ply库,需要pip install ply。只对python2.7支持,更低版本很可能也可以运行,Python3目前不支持。DEMO(test1.ss)和核心库(core.ss)中有宏定义和调用、函数定义和调用、闭包、列表操作、map操作、fibnacci数列、一个简单的HTTP Server(调用nodejs的http模块实现)core.ss中的defmacro的定义有点问题,使用不方便,但可以使用内置的core-macro重新定义,core.ss中的defmacro、defn等等都也是我自己定义的。其实这个项目只不过是之前项目http://www.oschina.net/p/schemescript的重新实现。所以保留了支持在浏览器中运行(翻译到JavaScript且不使用nodejs库的情况下)这也是对Scheme和编译原理的告别,到今天了也是编译原理图书馆借来后就一直没看最后还是还回学校了。不在停留在这里了。继续前进! 标签:SchemePy
【文件预览】:
SchemePy-master
----test1.ss(3KB)
----cesk()
--------core_definition.py(10KB)
--------config.py(233B)
--------__init__.py(22B)
--------types.py(9KB)
--------core.py(9KB)
----main.py(1KB)
----macro_expanded_code.tmp(1KB)
----Rakefile(131B)
----util()
--------parser.py(4KB)
--------__init__.py(22B)
----README.md(5KB)
----.gitignore(39B)
----core.ss(1KB)
----out()
--------core.js(38KB)
--------core.bak.js(1KB)
--------core.js.map(43KB)
--------core.ts(26KB)
--------test1.ss.js(52KB)

网友评论