{に、]は}に対応します。以下のプログラムは、Brainf**kの++[>++<-]>.に対応するコードで、実行したら"\x04"を出力します。IRは次のようになりました。使われていることがわかります。%12でそこにジャンプしているのだと想像がつきます。次のようにラベルを読みやすく書くこともできます。%while_cond0while_end0:while文の出力の仕方が分かったので、コンパイラの続きを書いてみます。0;}試してみましょう。ややこしいコードを動かしてみます。Bosmanさんという方が書いた、マンデルブロ集合のプログラムも動かすことができます。出力は読者が確認してください。いうのはコンパイラの分野でコード書いていて楽しい所です。IRレベルの命令列を最適化する機能があります。LLVMをバックエンドに持つコンパイル言語は、LLVMの最適化の恩恵を受けられます。IR命令列がどのように最適化されるかを調べるには、optコマンドを使うとよいでしょう。配列を確保してその上で計算していたはずが、最適化によってそれも消えてしまいました。複雑な、マンデルブロ集合のスクリプトで実行時間を比較してみましょう。worldほど単純ではないので、配列ごと消えるということはありません)。コンパイルして実行ファイルを作ってみます。