脚本宝典收集整理的这篇文章主要介绍了搜集用 LLVM 创造动态语言的例子,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
很想能自己造一门完整的语言, 一直关注这些东西, 现在还是出在收集阶段.
思路是将不写类型声明的代码解析跟推断, 生成 LLVM IR, 然后交给 LLVM 处理.
如果你看到其他可以作为教程的例子, 欢迎评论在下边 :)
Python
http://dev.stephendiehl.com/numpile/
KaleiDOScope
Implementing a JIT Compiled Language with Haskell and LLVM
http://www.stephendiehl.com/llvm/
crisp-compiler
A compiler for Crisp (Lisp/Scheme-inspired language) in Haskell, with an LLVM backend
https://github.com/talw/crisp-compiler
taylor
https://github.com/penberg/taylor
brainfuck
Building a Brainfuck compiler with LLVM
https://www.jeremyroman.com/2012/12/11/building-a-brainfuck-compiler-with-llvm/
simple C
My First LLVM Compiler
http://www.wilfred.me.uk/blog/2015/02/21/my-first-llvm-compiler/
Clasp
Clasp is a Common Lisp implementation that interoperates with C++ and uses LLVM for just-in-time (JIT) compilation to native code
https://github.com/drmeister/clasp
Hue
http://rsms.me/2012/05/14/hue.html
kaleidoscope.coffee
Node.js Bindings for the LLVM compiler infrastructure
https://github.com/guangwong/node-llvm-x/blob/master/examples/kaleidoscope.coffee
corvus
A statically-typed, low-level dialect of Lisp that targets LLVM.
https://github.com/eudoxia0/corvus
rhine-ML
Rhine is a Clojure-inspired Lisp on LLVM JIT featuring VARiable-length untyped arrays, first-class functions, closures, and macros.
https://github.com/artagnon/rhine-ml
llvm-clojure-bindings
LLVM Clojure Bindings and Toy Language.
以上是脚本宝典为你收集整理的搜集用 LLVM 创造动态语言的例子全部内容,希望文章能够帮你解决搜集用 LLVM 创造动态语言的例子所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。