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

思いついたアイディア(1)

はてなダイアリーで自動コードハイライト。jsで字句解析が楽にできるようになったので、 貼り付けておくだけで、preタグ内をdomで回って色つけられるようなjavascriptを書いておいたらいいんじゃないかと。

lispのマクロ

onlisp読んで、ようやくlispのdefmacroがちょっとだけわかりました。 C言語のマクロと同じだと思ってたのですが、実際には、式を返す関数だってことでした。 で、自分が作ったのは単純にinline関数なので、ぜんぜんdefmacroではなかったです。orz 凄く恥ず…

DSLうんぬん。define-syntaxをやるには、、、。

えーと、いろいろ思い出してみて、 結局のところ、去年のshelarcyさんのコメントが非常にありがたいのでこの辺を もう一度読んでみます。去年見たときは何がなんだかだった覚えがあるのだけど。 # shelarcy 『DSL Implementation in MetaOCaml, Template Has…

実装の続き

今日は、defmacroの実装できました。 cexの実行部分も修正したりしたのですが。emacro:ってのがマクロ展開後の配列みたいな感じの表現で ecex:がマクロ展開後のcex表現です。 src :defmacro[a](b,c){(b+c)}stdout.write(a(1,2)+"\n"); cex :defmacro[a] (b ,…

今使ってる、字句解析器

今使ってる字句解析器です。javascriptです。 あとでコメントとかちゃんと考えないとなぁ。 var buffer, line, LPAR=4, RPAR=5; var yylexa = [ new RegExp("^[\\n]"), function(){line++;}, new RegExp("^[ \\t]+"), function(){}, new RegExp("^[A-Za-z_](…

実装の続き

今日は、、、。while,break,continue,function,returnを実装しました。 あとは、actionscriptで動くように直しました。 なんと、actionscriptでは、正規表現が使えないという問題点がありまして、(AS3ではあるらしいのだけど)RegExpのactionscriptによる実…

C言語でGC

http://d.hatena.ne.jp/w_o/20060104 http://d.hatena.ne.jp/w_o/20060105w_oさんが、いろいろ考えてくださってます。なんだか、非常にありがたいです。 そのうち、GC付き言語を作ることがあれば、(あるのか?)参考にさせてもらおうと思います。 つくるな…

の実装

とりあえず、CEXっていうC言語っぽいリストだか、ベクターだかわからんけど、まぁそういうデータフォーマットです。 それを使った言語を作ってみようということで、実装してみてます。 目先の目標はswf上で動く言語です。とにかく、小汚くてもいいので実装し…

GIMPLE

言語のバッグエンドが気になってきたので、id:w_oさんにメールで、GCCとILogScriptに付いて教えてもらいました。GIMPLEってのがあるそうで、ILogScriptはGIMPLEを扱う言語なんだそうです。googleで検索すると、こんな解説がありました。http://www.jp.redhat…

C言語でコピーGC

tanakhさんがC言語でコピーGCを作られてソースを公開してます。 でも、問題があって、スタックの中身はポインタだか、ポインタでないんだかわからないから、 コピーしたときにアドレスが変わるけど、そのアドレスをスタックの中に入れられない。 って問題…

あけましておめでとうございます

今年は、C言語っぽい言語でCEXでトランスレータ作って、shinichiro_hさんがいってたタスクオリエンテッドプログラミング言語みたいなのを作るのを目標にがんばってみたいと思います。で、できたら、ilog使ってコンパイラにまで出来るとうれしいなと思います。…