文件名称:eslisp:JavaScript的非标准S表达式语法和宏系统
文件大小:50KB
文件格式:ZIP
更新时间:2024-02-21 05:12:54
javascript lisp compiler macro CompilerLiveScript
埃斯利普 / JavaScript的语法,带有。 最小的核心,最大程度可定制。 这不是魔术:这只是 AST格式的S表达式编码。 宏是返回对象的普通JS函数,这些对象仅在编译时存在。 这意味着可以将宏放在以分发您自己的语言功能, 。 :warning_selector: 注意0.xx 。 API可能会在您的脚下移动。 :warning_selector: 目前仅支持ES5。 除非您。 哲学 小内核,接近JS 。 此核心eslisp与抽象语法树格式紧密对应,因此可以清楚地匹配输出JS。 除非您使用宏,否则它纯粹是语法适配器。 最大程度的用户控制。 用户必须能够轻松地将语言扩展到他们的需求,并且能够独立于核心语言发布其功能。 用户定义的宏必须像内置的宏一样对待,它们只是普通的JS函数。 这意味着您可以使用可编译为JavaScript的任何内容来编写它们,将它们放在,并require它们。 激励榜样 这是在eslisp中实现条件编译的示例: ; Macros are functions bound to names, which operate on code. Thi
【文件预览】:
eslisp-master
----src()
--------es-statementify.ls(259B)
--------cli.ls(6KB)
--------import-macro.ls(784B)
--------index.ls(2KB)
--------translate.ls(2KB)
--------esvalid-partial.ls(764B)
--------built-in-macros.ls(21KB)
--------env.ls(6KB)
--------compile.ls(5KB)
--------parse.ls(817B)
----test-browser.ls(2KB)
----doc()
--------source-maps.markdown(2KB)
--------how-macros-work.markdown(9KB)
--------basics-reference.markdown(15KB)
--------comparison-to-other-js-lisps.markdown(3KB)
--------bundling.markdown(317B)
--------ditributing-modules.markdown(2KB)
----.travis.yml(233B)
----LICENSE(747B)
----makefile(745B)
----readme.markdown(17KB)
----.gitignore(35B)
----bin()
--------eslc(375B)
----test.ls(42KB)
----package.json(1KB)