2 part forth (907レス)
上下前次1-新
1(1): デフォルトの名無しさん [] 04/01/10 03:45 AAS
第四世代
808: デフォルトの名無しさん [sage] 2016/04/29(金) 00:42:56.46 ID:T+fk1/ws(1) AAS
それに比べMPEときたら。。。
809(1): デフォルトの名無しさん [sage] 2016/04/30(土) 13:33:33.16 ID:+u6TG0xk(1) AAS
>>807
なにをもって対応というのか知らんがFPGAを使ったソリューションはあるね
810(1): デフォルトの名無しさん [] 2016/05/03(火) 01:28:59.09 ID:3SS4lwd4(1) AAS
XTがImmediateかどうか調べるワードってある?
811: デフォルトの名無しさん [sage] 2016/05/03(火) 13:54:49.01 ID:nk6XRDP5(1) AAS
>>809
forthでfpgaの回路組めるとかだったら面白いなw
812: デフォルトの名無しさん [sage] 2016/05/06(金) 02:21:23.49 ID:FS8HTadE(1/2) AAS
いま逆ポーランド記法で書ける正規表現エンジンを作ろうか考えているんだけどAB*C|こんな感じにね
もうすでにあったりするんだろうか?あForth上でね?教材としてあるのは知っているから
Forthのもつ動的コンパイルを利用することで高移植性のJITエンジンが実装できると思ってね
( 自らをコンパイルすることができる言語はこういったスクリプトやインタプリタを移植性を保ったまま簡単に高速化できるところが素晴らしいよね)
エグって呼んで〜
813: デフォルトの名無しさん [sage] 2016/05/06(金) 02:23:03.98 ID:FS8HTadE(2/2) AAS
>>810
たぶん標準ではないな
文字列ベースならFINDがあるんだけどね
814: デフォルトの名無しさん [sage] 2016/05/31(火) 01:39:08.36 ID:NOiY1sCF(1) AAS
forthに足りないのはコマンド言語だ。
forthのプロシージャー呼び出しはすべてディクショナリ内に限られるため外部プログラムを効率よく利用できない。
シェルスクリプトのように外部forthプログラムをうまく呼び出す機構があればいいが。。。
スタックをパイプのようにプログラムで共有するとおもしろいかもしれない。
815(1): デフォルトの名無しさん [] 2016/10/07(金) 16:43:56.85 ID:oA26EQDq(1/3) AAS
gforthで実数演算たとえば、
1.0 +2.0
の様なものをしたいのですが、
1.0e0 2.0e0 + .
としても
1.0e0 2.0e0 f+ .
としても結果が得られません。
実数演算はどうすればいいのでしょうか。
ご教示お願いいたします。
816(2): デフォルトの名無しさん [sage] 2016/10/07(金) 17:47:53.85 ID:ah4nbj/y(1) AAS
http://www.h7.dion.ne.jp/~samwyn/forth/gforth/Floating-Point-Tutorial.html
817(1): デフォルトの名無しさん [] 2016/10/07(金) 19:28:13.23 ID:oA26EQDq(2/3) AAS
>>816
これは、読んだのですが、実例が初心者には敷居が高くて
よく理解できません。
2.0 + 3..0 のような簡単な例を示した物は
ないでしょうか。
818: デフォルトの名無しさん [] 2016/10/07(金) 23:18:29.98 ID:oA26EQDq(3/3) AAS
>>817
結局、FACTORに乗り換えました。
こちらの方が判り易くて、すぐ実数演算(浮動小数点演算)ができるように
なりました。
819: デフォルトの名無しさん [sage] 2016/10/09(日) 06:39:24.29 ID:pfNs/KcX(1) AAS
週明け、ちょっと面白いforthの論文読めるかもしれない。
forthっていうより、その上に作られたkevoって風変わりなOOP言語のだけどさ。
820: デフォルトの名無しさん [sage] 2016/10/17(月) 19:24:52.26 ID:HyFRmQUJ(1) AAS
>>815
その場合 . じゃなくて f.
821: デフォルトの名無しさん [] 2016/11/06(日) 00:15:56.03 ID:RpZeQ9IA(1) AAS
Factorのチュートリアル分かりにくい。Racketを見習え
822: デフォルトの名無しさん [] 2016/12/30(金) 20:20:02.53 ID:XiEG6f+8(1) AAS
もう2016年も終わりだな
823(1): 【末吉】 【2等 10,000,000円】 [sage] 2017/01/01(日) 11:49:42.83 ID:wqx7ZaQB(1) AAS
.
824: デフォルトの名無しさん [sage] 2017/01/03(火) 10:53:07.10 ID:KXR/d/nR(1) AAS
ことしもよろしく!
825: デフォルトの名無しさん [] 2017/01/03(火) 12:26:49.35 ID:qzU7aiCI(1) AAS
>>823
2等おめ
826: デフォルトの名無しさん [sage] 2017/02/04(土) 16:41:26.43 ID:6xXEHIbo(1) AAS
うんこ
話題ねーなー
827: デフォルトの名無しさん [] 2017/02/04(土) 16:44:12.53 ID:e9aNESBj(1) AAS
あへ
828: デフォルトの名無しさん [sage] 2017/02/05(日) 14:14:31.59 ID:nBEZPMY5(1) AAS
なんか話せ
829: デフォルトの名無しさん [sage] 2017/02/28(火) 21:19:29.80 ID:5qIw+x2+(1) AAS
factor 1.0 マダー
830: デフォルトの名無しさん [sage] 2017/03/03(金) 18:00:20.86 ID:3XbKihVE(1) AAS
うんやってみようとおもう。
ところで仕様書(規格書)はどこにあるんですかね?
831(1): デフォルトの名無しさん [] 2017/03/03(金) 18:29:59.44 ID:IUFykjWp(1) AAS
>1- よめ
832: デフォルトの名無しさん [sage] 2017/03/04(土) 00:48:33.45 ID:4xESmR76(1/2) AAS
>>831 わかんない
https://www.openfirmware.info/data/docs/dpans94.pdf
これかな?
833: デフォルトの名無しさん [sage] 2017/03/04(土) 01:07:38.10 ID:4xESmR76(2/2) AAS
http://www.forth.org/literature.html
こっち
834: デフォルトの名無しさん [] 2017/03/04(土) 12:32:44.96 ID:GRvQ2lmz(1) AAS
>>781
まだ残ってたのか
835: デフォルトの名無しさん [sage] 2017/04/03(月) 11:16:21.17 ID:UVNX4qSu(1/2) AAS
みなさーん生きてますかー?
836: デフォルトの名無しさん [sage] 2017/04/03(月) 19:02:54.60 ID:Z+6yuhBz(1) AAS
いきとるぞー
純粋なforthは全然さわらずfactorばっかりだけどな
あと組み込み機でTITもどきかなー
837(1): デフォルトの名無しさん [sage] 2017/04/03(月) 19:11:44.32 ID:UVNX4qSu(2/2) AAS
次スレでは皆が胸を張れるように「スタック指向言語」「連鎖型言語」みたいなくくりにしよう!
838: デフォルトの名無しさん [sage] 2017/04/04(火) 02:27:49.55 ID:WA/rnyB6(1) AAS
>>837
forthだとスタックに積まれたオブジェクトに関数ってメッセージを送るって言うことだとおもうのだけど。
そういう単純な理解じゃ駄目なの?
言語レベルで隠蔽されていることを生で扱うって事で良いんじゃ無いの?
Lispだと関数の呼び出しが括弧で括られいるから呼び出しの引数の扱いが閉じられているけど、forthの場合は関数が必要な分を消費するというか
839: デフォルトの名無しさん [sage] 2017/04/04(火) 09:11:34.40 ID:89iVo3+8(1) AAS
メッセージ?違う言語と勘違いしてそう
840(1): デフォルトの名無しさん [sage] 2017/04/04(火) 11:14:00.29 ID:wm/ZDuC6(1) AAS
コールスタックとforthのスタックは別物だよね。
841: デフォルトの名無しさん [sage] 2017/04/05(水) 02:36:38.33 ID:9ywW0Xq5(1) AAS
>>840
2つあるんだよ、関数呼び出しの戻りアドレス用のスタックと別にもう一つあるんよ
842: デフォルトの名無しさん [] 2017/04/05(水) 14:29:17.29 ID:+eJqUohN(1) AAS
アキュムレータ
843(1): デフォルトの名無しさん [sage] 2017/04/11(火) 00:06:23.90 ID:N954SJpH(1) AAS
forthがスタック指向であるようにアキュムレータ指向のプログラム言語というものは作れるのかな
844(1): デフォルトの名無しさん [sage] 2017/04/11(火) 01:23:43.97 ID:Y8UBVT27(1) AAS
>>843
マジレスするとmacroありのassemblerじゃねぇの?
macro80やslrasmでもできたぞ
845(1): デフォルトの名無しさん [sage] 2017/04/15(土) 23:36:33.20 ID:bK+0/AQY(1) AAS
>>844
マクロだけでは構文は抽象化出来てもシステムとして抽象化しきれないと思うけど
846: デフォルトの名無しさん [sage] 2017/04/16(日) 02:22:54.36 ID:GjRoh4Fn(1) AAS
単に計算は常にAXを使うってだけなら特に面白みもなさそう
スタック無しでレジスタ無限ということなら……単に再帰呼び出し禁止なだけの普通の言語だよなあ
847: デフォルトの名無しさん [sage] 2017/04/17(月) 06:41:15.22 ID:Oz2f+5Ln(1) AAS
>>845
ニクラウス・ヴィルトの言うところの条件分岐とか繰り返し構文はチョロく書けるよ>>macro80とslrasmとかのマクロアセンブラ
つかmacro80とか8bit時代のあのメモリでよくやるわと思う。
forthスレっぽいネタだと昔(1981年の8月号だと思う)のCQ出版の記事でTITって言語があってこれがマクロアセンブラでforthを実装するって記事だったような?
848: デフォルトの名無しさん [] 2017/07/19(水) 19:04:38.23 ID:IRmsE5AJ(1) AAS
1 . 2 . 3 . 4 .
849: デフォルトの名無しさん [sage] 2017/08/13(日) 12:07:02.89 ID:BkdmOdbH(1) AAS
実に簡素で危険で強力だ。
貧者の言語だな。
俺にふさわしい。
850: デフォルトの名無しさん [sage] 2017/09/03(日) 23:56:49.18 ID:sfrNKeHf(1) AAS
もうオレしかいないのか。。。。。
851: デフォルトの名無しさん [sage] 2017/09/04(月) 18:01:02.81 ID:XVvO50gB(1) AAS
無いのはネタだよ
852: デフォルトの名無しさん [] 2017/09/05(火) 22:07:51.16 ID:jOSE+tCs(1) AAS
俺も見てるよ
853: デフォルトの名無しさん [sage] 2017/09/06(水) 12:34:34.16 ID:nQAnFQdT(1) AAS
時々見に来てる
854: デフォルトの名無しさん [sage] 2017/09/06(水) 15:10:52.90 ID:p7vL1/ES(1) AAS
点呼スレ
855: デフォルトの名無しさん [] 2017/09/17(日) 21:34:39.86 ID:ozIOAGyP(1) AAS
age
856: デフォルトの名無しさん [sage] 2017/09/18(月) 20:29:59.37 ID:lhUDwV9a(1) AAS
これまで全く気にしたことないけど、forthって動的にリンクするライブラリの類は存在するの?
857: デフォルトの名無しさん [] 2017/09/19(火) 17:19:50.82 ID:xxOzXrDl(1) AAS
OPT
858: デフォルトの名無しさん [sage] 2017/10/10(火) 10:11:32.51 ID:jFJIQFdq(1) AAS
いま処理系書いているわけどすよ
古典的なディクショナリに含まれる変数領域(エントリのitcならpfバイトコードならcf)って実行時書き込みが必要だからrom化できないよね?
ディクショナリをromに組み込む時どのようにしたらいいの?
859: デフォルトの名無しさん [sage] 2017/10/13(金) 08:39:42.67 ID:vQb8BZek(1) AAS
?単にリンク時に再配置すればよいのではないだろうか
860: デフォルトの名無しさん [] 2017/11/18(土) 00:00:24.25 ID:u5vhQC2r(1) AAS
age
861: デフォルトの名無しさん [sage] 2018/02/02(金) 03:15:38.93 ID:ZCx6BMYx(1) AAS
保★守
862: デフォルトの名無しさん [] 2018/02/03(土) 09:42:57.30 ID:qWVkS+Es(1) AAS
やってみ
863: デフォルトの名無しさん [] 2018/05/23(水) 20:31:13.02 ID:Au5e7VGg(1) AAS
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
96NO5
864: デフォルトの名無しさん [sage] 2018/06/04(月) 02:21:55.88 ID:qEnuCrwb(1) AAS
本当に話題がないんですね
865: デフォルトの名無しさん [] 2018/07/04(水) 22:35:26.93 ID:gFgZc5FG(1) AAS
SQU
866: デフォルトの名無しさん [sage] 2018/07/06(金) 12:19:01.04 ID:uTPDH9XV(1) AAS
96NO5
867(1): デフォルトの名無しさん [] 2018/12/08(土) 12:02:33.98 ID:FYXcP+Xf(1) AAS
初心者ですがthinking forth読んでます。
さっそく詰まりました。
: + BL WORD NUMBER DROP ;
で+を再定義すると中置記法で3 + 4できるとあり、確かに7が得られるのですが、
どうしてそうなるのか分かりません。
(別に中置記法で書きたいわけではありません)
BLが(ボーイズラブではなく)空白の文字コード、
WORDがアドレスを得る、
DROPは . と同じですよね?
NUMBERがポイントなのでしょうが…
どなたか解説してくれませんか?
868: デフォルトの名無しさん [] 2018/12/08(土) 14:44:25.82 ID:mtUDrJjH(1) AAS
https://books.google.co.jp/books?id=1AlWbXItiCYC&pg=PA111&lpg=PA111&ots=aekOu1m-uM&sig=V0gs7ufaMhDJsPDn6rT08XhStFY&ved=2ahUKEwjKgrCmt4_fAhUMfrwKHQQnBXEQ6AEwBXoECAkQAQ
http://www.nicholson.com/rhn/files/Tiny_BASIC_in_Forth.txt
https://www.forth.com/starting-forth/10-input-output-operators/
https://www.forth.com/starting-forth/11-forth-compiler-defining-words/
http://galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm
869: デフォルトの名無しさん [sage] 2018/12/19(水) 17:23:11.16 ID:+/rbvZbE(1) AAS
>>867
昔々にFORTHをほんのちょっとかじっただけの通りすがりだけど、最後に + が
抜けとるよね。
: + BL WORD NUMBER DROP + ;
その抜けとる(再定義前の後置記法で加算する)+ に 3 4を渡して
3 4 +
をさせるために4をスタックに積むことをさせとるんだと思う。
空白で区切られた”4”を取ってきて、数字に換えてスタックに乗せといて(元々
の) + に渡たしてる、かな。
. は 印刷で、DROPはスタックから一つ捨てるのような。
ていうか、そこ読んでる時点ではわからんでもいいのでは。
870: デフォルトの名無しさん [] 2018/12/26(水) 20:16:53.64 ID:v8erlN15(1/2) AAS
>>267
この事情おしえて!
できるんなら全部後置がいいと思ってた。
どんななるほどな理由があるんだろう?
871: デフォルトの名無しさん [sage] 2018/12/26(水) 21:18:44.18 ID:Sasn9R68(1/2) AAS
; とか UNTIL のように可変長引数を扱うには先頭に目印が必要になるね。
>>265がちぐはぐと言っているのがどれのことなのかはわからんが。
872(1): デフォルトの名無しさん [] 2018/12/26(水) 21:40:46.64 ID:v8erlN15(2/2) AAS
じゃあ1足して2掛けるワードhogeの定義は
: hoge 1 + 2 * ;(hogeとは:1を足して2で掛けることである)
だけど別に
: 1 + 2 * hoge ;(1を足して2で掛けることをhogeとする)
とか
: 1 + 2 * ; ." hoge" def(1を足して2で掛けることを"hoge"という名前で定義する)
みたいな文法もあり得たのかな?
本体、定義するワードの識別子名
という並びではなく、
定義するワードの識別子名、本体
の並びなのは、何かの事情があっての必然なのか、たまたまなのか、それが知りたいです。
873: デフォルトの名無しさん [sage] 2018/12/26(水) 22:58:21.72 ID:Sasn9R68(2/2) AAS
機能的にはどっちでも可能だろうけど、人が書くコードとしては識別子を前に置く方が
わかりやすいからじゃないかと思う。
あと、ディクショナリに登録する際に : からスタックトップ方向にスキャンするなら
識別子が後ろに置かれると一つ先読みが必要になってちょっと面倒くさい。
874: デフォルトの名無しさん [sage] 2018/12/27(木) 01:01:36.58 ID:KLGborwt(1) AAS
forthって人の都合よりコンピュータの都合優先みたいなイメージだったので人の読みやすさのためだったとしたら意外でした。
後半は納得しました。そうかそれでか…
ありがとうございました。
875: デフォルトの名無しさん [] 2018/12/27(木) 09:49:16.14 ID:0qVX2+Xi(1) AAS
>>872
昔の貧弱なメモリとCPUでコンパイラ作るんだから
文法優先じゃなくてコンパイラの事情優先でそうなんだろ
876: デフォルトの名無しさん [] 2019/06/19(水) 04:58:42.00 ID:tVNS+22r(1) AAS
【出資】松本卓朗 人工知能詐欺【注意】
2chスレ:rikei
877: デフォルトの名無しさん [] 2019/07/05(金) 18:14:54.04 ID:E00Aj00V(1) AAS
8年と半年掛かって>>624の言ってる事がようやくわかった。
ここの人って、何周か回っちゃってFORTHに行き着いてるんだね。
いや、SECDマシンってFORTHそっくりじゃん?!と書きに来ました。
では、また・・・。
878(1): デフォルトの名無しさん [] 2019/08/28(水) 00:27:04.68 ID:1gWoA2G/(1) AAS
https://ja.m.wikipedia.org/wiki/%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%83%83%E3%83%89%E3%82%B3%E3%83%BC%E3%83%89#%E9%96%8B%E7%99%BA
でも触れられている、ムーアが間接スレッデッドコードの発明について述べたというバイト誌のForth特集、なんと今ではWebで読めちゃうw
当時の誌面のスキャン。なんと当時の誌面広告もノーカットw
https://archive.org/details/byte-magazine-1980-08/page/n77
さらに親切なことにフルテキストまで公開されてる。
https://archive.org/stream/byte-magazine-1980-08/1980_08_BYTE_05-08_The_Forth_Language_djvu.txt
興味のある方、ぜひ一読を。
879: デフォルトの名無しさん [] 2019/08/28(水) 01:40:32.21 ID:azl3m+0S(1) AAS
紙屑ωωω
880: デフォルトの名無しさん [sage] 2019/08/28(水) 07:19:51.77 ID:iwi2TSA5(1) AAS
>>878
ムーア御大の直々の解説か
881: デフォルトの名無しさん [sage] 2020/04/15(水) 15:05:18.34 ID:SXQ2sjzm(1) AAS
Oforth使ってる人いますか?
なんとなくSmalltalkぽいですね
882(1): デフォルトの名無しさん [sage] 2020/11/28(土) 11:39:10.89 ID:Gr5a9V0P(1) AAS
apt のgforth.73使ってたんだけどアップデしたらメチャクチャ快適になった…
色付くわhelpコマンド付くわでしゅごい
883: デフォルトの名無しさん [sage] 2020/11/29(日) 08:16:26.52 ID:sDMgzk6G(1) AAS
>>882
この言語で何作ってる?
884: デフォルトの名無しさん [sage] 2020/11/29(日) 20:10:16.85 ID:JzQZ+ZwM(1) AAS
インスピレーションを得てるよ()
885(1): デフォルトの名無しさん [sage] 2021/01/04(月) 10:36:47.94 ID:62MOX0QC(1) AAS
>>816
このurl、forthで検索するとあちこちに見掛けるんだけど閉鎖しちゃったのかな
waybackにもgoogle cacheにも残ってない…
886(1): デフォルトの名無しさん [] 2021/01/04(月) 15:05:51.77 ID:VbZ6KZlq(1) AAS
>>885
>waybackにもgoogle cacheにも残ってない…
http://web.archive.org/web/20160425023618/http://www.h7.dion.ne.jp/~samwyn/forth/gforth/Floating-Point-Tutorial.html
887: デフォルトの名無しさん [sage] 2021/01/04(月) 18:39:50.21 ID:VbR1j+mv(1) AAS
>>886
使い方が悪かったのかも!ありがとう!
888: デフォルトの名無しさん [sage] 2021/03/11(木) 07:45:30.66 ID:ifNxw6Pa(1/2) AAS
技術的というより哲学っぽいので敬遠してたthinking forth今更読んだけど代名詞の言語というのがしっくり来た
どんな言語でもちゃんと書かれれば最上層のコード派読みやすいけどForthがとりわけ読みやすいのはこれだよな
最下層はほとんどアセンブラなのにこの極端性よ
889: デフォルトの名無しさん [sage] 2021/03/11(木) 07:58:59.35 ID:ifNxw6Pa(2/2) AAS
でもスタックイジイジするのパズルみたいでめちゃくちゃ楽しいんだよなあ、くやしい…
890: デフォルトの名無しさん [sage] 2021/08/23(月) 12:03:08.07 ID:YpDpq+5R(1) AAS
もはや(8ビット)PCのためではなく(マニアックな)人間のための言語。
891: デフォルトの名無しさん [sage] 2022/01/01(土) 09:37:17.88 ID:6v4FYv8q(1) AAS
あけおめ!
892: デフォルトの名無しさん [sage] 2022/01/10(月) 20:06:51.30 ID:Ge4oCWB3(1) AAS
久々に書き込みあったと思えば
あけおめ!
今どきforthは趣味だろうけど良い趣味だよ
あとAndroid版のgforthは関数電卓代わりに毎日使ってる
893: デフォルトの名無しさん [sage] 2022/05/16(月) 14:09:01.58 ID:/9w+5JsX(1) AAS
保守
する価値がまだあるだろうか
894: デフォルトの名無しさん [sage] 2022/05/17(火) 10:45:03.75 ID:u8alpQJv(1/2) AAS
今勉強中だけどおもしろい
しかしパーシングワードはどうにかならんかったのか
定義の底に埋もれたnameが解釈時に吸い込んだりするのが文脈飛んで分かりにくい…
psみたいに/name {code} exch def方式のほうが一貫性あったのではないか
895(1): デフォルトの名無しさん [sage] 2022/05/17(火) 10:55:12.34 ID:u8alpQJv(2/2) AAS
FORTHへの招待って古い本買ったんだけど、PICK/ROLLのindexが1始まりだったり、今の処理系と結構違うよね
長々とハードの話から始まり機能紹介までで終わってて、具体的なコーディングテクニックまでたどり着いてない…
モダンでオススメな本ってあるかな
896: デフォルトの名無しさん [sage] 2022/05/19(木) 08:44:16.13 ID:13z7p19v(1) AAS
モダンなFORTHなど存在しない!
897: デフォルトの名無しさん [sage] 2022/05/20(金) 15:21:07.51 ID:B9Pct0M/(1) AAS
初学者だけど
まあレトロなところに惹かれたのは否定できないな
有名な"FORTH思考"とか、一般プログラミング作法の啓蒙書としては素晴らしい
ブロックの章立ての章とかよく考えさせられる、まあ実ファィルに置き換えて写経してるけど
898: デフォルトの名無しさん [sage] 2024/01/01(月) 09:03:44.52 ID:MIyexYoQ(1) AAS
あけおめ!
899: デフォルトの名無しさん [sage] 2024/01/21(日) 09:24:04.48 ID:rroAgTgL(1) AAS
古の8bit機みたいな小さいマシンでnextルーチン書くところから始めてみたい
900: デフォルトの名無しさん [] 2024/05/04(土) 06:00:27.59 ID:+DAXDwQe(1) AAS
標準FORTHが国会図書館のサイトで読めるようになってる(要登録
https://dl.ndl.go.jp/pid/12631453
他にも古い本が色々見られるようになったっぽい。
901: デフォルトの名無しさん [sage] 2024/05/05(日) 14:45:30.58 ID:Fv0JPqsX(1) AAS
読もう。持ってたのは昔無くした
902: デフォルトの名無しさん [sage] 2025/01/01(水) 10:04:42.73 ID:exme2yo6(1) AAS
あけおめ
903(1): デフォルトの名無しさん [] 2025/06/14(土) 06:37:53.81 ID:3Q/jS2n6(1/2) AAS
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.04 ID:3Q/jS2n6(2/2) AAS
>>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.13 ID:flEjrxpy(1) AAS
>>903だけど自己解決
: && true ; ( exec forth "$0" -- "$@" )
で行けた
潔癖症ではないから定義されたワード&&は気にしない、たぶん処理系定義の&&は見たこと無いこら潰す事もないはず
一応win32forthとか複数の処理系で
forget &&
て消せたと思うんだけれど、今試してみたらgforthに無いからforgetは非標準ワードなのな
906: デフォルトの名無しさん [] 2025/06/21(土) 11:16:23.88 ID:fGhLJfIJ(1) AAS
こら
907: デフォルトの名無しさん [] 2025/06/26(木) 14:21:09.64 ID:nmyewptE(1) AAS
神経質すぎじゃねる
まあforgetはmarkerで実装できそうな気がする
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s