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

本色々

なんか、服を買おうかと思ってユニクロに行ってみるも、太ったせいか似合うと思える服がない。 う、これはやばいんじゃということで、服屋さんをうろついてみて、まずいと思った。 で、ストレス発散に色々本を買った。1.やさしいコンパイラの作り方 この本…

Tigerいろいろ

Tigerの実装を探してみたリンク集です。http://tiger64comp.svn.sourceforge.net/viewvc/tiger64comp/ http://strategoxt.org/Tiger http://www.ohloh.net/p/lrde-tc/ http://hackage.haskell.org/package/tiger https://github.com/aryx/tiger http://edwar…

エグザイルのファンになりつつある

朝の連ドラ>バレーの応援>エグザイル魂 で火がつきつつあります。 サーフィンの板に絵を書いてたのが嬉しくて。

人のプログラムコードに合わせる

俺も合わせます。 で、出来るだけ綺麗といわれる確率の高いコードを書きます。 自由って言われると困ります。 てのもあれなので、そのときはタブ4で書きます。

ちゅうにびょう

おそらく私は死ぬまでちゅうにびょうであります!

金曜日に突然オフィス引越しを言い渡され<おおげさ

1日で大部分の引越しを済ませました。 物件などは自分で探してないので何も苦労してません(w おしまい。 いや、環境が変わって体調を崩したか。 そう、崩したのです。<だからどうしたという

タイガー意味解析

タイガーっていうと、タイガーマイコンジャー炊きたて♪ ってのがありますね。おなかすいた。えーと、意味解析を読み始めました。セマンティックスです。 意味解析といえば記号表ってのがまず出てきます。 記号表は要するに連想配列、マップ、ハッシュマップ…

情報という名のプレゼント

id:w_oさんが27歳の誕生日を迎えたそうです。 おめでとうございます。どうも、大崎に住んでいるらしいので、以前大崎に住んでいたことがある先輩としてwww ちょっと古い大崎情報をプレゼントしようと思います。 プレゼントというよりは、昔の思い出に浸っ…

tiger作る

もはや、タイガーブックは読んでいませんでした。 大域的エラー復帰というのがあるらしい。ふーんって思ったくらいです。とにかく、コンパイルを通す。エラーは100個くらいあって気が滅入りました。 でも、型エラーが続いているだけなので、 それを1個ず…

tiger book読む

tiger bookを読むといいつつ、全然本は読んでません。 ひたすら文法というかJCUPと格闘してます。 コンフリクトは無くなったのが以下のソースです。 まだ、コンパイラは通らないと思います。 JCUPでは名前を使ってバインディングできる素晴らしい機能がある…

tiger book読む

amd64tigerのソースが参考になるはずと、読んでみました。 mosmlいう処理系用に書かれていて、mosmlっていうのはどうもモスクワ大学製のsmlコンパイラらしいということで、 トークンのシンボル名がどうもロシア語で書かれている!! っていう点を除けば、参…

tiger bookに再度挑む

smlのコードをScalaに素直に移植していけばと思っていたのですが、 字句解析器ジェネレータとパーサジェネレータが前提。 そして、Scalaにはyaccやlexの実装がない。 パーサコンビネータはあるけど、移植に手間がかかること請け合い。 うー、Javaの実装もあ…

tiny-cをscalaに移植する。(7)

[Scala]tiny-cをscalaに移植する。(7)今回は、lisp級マクロを組み込みました。 作業的には以前作っていたものをコピしただけなので、数十分の作業でした。 (コピペだけなら、数十秒で、動作確認に数十分、ブログ書くのに数十分です。) mac (add1('a)) ( a + …

tiny-cをscalaに移植する。(6)

マクロを組み込もうと思っていたのですが、その前にリファクタリングをしました。ScalaにはListがそのままあるので、AST内にあるLISTをなくして、ScalaのListに置き換えました。 これにより、list操作関数は消すことが出来ました。また、余計なマッチングが…

tiny-cをscalaに移植する。(5)

今日は tiny-c のフロントエンドをC言語風式言語 Compact を使うように書き換えました。 ソースでいうとCLex.javaとcparser.yをcompact.scalaとcompact2ast.scalaに置き換えを行いました。https://github.com/hsk/ctinyc処理内容compact.scalaで文字列をタプ…

mincamlj

同じような感じで、Scala版MinCamlを修正しました。 http://github.com/hsk/mincamlj/blob/master/src/emit_x86.scala 行数は増えたけど、見通しはよくなったんじゃないかと思います。

tinycをscalaに移植する。(4)

前回は、とりあえず、ゴリゴリとScalaに移植した状態でした。 ソース読みたくないって思ってた理由を考えてみました。 アセンブラの出力部分とコード生成部が一緒になっていて どんなアセンブラの命令を使っているのかがわからず、 めんどくさいと思っている…