搜集用 LLVM 创造动态语言的例子

很想能自己造一门完整的语言, 一直关注这些东西, 现在还是出在收集阶段.
思路是将不写类型声明的代码解析跟推断, 生成 LLVM IR, 然后交给 LLVM 处理.
如果你看到其他可以作为教程的例子, 欢迎评论在下边 :)


Python

Let's Write an LLVM Specializer for 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

Swift programming language compiler written in Haskell.

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

Hue — a functional programming language for fun & play

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.

https://github.com/jasonjckn/llvm-clojure-bindings

阅读 5.1k

推荐阅读
题叶
用户专栏

ClojureScript 爱好者.

496 人关注
249 篇文章
专栏主页
目录