Maestumプログラミング、囲碁、読書の話題この広告は、90日以上更新していないブログに表示しています。LLVMLispValという再帰的なデータ型を定義して、まずコードをそのLispValとしてパースする。流れはインタプリタを作った時とまったく同じ。インタプリタの場合はそこでevalを適用したが、コンパイラの場合はそこからSSA中間言語に変換を加えていく。nまだ非常に機能が制限されていて数字を(別の行にあるなら複数)扱うだけなので、LispValも数字だけ。s)parseNum関数にdo記法中毒が現れてる。前回定義した中間言語への変換。'a':t引数が二つある。変換元のLispValとSSA中間言語で変数名に使うための数字のリストだ。reverse一番最後の行のLispValから順に変数名用の数字を振りつつ前述のlispValToSSAを適用し、SSA型のリストのリストを最後にconcatでSSA型のリストにしている。IRへの変換パスがすべて定義できた。次回はその変換の流れを見ていきたい。IRで数字を返す方法を考える。)はてなブログをはじめよう!zehnpaardさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。