2 part forth

レス数が900を超えています。1000を超えると表示できなくなるよ。
2022/05/17(火) 10:55:12.34ID:u8alpQJv
FORTHへの招待って古い本買ったんだけど、PICK/ROLLのindexが1始まりだったり、今の処理系と結構違うよね
長々とハードの話から始まり機能紹介までで終わってて、具体的なコーディングテクニックまでたどり着いてない…

モダンでオススメな本ってあるかな
2022/05/19(木) 08:44:16.13ID:13z7p19v
モダンなFORTHなど存在しない!
2022/05/20(金) 15:21:07.51ID:B9Pct0M/
初学者だけど
まあレトロなところに惹かれたのは否定できないな
有名な"FORTH思考"とか、一般プログラミング作法の啓蒙書としては素晴らしい
ブロックの章立ての章とかよく考えさせられる、まあ実ファィルに置き換えて写経してるけど
2024/01/01(月) 09:03:44.52ID:MIyexYoQ
あけおめ!
2024/01/21(日) 09:24:04.48ID:rroAgTgL
古の8bit機みたいな小さいマシンでnextルーチン書くところから始めてみたい
900デフォルトの名無しさん
垢版 |
2024/05/04(土) 06:00:27.59ID:+DAXDwQe
標準FORTHが国会図書館のサイトで読めるようになってる(要登録
https://dl.ndl.go.jp/pid/12631453

他にも古い本が色々見られるようになったっぽい。
2024/05/05(日) 14:45:30.58ID:Fv0JPqsX
読もう。持ってたのは昔無くした
2025/01/01(水) 10:04:42.73ID:exme2yo6
あけおめ
903デフォルトの名無しさん
垢版 |
2025/06/14(土) 06:37:53.81ID:3Q/jS2n6
forthソースファイルをunices上で実行可能ファイルにする一般的な方法ってある?
PC上を想定していて超リッチなgforthなら #! 機構を想定して#!を\のシノニムとして定義してくれてて助かるんだけれども、これのない場合にも対応したい

思い付いたのは
: && true ; \ exec forth "$0" -- "$@"

forth側:
ワード&&(普通未定義)をtrue=-1としてコロン定義、後はコメント
sh側: :コマンドが成功したらtrueコマンドを実行、次にインタプリタを起動

なんだけれどsh側では
" exec" "forth" ...
とトークン化されてcommand not found
\execとスペース開けずに書けたら良いんだけどするとforthはコメントとして認識しない

何かいい知恵あったら教えてください
904デフォルトの名無しさん
垢版 |
2025/06/14(土) 06:52:21.04ID:3Q/jS2n6
>>895
forthのrollは n roll でn個先までを1回まわすけど
postscriptのrollは n m roll でn個先までm回まわせてより強力なのよね
mは負でも可で逆回転もできる

あんまりコードに数値を入れるのはbad practiceとはいえforth書いてると時々欲しくなるやつ…
905デフォルトの名無しさん
垢版 |
2025/06/21(土) 00:54:36.13ID:flEjrxpy
>>903だけど自己解決
: && true ; ( exec forth "$0" -- "$@" )
で行けた
潔癖症ではないから定義されたワード&&は気にしない、たぶん処理系定義の&&は見たこと無いこら潰す事もないはず

一応win32forthとか複数の処理系で
forget &&
て消せたと思うんだけれど、今試してみたらgforthに無いからforgetは非標準ワードなのな
906デフォルトの名無しさん
垢版 |
2025/06/21(土) 11:16:23.88ID:fGhLJfIJ
こら
907デフォルトの名無しさん
垢版 |
2025/06/26(木) 14:21:09.64ID:nmyewptE
神経質すぎじゃねる
まあforgetはmarkerで実装できそうな気がする
908デフォルトの名無しさん
垢版 |
2025/10/12(日) 02:30:37.41ID:DKsy7+ZR
PCで触ってないからunix(shebang)+forth処理系のハックは詳しくないんだけれども、まあ面白そうだね

ワードを消すforgetは任意のワード対象、で良かったかな(たしかそう)
しかしmarkerは事前に設定したマーカーまでオフセットずらして巻き戻し、よってそれまでのワードがリセットされる仕組みだったはずだから、任意ワードを、特に名指しで消すには不向きでは

いやまあ消せるんだからマーカーの記録されてるメモリを退避したりリカバリしたり丁寧に管理してやればできるはずだが…
909デフォルトの名無しさん
垢版 |
2025/10/17(金) 05:21:31.52ID:D1Ebmx1L
別に余計なワードがあろうと問題なくね
たまたま同じ名前のワードを定義したらそれが有効な訳だし
ブートストラップ用途なら別に潰されても困らん、ブートストラップにしか使わんのだからな
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況