2 part forth (907レス)
2 part forth http://mevius.5ch.net/test/read.cgi/tech/1073673931/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
408: デフォルトの名無しさん [sage] 2008/08/28(木) 02:39:56 prologみたいにsum/3みたいにするとか。 よく判ってないが。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/408
409: デフォルトの名無しさん [sage] 2008/09/19(金) 17:01:15 引数管理しなきゃいけないようなコードの構成だと崩壊しそう http://mevius.5ch.net/test/read.cgi/tech/1073673931/409
410: デフォルトの名無しさん [sage] 2008/09/25(木) 03:11:26 しばらくforthやってたら他の言語がいじれなくなってて驚いた。 のめり込むのは危険だなw http://mevius.5ch.net/test/read.cgi/tech/1073673931/410
411: デフォルトの名無しさん [sage] 2008/09/25(木) 03:16:06 >>407 そのセパレータってリスト終端のnullに相当するから あながち間違ってないと思う。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/411
412: デフォルトの名無しさん [sage] 2008/09/25(木) 21:54:56 concatenativeの論理を詰めて行くと、 スタックの機構はコード設計のための因子から外されるのかも。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/412
413: デフォルトの名無しさん [sage] 2008/09/25(木) 22:34:55 >411 Wordの中でWordを呼ぼうとすると破綻するよ。 >412 結局はトップを基点とした対称性(みたいなもの)になるからな。 対称性があれば何でもOK http://mevius.5ch.net/test/read.cgi/tech/1073673931/413
414: デフォルトの名無しさん [sage] 2008/10/01(水) 00:29:26 スタック型プログラミング言語の最少命令セットを探して Whitespaceに辿りついたのですが、 これよりも言語仕様的に小さいスタック型言語ってあります? http://mevius.5ch.net/test/read.cgi/tech/1073673931/414
415: デフォルトの名無しさん [sage] 2008/10/01(水) 01:55:39 define call return conditional jump push pop これだけで足りるかな? http://mevius.5ch.net/test/read.cgi/tech/1073673931/415
416: デフォルトの名無しさん [sage] 2008/10/01(水) 07:09:50 callに条件をつければjumpも省けるんじゃないか? http://mevius.5ch.net/test/read.cgi/tech/1073673931/416
417: デフォルトの名無しさん [sage] 2008/10/02(木) 03:17:37 それより、ひと目で何やってるか判るforth作ってくれないかな。 >>54-65とか何やってるのかわからん。 記号覚えればいいんだろうけど。 : は定義っぽいということは文脈で判った。許す。 >rとかr>は何かと。 ;は文の終り? LISPでいう 'a は (quote a)です、みたいに特殊記号をあまり使わずに 誰が見ても大体判るように、平易な形にならないかな。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/417
418: デフォルトの名無しさん [sage] 2008/10/02(木) 17:56:08 >>417 : word でワードの定義開始、;で定義の終端 >r,r>はリターンスタックへのプッシュとポップ >>54の括弧内はそのワードを実行するとデータスタックの状態がどう変わるかをコメントで表している 他の言語と違って裸のスタックが丸見えなんよ http://mevius.5ch.net/test/read.cgi/tech/1073673931/418
419: デフォルトの名無しさん [sage] 2008/10/03(金) 02:22:08 リターンスタックに何をプッシュ(とポップ)するの?TOSの内容ってこと? >rとr>って判りにくいと思う。 一瞬で見分けられないというか。 不等号ちがうんかと。 記号使わずに全部記述的にできないかな。 mindとかそんなのかな。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/419
420: デフォルトの名無しさん [sage] 2008/10/03(金) 03:00:42 わかりやすい文法が欲しいのならforth系はあきらめた方がいいと思うよ http://mevius.5ch.net/test/read.cgi/tech/1073673931/420
421: デフォルトの名無しさん [sage] 2008/10/03(金) 06:08:32 : pushTOStoReturnStack postpone >r ; immediate : popFromReturnStackToTOS postpone r> ; immediate http://mevius.5ch.net/test/read.cgi/tech/1073673931/421
422: デフォルトの名無しさん [sage] 2008/10/03(金) 12:26:50 自分も420に賛成する、forthは裸の2スタックマシンのアセンブラと思えばいいんだけど、それがつらいとちょっときついと思う ただ、それがインタラクティブ環境を作るあたりと小さな核で構築できるのが非常に面白いのでがんばって覚えてみてよ。 逆に言うと簡単にぶっ壊れるとも言う http://mevius.5ch.net/test/read.cgi/tech/1073673931/422
423: デフォルトの名無しさん [sage] 2008/10/03(金) 16:59:48 Cとかの他の言語の常識持ち込もうとしてるヤツいないか? 「Forthではこう書く」ってのに納得いかないなら 悪いことは言わんから、使うのやめとけ http://mevius.5ch.net/test/read.cgi/tech/1073673931/423
424: デフォルトの名無しさん [sage] 2008/10/03(金) 17:54:20 スタックっつうのはあくまで機械にやさしいものであってユーザーフレンドリーなものじゃないしな http://mevius.5ch.net/test/read.cgi/tech/1073673931/424
425: デフォルトの名無しさん [sage] 2008/10/03(金) 18:38:23 頻繁にスタックを意識しないといけないのは悪いForthコード http://mevius.5ch.net/test/read.cgi/tech/1073673931/425
426: デフォルトの名無しさん [sage] 2008/10/03(金) 20:05:40 正直アセンブラの方が楽だよ http://mevius.5ch.net/test/read.cgi/tech/1073673931/426
427: デフォルトの名無しさん [sage] 2008/10/03(金) 20:24:33 慣れると気持ちいいよJoy。forthは知らんけど http://mevius.5ch.net/test/read.cgi/tech/1073673931/427
428: デフォルトの名無しさん [sage] 2008/10/03(金) 20:29:08 >426 Forthは仮想スタックマシンのアセンブラだから、 (仮想)マシンの理解度によるだろな。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/428
429: デフォルトの名無しさん [sage] 2008/10/03(金) 22:29:45 いや、もっと視認しやすい記号セットを使ってくれって話だろ。 ハイライトできるエディタで単語登録するか、トランスレータでもかますのがいいと思う。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/429
430: デフォルトの名無しさん [sage] 2008/10/03(金) 23:01:49 ところでリターンスタックって別に必要なの? 普通のCPUは1本だよね。 スタックに対して相対アドレッシングがないからってことかな? http://mevius.5ch.net/test/read.cgi/tech/1073673931/430
431: デフォルトの名無しさん [sage] 2008/10/03(金) 23:57:29 >419 >rとr>は確かに見た目がわかりにくい。 よほどのことが無い限り使わない。 localがあれば要らない。 >430 呼出しのときにデータスタックで直接パラメターを渡すためでしょう。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/431
432: デフォルトの名無しさん [sage] 2008/10/04(土) 00:00:27 >>430 普通のアーキテクチャだと関数呼び出しのスタックにパラメータも突っ込んじゃうけど forthはデータのpushと関数呼び出しの戻りアドレスが入るスタックが別なんよ。 っていうか別だから面白いことができるので、一緒だったらループとかで涙が出そうだと思う。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/432
433: デフォルトの名無しさん [sage] 2008/10/04(土) 00:10:21 SP, BPレジスタに相当するものがあれば良いのでは http://mevius.5ch.net/test/read.cgi/tech/1073673931/433
434: デフォルトの名無しさん [sage] 2008/10/04(土) 17:45:11 リターンスタックとデータスタックが一緒だと、 リターンアドレスを壊さないようにデータをいじるのがメンドイ。 リターンアドレスが詰まれている位置を避けるようにして スタックをアクセスしなきゃいけないから。 それはSPとBPがあってもメンドイことに変わりはない。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/434
435: デフォルトの名無しさん [sage] 2008/10/04(土) 19:46:33 >>430 まあ、便利だから? 実装としてはバローズのメインフレーム見たく演算とリターン アドレス保存を一本のスタックでこなすものもあるよ。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/435
436: デフォルトの名無しさん [sage] 2008/10/04(土) 21:37:24 factorだともうひとつスタックあるよ http://mevius.5ch.net/test/read.cgi/tech/1073673931/436
437: デフォルトの名無しさん [sage] 2008/10/04(土) 23:25:44 データスタックとリターンスタックがないと チューリングマシンと等価じゃないらしいぞ http://mevius.5ch.net/test/read.cgi/tech/1073673931/437
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 470 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.042s