LLVM でなんかしたい

遊びで言語処理系を作ってみようって感じ.

この本は,自分用のメモ的な感覚で書いてるので,あんまりしっかりはしてないかも.

書いたコードはここに置いてる.

気長〜に続けていきたい……

C++ で文字列を扱うのは,めんどくさい.

目的はあくまで,LLVM を使って何かしてみること.文字列処理に苦しみたいわけじゃない.

そこで,今回作る言語のソースコードは,[lex.charset] にある basic source character set のみで書かれているものとする.

コメントも例外ではない(日本語でコメント書けないのはつらいけど).でも,実装的には UTF-8 なら日本語でコメント書いても大丈夫だと思う

ASCII にあるドル $ とかバッククォート ` が無いけれど,それなりの言語は作れるだろう(C++ 自体がそうなわけだし).

ソースコード末尾の改行

ソースコードの末尾には,改行が必ず付いているものとする.そうするとちょっと楽になる.

JIT コンパイラ

1 文ずつコンパイルして実行する.

モジュールというのは LLVM の翻訳単位.よって 1 つの文が 1 つのモジュールとなる.