2004-11-01から1ヶ月間の記事一覧

昨日の

結局型チェックなんて考えてもどうしようもないので、当たってくだけろ、ということで、昨日のを実装してみた。字句解析も構文解析も実行もほとんどILogのものを流用できるので、すぐできた。のは、いいんだけど、これが便利かどうかを検証するにはどうした…

あああ、あと一週間の我慢だ…多分。一週間耐えたら次の仕事ではコード書けるかもしれない。色々勉強できるかもしれない。 しかし、あれだな。近いうちに役立つとわかっている技術を会社の金と時間で勉強できるっていうのは、すごい幸せなような気がするんだ…

4.0が偉い。

昨日のを書いてて思ったんだけど、ひょっとしてGCCは配列まわりの解析が甘いんじゃないかなぁ…とか。 あー、でも、4.0ではなんとかなってた。んん、まあいいのかもしれない。

型チェックってどうすればいいかっていうメモ

と、したいところなんだけど、ちゃんとした型システムって作ったこと無いからどういうのが必要なのかわからんのだよなぁ… とにかく、型チェックっていうのは組み合わせだ。いっこいっこのパターンは量が多くないんだけど、型の数に応じてパターンの数が組み…

バージョン番号

は結局0.0.1にすることに。 Knuth先生はTeX作ったことよりも、Art of 〜書いたことよりも、あのバージョン番号を考えたのが偉い、とか適当なことを思ってる人間なんで、なんか、そういう遊びをしてみたいなぁ。と思ったんだけど、6.626はやっぱちょっと微妙…

0.0.1 リリース

軽く休憩しようかなーとか思って、ふらりと外へ出たらその足でゼルダ買ってて7時だったのが気が付いたら10時になってた。しかし、アレだな。リンクはカワイイ系のキャラとして攻めてくるつもりなのだろうか。ILog 0.0.1 と、まあ、それはいいとして、specsを…

orz これのコンパイラが http://morihyphen.hp.infoseek.co.jp/prog/orz.txt これ。 で、サンプルの「orzを出力」っていうのをコンパイルしたのが http://morihyphen.hp.infoseek.co.jp/prog/orz.s.txt これ。 あとはspecとかを書けばいいかなー。 今のソー…

動いたー

っぐ。サンプルが200行超えてしまった。 「200行でポータブルな最適化コンパイラが書ける!!」 とかだったらインパクトあると思ったんだけど。300行ではちょっとなぁ…無理すれば200行に収まりそうな気もするんだけど、複雑そうに見えるのも困るしなぁ。

ここまで関数の渡す順番と引き数の受け取る順番が逆になっていることに気付かなかった僕は相当のアホなんじゃないかと思った。 あと、文章でアホって書くと、なんか気持ち悪いなぁ。 なんか潰さないといけないのがどんどん出てくるな…厳しい。 とりあえず、…

よし、あれもできたし、これもできたし、いい感じに進んでますよ。明日早起きできれば、明日の朝リリースもできるかもしれない。ただ、早起きできるかはわからないのと、まだ潰せていない課題がこれからどうなるかわからないので、微妙なところ。 とりあえず…

んん。デバッグ無しで一発で動いてしまうと逆に不安になる…

match文の match ( expr ← これ ) { case 1: hogehoge; case 2: hogehoge; } の名前をなんにしたらいいかわからなくて悩む。 CONDとかでいいのかなぁ…

字句解析

よし、大体できた。と。 var line = 0; var table = [ // 基本は ["パターン" : 値] のペア // マッチしたら next_token関数は // [値:マッチデータ] というペアを返してくる。 ["[a-zA-Z_][0-9a-zA-Z_]+":2], ["=":4], ["\\[":5], ["\\]":6], ["\"[^\"]*\""…

GIMPLE

で、ちょっと息抜きにtree-ssaについて調べてみた。息抜きのつもりが、読んでたら寝てしまったわけだが。 まあ、そんな話はいいか。とにかく、最適化のことはよくわからんのだけど、フロントエンドのAPIが変わっちゃうんじゃないかなー。とそういう感じで調…

今日も早く起きれた。4:35。 けど早起きしても眠いからって15:30から18:00まで寝てたら意味ないような。もはや今日までか。二日坊主。

いや、しかし、文体がカタい。こういう内容のを軽い文体で書けるようになったら僕としては十分なんだけど。 アレだ。アレ。文体がカタくなってしまうと、読者に「この人ひょっとして真面目に、真剣にやってんじゃないかな…」っていうような不信感、不安感を…

コンパイラ用途

ILogが、コンパイラとして使いやすいかどうかは、死活問題なのだ。それは、Perlが文字列処理に便利だとか、そういう便利/便利じゃない程度の話ではなくて、そう、ILog自身のアイデンティティに関わる問題なのだ、とか、そういう話。 まず、用途を限定した、…

メタ文字

んあ、そうか。昨日のはメタ文字作っちゃえばいいんだよな。'\i'で識別子っぽい文字列とマッチ。'\I'でマルチ文字と識別子っぽい文字とマッチって感じで。 そうすれば、いかにもコンパイラ用途っぽい…はず。あと、""でくくった文字列は'\s'でマッチとか。バ…

睡眠時間狂ったついでに早起きしてみる。今日は4時には起きてた。

/memo/

Pythonのregexprの移植を大体終了…と。あと、ささやかにマルチバイト対応。 re.match("あ+b","ああb"); // マッチする これだけなんだけど。正規表現のマルチバイト対応のしかたはわかるんだけど、どういう表記にしたら使いやすいかがわからないんだよねぇ。…

睡眠リズム

9時頃寝て、12時過ぎぐらいに起きて作業を始めると、1時〜3,4時くらいまで、作業効率をかなり高く保つことができるようだ。ただし、やりすぎると次の日の業務に影響が出る。あと、腹減った。

正規表現が熱い

前回は、SpiderMonkeyの正規表現実装が直観的でいいんじゃないか、という話だったんだけど、どうも、こいつがあんまり効率が良くなさそうに見える。まあ、別に効率なんてどうでもいいといえばいいんだけど、やっぱり、気持ち悪いので、他に方法が無いかとPyt…

睡眠リズムが崩れまくりだ。 明日は休出。と。

圧縮はゲームには使えん!!

http://d.hatena.ne.jp/w_o/20041016#p1 圧縮ってゲームにならんかとか言ってたので、対戦(予定だった)圧縮シューティングを作ってみた。 これがこれが、大失敗。全然使えねぇ。 作る前から、「シューティングという単純なシステムに比べて"圧縮"っつーのは…

いまだにソーシャルネットワーキングとやらがなんなのかわかりません。