⛓️
LLVMで作るSwiftコンパイラ [Intro]
こんにちは、Kaz(@Kaz_Homma)です。
この連載では、LLVMを使ってSwift風の自作コンパイラを作る過程を記録していきます。
なぜSwiftコンパイラを自作しようと思ったか
学部時代から興味のあったコンパイラ開発がしてみたいと思い、勉強のためにSwiftコンパイラを自作しようと思いました。Swiftを選んだのは本家もLLVMで作られているので自作中に実装を参照しやすいかなと思いました。
この連載のゴール
- Swiftに似た構文の言語をパースし、LLVM IRを生成する
- LLVM IRをclang経由で実行する
なぜLLVM?
LLVMはSwift公式コンパイラでも使われており、
またRustやClangなど多くのモダンな言語処理系のバックエンドに採用されています。
コンパイラ開発の第一線でも使われているツールチェーンという認識なので、コンパイラエンジニアになりたい自分にとって重要な知識だと思っています。
今回参考にしているリソース
- 📚 chibcc mold作者のRuiさんが書いた、cコンパイラ
- LLVM Code Generation: A deep dive into compiler backend development
Discussion