1バイトずつ読み書きする cat コマンドを書くところまでやっと辿りついた。

コメント残しておかないと何やってるか分からなくなって厳しい……慣れるのかなこれ。

フォロー

ワードで細かく抽象化せよ、ワードの中はがんばって読め、という感じなのかな。

がんばるの大変そうなので(慣れるまでは?)コメント残す方向で進めた方がいいのかな。

[123, "fdsa"] が作れるようになった

作れるようになったというか、作って JSON にシリアライズするところまで。入れ子なので再帰が必要で、ワードの定義に recursive を追加するだけで OK。

gforth.org/manual/Recursion-Tu

[1,"a",[2,"b"],3,"c"] が作れるようになった

["漢字"] もテスト通った。
これでデータ構造整備+JSONシリアライズ編が終わり。次はJSONパース編。

前に書いた cat コマンドを流用して標準入力から1文字ずつ読む。

読んだ文字を1文字ずつメモリに書き込み

あ、dup が1個余計になってますわ

整数を表示するときに余計なスペースが付かないようにするためにこれを使う必要がある……?

Formatted numeric output (Gforth Manual)
gforth.org/manual/Formatted-nu

drop-1 〜 drop-N を作ったらだいぶスタック操作が楽になった(行儀が悪いかもしれないけどよく分かってない)

新しいものを表示
ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。