2 part forth (907レス)
2 part forth http://mevius.5ch.net/test/read.cgi/tech/1073673931/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
59: デフォルトの名無しさん [] 04/02/19 17:08 人少ないなぁ。 第4問 : AA reverse ." AA" ; : BB AA ." BB" ; : CC BB ." CC" ; でCCを実行すると CCBBAA を出力するようなreverseを定義すれ。 ‥‥‥実はコレ第3問のヒントだったりする。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/59
65: _| ̄|○ [sage] 04/02/23 20:44 ホント、人が居ないyo....._| ̄|○ 誰も見てないかもしれないけど解答編。 >>56 : twice r> dup >r >r ; >>59 : reverse r> r> swap r> swap >r swap >r >r ; >>62 : resume r> swap >r ; : call/cc r> swap execute ; ‥‥リターンスタックをいじるとヘンなことができて面白いよね。 ‥‥‥‥‥。 _| ̄|○ http://mevius.5ch.net/test/read.cgi/tech/1073673931/65
514: デフォルトの名無しさん [sage] 2008/10/11(土) 06:54:12 >>464のやり方だと実行の度にリターンスタックに命令列のコピーが発生するわけだな。 対して普通のForthはリターンアドレス一つのコピーで済む。 Forthでは関数の戻り場所を実行時に入れ替えたりできる( >>59, >>62 ) わけだけど、 >>464のやり方だと命令列自体の入れ替えになるから相当面倒。 Forthの自由度をわざわざ減らしている気がするんだけどな。 でも作るというならがんがれ。 様々な進化があってこそ発展もある。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/514
518: 464 [sage] 2008/10/11(土) 13:38:04 >514 思い出した……>59を実現するにはreverse自体のパック化も必須なんだっけ。 そういや>59みたいな操作をどうしようか悩んだな。 ただ、こういったWORDを跨ぐ暗黙的なリターンスタック制御てけっこう危険じゃない? 個人的にはWORDはデータスタックの状態にのみ依存すべきだと思うけど、WORDを越えた 範囲までリターンスタックを操作できるようにすると、WORD同士の依存関係が出てしまって 連鎖性(concatenative)が崩れるような気がする。 forthの条件分岐でも、セパレーターを使った明示的な制御をしているわけだし。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/518
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.033s