悠里アセンブリQ&A by Ritchan先生 part3
インタプリタの続きをつくろう。 動かすべき言語仕様のところさえ合ってれば実装はべつにどうなっててもいいでしょう、たぶん。 アセンブラ側の言語拡張とかデバッガ側の機能拡張とか。
2017-09-30 10:21:44@aios_ciao 「仕様のところさえ合ってれば実装はべつにどうなっててもいい」その通りです。そもそもHaskellでの実装とそれ以外での実装が一致するはずもなく ちなみに、もうちょいすると仕様が増える予定です(プログラムを複数ファイルに分割し、別のファイルにある関数を呼び出す機能の追加)
2017-09-30 10:27:20別ファイルのラベル位置に処理を移す場合、 プリプロセッサ的に前処理としてソースごと読み込んでおくタイプか、 シンボルとソースファイル名とアドレス情報だけ保持しておいてジャンプ実行時に実際読み込んで飛ぶ遅延評価タイプか。
2017-09-30 10:31:39@aios_ciao ライブラリの呼び出しを別ファイル呼び出しと同等に扱いたいので、どうしたものかなぁ、といったところです(リンカとかに絡む)
2017-09-30 10:34:36@sosoBOTpi ソース解析部分で処理するか、実行部分で処理するか、ですね。 ファイル分割記述可能な世のインタプリタはどう処理しているんでしょうね
2017-09-30 10:36:08@aios_ciao Haskellはモジュールの依存関係を見て必要な全ファイルを見にいって実行、ですね
2017-09-30 10:38:18ちなみに 'i'c krz f0 f5-4@ とは書けるのかな。 あ、0xFFFFFFFCを足すのか… krz f0 f5+0xFFFFFFFC@
2017-09-30 10:39:35@aios_ciao ASCIIの-はリパーシェのハイフンに割り振っているので、減算符号には使えないんですよ。そのための苦肉の策です
2017-09-30 10:40:45@aios_ciao 現在審議中です(+はあります)(減算符号もありますが、現世のどこに割り振るかが未確定なので現状使えません)
2017-09-30 10:43:21@palfem_kleet @aios_ciao 炭酸ソーダさんの案だと機械語上はFCと書けるので、まあいいかなぁという印象はある
2017-09-30 10:44:06@aios_ciao Haskellインタプリタ、そもそもオペコードを制定せずHaskellの代数データ型で生に扱ってます
2017-09-30 10:46:33@sosoBOTpi まずインタプリタではニーモニックを直接解釈して実行する形にします(オペコード定義無し)。そのあとファイル出力対応時にオペコード(中間コード)を決める予定です。
2017-09-30 10:48:43インタプリタ実行ではステートメントのアドレスは仕様通りランダムな間隔で配置されたように見える。中間コードに吐き出してそれを実行する時にはメモリにロードされるのである程度規則的なサイズで連続的な配置に見える。 はず。 ロード時にわざわざバラけさせる意味がないし。
2017-09-30 10:52:08ラベルに使える文字、というかソースで使える文字は大小文字が区別される認識でいいのだろうか。 XとかRとか分かれてるし。
2017-09-30 10:56:38