言語処理系をつくる

8
前へ 1 ・・ 6 7
木村屋 @kimuraya

@takeshik 言葉足らずで、すみません。中間言語を出力するコンパイラを作って、それを実行するインタプリタを作るという事です。

2010-11-07 02:42:12
Fadis @fadis_

つまり彼はJava VM的な物を考えているのでしょう QT @repeatedly: ?? RT @kimuraya: @takeshik 言葉足らずで、すみません。中間言語を出力するコンパイラを作って、それを実行するインタプリタを作るという事です。

2010-11-07 02:45:35
たけしけー @takeshik

.@kimuraya さん実行環境定義するのん…? [HT-03A]

2010-11-07 02:47:11
UNAGI𝕏 @unagix

一度、実行しやすい中間形式にするのは間違ってないと思うけど。コンパイラにかけて中間言語にして、中間言語のランタイムとしてインタプリタも作るって事でしょう。 #kumulang

2010-11-07 02:48:18
あんどちん(安藤敏彦) @andochin

@takeshik VM作るんじゃないのかな…なんか色々言ってもいいんじゃない?と思えてきた…

2010-11-07 02:51:03
たけしけー @takeshik

@andochin いや、逆に VM 作られるところ見届けたいですね…w [HT-03A]

2010-11-07 02:54:33
木村屋 @kimuraya

冬コミ3日目まで54日か。言語処理系に割ける時間は、平日の場合、1日2時間程度だろうな。昼間は就職活動をするし。108時間程度で出来る事を考えると、参考書のサンプルコードの亜流がせいぜいか。今現在、インタプリタの本を読んでいるから、それで行くしかないのかな。

2010-11-07 03:28:50
木村屋 @kimuraya

冬コミまでに作る処理系はインタプリタしか無さそうだな。今、ある程度読めているのがインタプリタを実装する本だし。コンパイラの本まで読むとなると、時間がとても足りない。

2010-11-07 03:34:30
木村屋 @kimuraya

明日からサンプルコードを動かしてみるか。動作の内容がよく分からないプログラムに対してはブレークポイントを埋め込みまくって、動作を逐一確認する手法を取っているけど、自分にLinuxでそれが出来るのだろうか。VC++ばかり弄っていたからな。まぁ、やってみるしかないか。

2010-11-07 03:37:00
わんわん @wanwan_zaregoto

cafeobj での compiler と interpreter の作成。 実際の世界ではまったく役に立たないと思うが, compiler と interpreter の論理的な側面を冷静に見つめ直すには凄く役に立つ.

2010-11-07 03:38:02
木村屋 @kimuraya

@andochin 一応、UbuntuにはEclipseをインストールしてあります。まだ環境は整えていないのですが、明日以降にやってみます。

2010-11-07 03:46:44
わんわん @wanwan_zaregoto

言語処理系を手っ取り早くというのであればファイル形式とかリンカ、ローダとかcrtとか全部捨てて, 自分で仮想機械を定義するかLLVMのような出来合いのものを使ってcompiler compiler から作るというのではダメ? RT: @kimuraya 言語処理系を12月20日辺

2010-11-07 03:56:58
わんわん @wanwan_zaregoto

コンパイラのregression testって何やるんだろう? 言語としての完全性を作れる要素の検証と組み合わせを適当に、って感じなのかな.. そういや gcc も stage1 から作るとそんなことやってたっけ. 大昔のうろおぼえ。

2010-11-07 04:00:33
木村屋 @kimuraya

@wanwan_zaregoto 今のところ、自作の言語処理系はインタプリタで実装しようと考えています。今日一日、コンパイラについて調べてみたのですが、最初に作る言語処理系として、コンパイラは難しいようなので…

2010-11-07 04:19:43
わんわん @wanwan_zaregoto

というか、単純な stack machine を自分で設計してそれ用のコードをはくのが一番楽では? あとは VM 書きゃいいし. レジスタのあるマシンに対して、言語からどのレジスタに振ってとか直交性とか考えると言語変換というより違うものを一生懸命やる羽目になると思うんだが.

2010-11-07 05:51:35
前へ 1 ・・ 6 7