pretty print

llvm : tutorial : code generation

llvmのチュートリアルの続き。 今回はパースして得られた抽象構文木から、llvmの(llvm IRの?)コードを生成する。 概要? オリジナルのチュートリアルでは、コード生成にC++のビルダクラスが使われているが、common lisp用のそういったモジュールは用意されて…

ハッシュテーブル表示: pretty print対応版

前回、ハッシュテーブル用にprint-objectメソッドを定義したが、これには重大な欠点があった。次の例を見てもらえば分かると思うが、要素数がある程度大きくなると出力が極めて見にくくなってしまう。 ;; 30要素のハッシュを作成する > (let ((hash (make-ha…

list2html

HTMLパーサのところで、パース結果のlistをcl-whoに渡せば、HTML文字列が生成できるということを書いたが、整形されていなくても良いなら、変換処理自体はpretty-printを使って*1簡単に実装できる。 準備 参照: nlet ;; 型定義: car部がkeywordならHTMLリス…