一年くらい前から ホワイトスペース(Whitespace)
というミニ言語を写経してるんですけど
最初はRuby版を写経しててHSPに翻訳しようとした時に
クラスっぽいデータが変数の中に入ってて
それをどう翻訳していいかわかんなくて
それからC版を写経してて
でも難しくて、動作がギリギリわかるくらいで
翻訳難しそうだな。と思った時に
Ruby版を読んだら
変数に入ってるのが命令IDとパラメータくらいだったので
それならモジュール変数を使えばHSPに移植できるかな?と思い移植中です
2進数変換の処理はその過程だったり
よしやってること書いたようで
TODO書いてないぞっとw
NO_552
〜
エディタに関して書きましたが
software design 総集編の vimとかemacsの記事で
スクロールしきれない量になると
効率がエディタによって異なる
そういう問題に気付いたら vimとかemacsを始める機会かもしれませんよ
みたいに書いてて
そう言えば自分スクロールしきれない量になると
コーディングの効率ガクッと落ちますね
ってことでvim始めよーかなー みたいなw
簡単エディタから昔書いたTOOL集呼べれるよーにならないかなー。みたいなw
そーなると テキストとしてUPしにくくなるよなー みたいなw
NO_554
HSPのライブラリは呼び出し一発でPON!ですよね
JAVAなんかだとライブラリ呼び出す時数行かかるような
どっちがいいかは聖戦になるかも
(どっちがいいとも言えないw)
NO_567
中間言語作成再開
; if my_pc_B==1{my_pc_B++:reg3=reg1+1:goto *com_sw: goto *sw_begin } ; if my_pc_B==2{my_pc_B++:reg2+=2:goto *com_sw: goto *sw_begin } ; if my_pc_B==3{my_pc_B++:cr_com=en_calc:goto *com_sw: goto *sw_begin } // ↑こんなのを↓こうしてみた #define switch_set(%1) switch %1 #define eq(%1) case %1:my_pc_B++: my_pc_B=1 *sw_begin switch_set my_pc_B eq 1:reg3=reg1+1:mes 1:goto *sw_begin eq 2:reg2+=2:mes 2:goto *sw_begin eq 3:cr_com=en_calc:mes 3:goto *sw_begin swend
NO_584
sample その2
x=0 repeat 3 mes x x++ loop // ↑こんなのを↓こうする x=0 *if_start reg_cond_flag=(x<3) if reg_cond_flag==0:goto *l mes x x++ goto *if_start *l
NO_585
>同じスレッドに投稿してるスクリプトの事だと思うんですけど
>最近複雑になりすぎてコメント無くてなかなか読めないですね、
>フラグとかも駆使しててマクロ内にもフラグ隠れてたりで
フラグを利用してるのは流れの制御です
コマンド番号とLINEを登録して
プログラム部分の最初から最後まで
そういうフラグがONの時に
ラベルも登録して
プログラム部分の最初から最後まで
そういうフラグがONの時に
それから実行します
そういうフラグがONの時に
でも、うざいのでマクロで隠したんでけど
サブルーチンはマクロじゃなく
普通のサブルーチンの方がいいいですか?
>自分みたいな記憶力の無い人にとっては追いかけるの結構大変な処理ですね。
>一度本腰入れて頭から解析しながらコメント書き入れて見ていかないと
今はまだ理解出
>来てないです。
自分あんまり説明力ないですけど
疑問点とかあればどしどし書いちゃってくださいな
NO_586
sample方式にリファクタリングしました
ほっとくと永遠にリファクタしがちな僕w
新しい処理も含めながら 攻めの気持ちでリファクタリング出来たならw
リファクタ前はNO483です
NO_587
簡単プログラム処理 更新です
今回は
コマンド名をコメントしましたw
書いたら自動的に処理してないっぽいですが
tytyさんが読みにくいかもしれないので書きましたw
ラベル変数からラベル情報を取得するのと
gotoとかbuttonとかを一つの処理にまとめました
純粋にアセンブラっぽいのではなく
X+=2とか取得(Xから)、演算、設定(Xへ)
っぽくってのがコンセプトで
そうなると
ラベル情報取得は変数から取得ってことで
まとめちゃおうかな。と
で、まとめたんですが
あんまり見易くなってない 爆
NO_589