2 part forth
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
NGNG 第四世代
894デフォルトの名無しさん
2022/05/17(火) 10:45:03.75ID:u8alpQJv 今勉強中だけどおもしろい
しかしパーシングワードはどうにかならんかったのか
定義の底に埋もれたnameが解釈時に吸い込んだりするのが文脈飛んで分かりにくい…
psみたいに/name {code} exch def方式のほうが一貫性あったのではないか
しかしパーシングワードはどうにかならんかったのか
定義の底に埋もれたnameが解釈時に吸い込んだりするのが文脈飛んで分かりにくい…
psみたいに/name {code} exch def方式のほうが一貫性あったのではないか
895デフォルトの名無しさん
2022/05/17(火) 10:55:12.34ID:u8alpQJv FORTHへの招待って古い本買ったんだけど、PICK/ROLLのindexが1始まりだったり、今の処理系と結構違うよね
長々とハードの話から始まり機能紹介までで終わってて、具体的なコーディングテクニックまでたどり着いてない…
モダンでオススメな本ってあるかな
長々とハードの話から始まり機能紹介までで終わってて、具体的なコーディングテクニックまでたどり着いてない…
モダンでオススメな本ってあるかな
896デフォルトの名無しさん
2022/05/19(木) 08:44:16.13ID:13z7p19v モダンなFORTHなど存在しない!
897デフォルトの名無しさん
2022/05/20(金) 15:21:07.51ID:B9Pct0M/ 初学者だけど
まあレトロなところに惹かれたのは否定できないな
有名な"FORTH思考"とか、一般プログラミング作法の啓蒙書としては素晴らしい
ブロックの章立ての章とかよく考えさせられる、まあ実ファィルに置き換えて写経してるけど
まあレトロなところに惹かれたのは否定できないな
有名な"FORTH思考"とか、一般プログラミング作法の啓蒙書としては素晴らしい
ブロックの章立ての章とかよく考えさせられる、まあ実ファィルに置き換えて写経してるけど
898デフォルトの名無しさん
2024/01/01(月) 09:03:44.52ID:MIyexYoQ あけおめ!
899デフォルトの名無しさん
2024/01/21(日) 09:24:04.48ID:rroAgTgL 古の8bit機みたいな小さいマシンでnextルーチン書くところから始めてみたい
900デフォルトの名無しさん
2024/05/04(土) 06:00:27.59ID:+DAXDwQe901デフォルトの名無しさん
2024/05/05(日) 14:45:30.58ID:Fv0JPqsX 読もう。持ってたのは昔無くした
902デフォルトの名無しさん
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はコメントとして認識しない
何かいい知恵あったら教えてください
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書いてると時々欲しくなるやつ…
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は非標準ワードなのな
: && 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で実装できそうな気がする
まあforgetはmarkerで実装できそうな気がする
908デフォルトの名無しさん
2025/10/12(日) 02:30:37.41ID:DKsy7+ZR PCで触ってないからunix(shebang)+forth処理系のハックは詳しくないんだけれども、まあ面白そうだね
ワードを消すforgetは任意のワード対象、で良かったかな(たしかそう)
しかしmarkerは事前に設定したマーカーまでオフセットずらして巻き戻し、よってそれまでのワードがリセットされる仕組みだったはずだから、任意ワードを、特に名指しで消すには不向きでは
いやまあ消せるんだからマーカーの記録されてるメモリを退避したりリカバリしたり丁寧に管理してやればできるはずだが…
ワードを消すforgetは任意のワード対象、で良かったかな(たしかそう)
しかしmarkerは事前に設定したマーカーまでオフセットずらして巻き戻し、よってそれまでのワードがリセットされる仕組みだったはずだから、任意ワードを、特に名指しで消すには不向きでは
いやまあ消せるんだからマーカーの記録されてるメモリを退避したりリカバリしたり丁寧に管理してやればできるはずだが…
909デフォルトの名無しさん
2025/10/17(金) 05:21:31.52ID:D1Ebmx1L 別に余計なワードがあろうと問題なくね
たまたま同じ名前のワードを定義したらそれが有効な訳だし
ブートストラップ用途なら別に潰されても困らん、ブートストラップにしか使わんのだからな
たまたま同じ名前のワードを定義したらそれが有効な訳だし
ブートストラップ用途なら別に潰されても困らん、ブートストラップにしか使わんのだからな
レスを投稿する
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
