アカウント名:
パスワード:
Flashみたいなもの?
Javaみたいなものだよ。また一歩javascriptがJavaに近づいたな。
もうちょっと詳しく言うとJavaバイトコードみたいなものだな。
一般的には中間言語方式のコンパイラ・インタープリタですかね.
古くはUCSD pSystem [wikipedia.org]とか, FIG FORTH [forth.org], それにMS-BASICあたりから続く方法ですね.
多くの中間言語インタープリタがスタックマシン [wikipedia.org]モデルで実装されていたりするんだけど, 今回のはどんな構造なんだろう?
FIG FORTHの実装って中間言語だったのか・・・
30年以上前に移植したことがあるんですが, スタックマシンを構築するプリミティブなワードと中間言語を処理する内部インタプリタ, そしてOS/BIOSを直接叩くIO部分だけはアセンブラで組む必要がありますが, それ以外は基本的にワード定義の並びのままワードへのポインタ(相対アドレスだったかも)がリストになっています. この様な構造のため, 最小限の手間で多くのCPU/動作環境に移植できたわけですね. CPU/動作環境が雑多で, ハードウェアの制限が多かった1970年台末から1980年台初頭らしい作りです.
ただこうした構造から, 動作速度, 特にFORTHらしい多重のワード呼び出しはオーバーヘッドが大きくてかなり遅く, 当時の8bit CPUでは実用にはかなり厳しい状態でした. 速度が問題になる部分はアセンブラでワードを組んで, それをFORTHプログラムから呼び出すという感じですね.
threaded codeというやつですなhttps://en.wikipedia.org/wiki/Threaded_code [wikipedia.org]fig forthはdirect threadingタイプ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
結局のところ (スコア:0)
Flashみたいなもの?
Re: (スコア:0)
Javaみたいなものだよ。
また一歩javascriptがJavaに近づいたな。
Re: (スコア:0)
もうちょっと詳しく言うとJavaバイトコードみたいなものだな。
Re: (スコア:1)
一般的には中間言語方式のコンパイラ・インタープリタですかね.
古くはUCSD pSystem [wikipedia.org]とか, FIG FORTH [forth.org], それにMS-BASICあたりから続く方法ですね.
多くの中間言語インタープリタがスタックマシン [wikipedia.org]モデルで実装されていたりするんだけど, 今回のはどんな構造なんだろう?
Re: (スコア:0)
FIG FORTHの実装って中間言語だったのか・・・
Re:結局のところ (スコア:1)
30年以上前に移植したことがあるんですが, スタックマシンを構築するプリミティブなワードと中間言語を処理する内部インタプリタ, そしてOS/BIOSを直接叩くIO部分だけはアセンブラで組む必要がありますが, それ以外は基本的にワード定義の並びのままワードへのポインタ(相対アドレスだったかも)がリストになっています. この様な構造のため, 最小限の手間で多くのCPU/動作環境に移植できたわけですね. CPU/動作環境が雑多で, ハードウェアの制限が多かった1970年台末から1980年台初頭らしい作りです.
ただこうした構造から, 動作速度, 特にFORTHらしい多重のワード呼び出しはオーバーヘッドが大きくてかなり遅く, 当時の8bit CPUでは実用にはかなり厳しい状態でした. 速度が問題になる部分はアセンブラでワードを組んで, それをFORTHプログラムから呼び出すという感じですね.
Re: (スコア:0)
threaded codeというやつですな
https://en.wikipedia.org/wiki/Threaded_code [wikipedia.org]
fig forthはdirect threadingタイプ