少し遅め昼御飯を珈琲館@大岡山で食べていたら、PRO帰りのA. Sasaki くんが歩いていたので、連れ込みました。そのまま、彼の昨日の発表とその周辺の話題について2時間も話してしまいました。風邪気味だったのに、煙草の煙の激しいところに誘ってごめんなさい。
ちなみに彼のPROでの発表は文法定義からの構造化エディタの合成に関する研究でした。Synthesizer Generator とか、Incremental Parsing のような懐しい単語が出てきました。今後の進展に期待しています。
テンプレートライブラリについて詳しく教えてくれてありがとうございました。
T. Reps の The Synthesizer Generator.
懐かしいです(遠い目).学生の頃,使い倒していました.
すごーい!
使っている人が身近にいらしたなんて。どんな言語のエディタを書いたんですか?
練習で PL/0.本番で OOAGという自前言語の変換系を書きました.
5000行ぐらいだったような.
純関数型で記述する,というパラダイムが結局はしんどかったです.
C言語&GNU Bison/Flexで ANSI Cインタプリタを書いたとき
「ああ,楽だなあ」と強く実感しましたから.
Synthesizer Generator って、関数型なんですね。← 知らなかった。
わたしはどちらかといえば、関数型な言語ばかり作ってきたので ocamlyacc 以外でパーザを書きたくなくなってます。でも C のインタプリタだと C の型の世界を関数型に載せなくてはならないから、それだけでひと研究になりそうですね。
> Synthesizer Generator って、関数型なんですね。
だって,属性文法ですから.(関数型じゃなくて,純関数型です.←しつこい)
で,インクリメンタルな評価器を持っているので,評価順序が本当に決まってない.
全部,引数(コピールール)で持ちまわって大変なことになります.