2011-12-01から1ヶ月間の記事一覧

レジスタ割り付けをしたい(1)データフローを作る

Scalaでx86_64コンパイラを作っているわけですが、現状のコンパイラはスタックに変数のメモリを割り当てて、 変数はメモリから取り出して計算してまたメモリに入れるという計算をしています。 通常のコンパイラでは出来るだけメモリアクセスは無くしてレジス…

Liveness Analysis

タイガーブックを読んで、JavaScriptで生存解析いうのがあって、書いてみました。 で、Liveness Analisisっていう用語があったので、ググったら非常に奇麗にScalaで書いた実装が見つかりました。http://d.hatena.ne.jp/matt-k/20080530おお、こんなに簡単に…

Scalaのソースを読んでいて辞めてほしいと思った12の機能

えーっと、 https://github.com/joshcough/Compilers このへんのソースを地道に呼んでいる訳ですが、正直、Scalaの機能をふんだんに使っていて、 やめてくれー!っと思っております。俺は、Scalaマニアじゃないんだ!コンパイラの仕組みを知りたいんだー!な…

放射性物質は通さない膜

原子力発電所をすっぽり被える酸素や水素は通すけど、セシウム等は通さない膜が作れたら、煙は周りに撒き散らさなくてすむように出来るんじゃないかなと思いました水素爆発で大量の気体が一気に出来て建物が壊れて煙が漏れたのがいけなかったのだから、柔ら…

第二回Scala会議の資料

第二回Scala会議お疲れさまでした。 ライトニングトークをしたときの資料です。 http://hsk.github.com/x86_64/x86_64.pdfアセンブラを学びながらScalaで作るコンパイラバックエンド入門 http://hsk.github.com/x86_64/URLを変えただけです。やる気と環境が…

minimal インストール

ネットにつなげるのに手間取ったのでメモVirtual Box メニュー>VirtualBox>環境設定>ネットワークからホストオンリーネットワークを追加アダプタ 1:Intel PRO/1000 MT Desktop (ホストオンリー アダプタ, 'vboxnet0') アダプタ 2:PCnet-FAST III (NAT)/etc/s…

また、セミコロンについて悩む

だいたい、資料作りが終わった。というか飽きたので、次の段階でJavaScript級の文法をちゃんと考えるかぁっと思って、 下降型の演算子順位法でJavaScriptにある演算子と文を出来るだけいい感じにパース出来る用にしようと思ったのですが、 あれ、セミコロン…

第二回Scala会議(12/10(土)) のお知らせ

12/10にScala会議が恵比寿のRed hatであるのですが、ライトニングトーク枠が空いていたので申し込んで滑り込みました。(w ということで、x86_64コンパイラをScalaで作る話を5分でしてこようと思います。前、Scala勉強会で話したときにもっとこうした方がよか…