[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:352

From: SASADA Koichi <ko1 atdot.net>
Date: Mon, 6 Dec 2004 17:03:10 +0900
Subject: [yarv-dev:352] Compiler with super instruction

 ささだです。

 複数命令を統合するほうの命令統合を考えてたんですが、コンパイ
ラってどうなりますかね。

 前田さんが作っていたときは、コンパイラはどんな感じになったん
でしょうか? 命令 A+B -> X としたとき、A, B の列を探して、そ
れを X に置換していたって感じでしょうか。

 ただ、コンパイルコストが凄いことになってしまいそうです。こ
れって検索技術の話になっちゃうんでしょうか。それとも、なんかう
まい方法ありますかね。node からの変換時、ある特定のノードパ
ターンを見て統合した命令に直す、ということになるのかなぁ。で
も、それだとあんまり機会が無さそう。vmgen はどうやってんだろ。
コンパイラ。

 インタプリタにこれは合わないのかな。




 ちなみに、現状の YARV では、関数呼び出し(recv 省略)も、す
べて putself という命令を付けているんですが、引数が間に入ると
嬉しくありません。

putself
<arg1>
<arg2>
...
<argN>
send :hogehoge

 これが、recv を後で評価してもよいなら、

<arg1>
<arg2>
...
<argN>
putself
send :hogehoge

となってくっつけられるなぁ、とか。いや、最初からそのつもりだっ
たので、send は一個(call が無くていい)でいいや、と考えており
ました。recv はやっぱり前、ということになると、call 命令を追加
するのがいいのかなあ。

-- 
// SASADA Koichi at atdot dot net
//


--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

->     352 2004-12-06 17:03 [ko1 atdot.net       ] Compiler with super instruction         
       353 2004-12-06 21:09 ┗[maeda-yarv atusi.org]