Swift製C言語コンパイラを作って深掘りする低レイヤーの世界 by yochidros

iOSDC Japan 2025
レギュラートーク(20分)

Swift製C言語コンパイラを作って深掘りする低レイヤーの世界

yochidros yochidros yochidros
2

みなさん一度は実践するであろう自作コンパイラ。触ったことがない人に取っては何をすればいいのか、何をしているのか理解されていないと思います。
現在、オープンソースで多くのコンパイラのコードはあり、仕組み自体理解することはおそらく可能でしょう。
時には自分の手でコンパイラを作ってみることも重要だと私は思います。しかも好きなプログラミング言語で。
一度その仕組みを理解し、自身の手に触れてみることは、プログラミング言語やコンピューターサイエンスへの理解を格段に深める貴重な経験となります。

このセッションでは、Swift言語を用いてC言語のサブセットをコンパイルするミニマルなコンパイラーを自作した経験から得られた知見を共有します。
実装を通して直面した課題と解決策、そしてコンパイラの各フェーズが実際にどのように動作するのかを、実践的な視点でお伝えします。
また、Swiftの表現力を活かしたコンパイラ開発の魅力も感じていただければ幸いです。

セッション内容:

  1. コンパイラとは何なのか
  2. 字句解析 ?
  3. 構文解析 ??
  4. 抽象構文木 ???
  5. コード生成 !?
  6. デバッグ !!