Cljs2goClojureScript 的 Go 编译器
Cljs2go 是 ClojureScript 转换为 Go 的编译器。
ClojureScript 转换到 Go,不是分支出来,而是直接覆盖到 ClojureScript 上。Go 是从 cljs.go.compiler 上发行出去,而 cljs.go.compiler 是 cljs.compiler 的一个补丁版本。在运行时,会提供简单的 JS 兼容以避免接触 cljs.core,这些 js 和 goog 包不打算对用户开放使用。
一旦编译器开始工作,该计划将提供第二个猴子补丁(monkey patch),这回是提供 Java 依赖,像 java.io.File 和其他 Clojure 副本,clojure.java.io。此补丁可以将编译器本身编译成 Go。这既不会改变运行时编译程序的特点,也不会引入 eval,它只是充分利用了 Go 来建造管道。
示例代码:
# Clone and build the Go packages: $ go get github.com/hraberg/cljs2go # The repo itself lives under src by convention: $ cd $GOPATH/src/github.com/hraberg/cljs2go # go test, for Go tests checked into git, both generated and handwritten ones: $ go test -v ./... # To re-generate the tests from ClojureScript (this might dirty the repo): $ lein test # (This also generates and runs some tests under target/generated which aren't checked in.) # To re-generate the Go for ClojureScript itself: $ go generate
评论
langcc新一代的编译器编译器
langcc是一个工具,它以标准BNF风格的格式获取语言的形式化描述,并自动生成一个编译器前端,包括语言的抽象语法树(AST)和遍历的数据结构定义、一个词典、一个解析器和一个pretty-printe
langcc新一代的编译器编译器
0
DottyScala 的下一代编译器
Dotty是Scala的下一代编译器,也是Scala的新语言概念和编译器技术研究平台。具有以下特性:Union, intersection and literalsingletontypesImple
DottyScala 的下一代编译器
0
PhalangerPHP的.NET编译器
Phalanger是PHP的.NET编译器;也就是能将PHP程序代码编译成.NET平台的MSIL。Phalanger早在2005年就开始由一群捷克的计算机系学生动手开发。Phalanger与PHP5.
PhalangerPHP的.NET编译器
0
gispGo 的 Lisp 编译器
gisp是用GO编写的简单(非标准)Lisp编译器。包括:基于RobPike的Go词法扫描的词法分析器简单递归解析器,支持ints,floats,strings,bools通过循环或者重复来进行TCO
gispGo 的 Lisp 编译器
0