JavaScript
Node.js
LLVM

Node.jsでつくるNode.jsミニコンパイラ - もくじ

はじめに

「RubyでつくるRuby ゼロから学びなおすプログラミング言語入門」(ラムダノート, Amazon) という本に感銘を受けて、自分でもNode.jsでミニインタープリターを作りました

そして Turing Complete FM というポッドキャストを聴くうちにコンパイラも作って見たくなり、LLVMを使ってチャンレンジしてみました。

前提環境

今回は私の環境である Mac OS X 10.12 Sierra を前提にしています。

ミニコンパイラ編 目次

番外編

  • Extra01 : WebAssembry 化 ... emscripten を使って、LLVM IRからWebAssembly(.wasm)に変換
  • (いつかやりたい)ミニRubyの中間表現から、LLVM IRを使ってバイナリを生成
  • (いつかやりたい)LLVM IR を経由せずに、WebAssemblyのテキスト表現に直接変換

ミニインタープリター編

謝辞

「RubyでつくるRuby ゼロから学びなおすプログラミング言語入門」(ラムダノート, Amazon) に感銘をうけて自分でもミニNode.jsを作って見ましたが、本を読んでいた時には気がつかなかったことが多々ありました。書籍の構成、ミニRubyの設計がとても優れていて、とても参考になりました。
素晴らしい書籍を作ってくださった作者の遠藤さんとラムダノートさんに改めて感謝します。ありがとうございました。

ソースコード

今回作ったコードは GitHub で公開しています。

いつかやりたいこと

  • (実施済み)LLVM IRから、WebAssembryを生成する