審判
しかし,女子の試合のタイミングがずれて,気持ち悪いね.
どうでもいいが,関東学連の規約は穴だらけだと思っていたことを,思い出した.今となってはどうでもいい問題と思い出.
あと,だれか今週の授業がどうなっているのか教えてくれ.(必死)
昨日の問題に関しては,
type token = RParenToken | LParenToken | PlusToken ....
みたいな型の解析と同じ問題に思えてきた.例えば昨日のnewAnimalの返り値は,
{ { type; lionSpecificMethod } | { type; commonMethod } }
みたいな感じで,オブジェクトが実装しているメソッドの集合の集合を考えれば,なんとか推論できるんじゃないかな.これは,型推論問題の勉強をしなおさないと.
パーサをどうするか.
だてさんがコメントで教えてくださったのだが,ripperというのがあるらしい.Rubyプログラムの構文木をRubyプログラムから扱えると.面白い.が,コアはOCamlで書きたいので,Rubyのオブジェクトが得られても嬉しくはないんですよね.しかも,Riteがターゲットだと(?),ちょっと嫌かなあ,と.
しかし,良く考えてみれば,Rubyオブジェクトの構文木を適当な形でテキストファイルに吐いて,そこからOCamlyaccなりなんなりでもう一回パースすればいいのか.本家Ruby*1のプログラムをハックして,構文木だけ作ってしまってから,OCamlに渡すって言う手はアリかな.
どれが面倒で,どれが楽なのか良く考える必要がある.
DBCにかんしては,ちょっと保留にします.