文件名称:rhine-ml::national_park:用于无类型Lisp的OCaml编译器
文件大小:38KB
文件格式:ZIP
更新时间:2024-02-21 05:13:44
programming-language compiler llvm ocaml CompilerOCaml
莱茵河 Rhine是LLVM JIT上受Clojure启发的Lisp,具有可变长度的无类型数组,一流的函数,闭包和宏。 尽管Clojure通过在JVM上运行来隐藏较低层的细节,但是Rhine旨在揭示常见的Lisp构造如何映射到硬件。 建造 首先,使用opam switch 4.02.1来确保您正在运行自定义的ocaml(对于camlp4)。 首先,运行brew install libffi 。 然后,运行opam install ocamlfind menhir core textutils ctypes ,打开一个新的shell刷新env,然后调用make 。 对构建进行故障排除 导致构建失败的原因有很多: 像git submdoule --init愚蠢的事情可以很容易地解决; 只需将子模块锚定到有效提交并发送PR。 opam问题。 如果按照上述说明操作后遇到其中一种情况,请打开一个问题。 上游更新可能搞砸了。 愚蠢的构建问题通常是由于构建不是完全平行而引起的:由于种族, -j8选择了受抚养人。 要么进入llvm-build/并继续打make -j8直到成功为止,要么将-j8放
【文件预览】:
rhine-ml-master
----run_tests.py(2KB)
----parsetree.mli(903B)
----lexer.mll(1KB)
----pretty.ml(1KB)
----stdlib.rh(1KB)
----.gitmodules(92B)
----parser.mly(3KB)
----rgc.cpp(939B)
----ast_helper.ml(155B)
----mlunbox.ml(3KB)
----toplevel.ml(8KB)
----cookast.ml(2KB)
----LICENSE(1KB)
----location.ml(9KB)
----rrhine(3KB)
----README.md(8KB)
----Makefile(3KB)
----primops.ml(1KB)
----ast.mli(2KB)
----codegen.ml(32KB)
----bindings.c(6KB)
----tests()
--------truefalse.rht(154B)
--------dotimes.rht(395B)
--------andornot.rht(284B)
--------if.rht(367B)
--------let.rht(309B)
--------atom.rht(238B)
--------str-split-join.rht(195B)
--------arithmetic.rht(600B)
--------function_pointer.rht(96B)
--------types.rht(333B)
--------vararg.rht(74B)
--------typeconversion.rht(626B)
--------closure.rht(460B)
--------str-length.rht(39B)
--------defn.rht(311B)
--------vectors.rht(451B)
--------when.rht(82B)
--------stdlib.rht(387B)
--------def.rht(51B)
--------recursion_fibonacci.rht(154B)
--------cons.rht(305B)
--------comments.rht(108B)
--------print.rht(284B)
--------macro.rht(366B)
--------vectors_first.rht(146B)
--------.gitignore(9B)
--------vectors_rest.rht(223B)
--------strings.rht(334B)
--------lessgreater.rht(727B)
----.gitignore(148B)
----main.ml(472B)
----llvm()
----debug.sh(26B)