2 part forth (909レス)
2 part forth http://mevius.5ch.net/test/read.cgi/tech/1073673931/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
361: デフォルトの名無しさん [sage] 2008/02/07(木) 15:34:36 LLVM涙目 http://mevius.5ch.net/test/read.cgi/tech/1073673931/361
362: デフォルトの名無しさん [sage] 2008/02/07(木) 21:52:21 単なるスタックベースのVMなだけじゃないの? JavaVMとか既存のVMと一緒でしょ http://mevius.5ch.net/test/read.cgi/tech/1073673931/362
363: デフォルトの名無しさん [sage] 2008/02/16(土) 22:40:23 急に某ゲーム機上で動くforthが作りたくなって>>339が挙げてるやつ読んでるんだが(まあこれはi386用だけど)、わかりやすいなこれ 実を言うと今までforthはあまり理解してなかったけど、モヤモヤしてたことがすっきりしてきた しかしforthってシンプルで美しいなぁ Lispやsmalltalkに負けないと思うのに、このマイナーさ… http://mevius.5ch.net/test/read.cgi/tech/1073673931/363
364: デフォルトの名無しさん [sage] 2008/02/17(日) 00:09:41 concatenative languageあたりをキーワードにWebをさまよってみると良いよ。 joy factorあたりが面白いかね。おいらも俺言語作成中。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/364
365: デフォルトの名無しさん [sage] 2008/02/17(日) 00:24:42 factor は良いねぇ。秘かに期待している。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/365
366: デフォルトの名無しさん [sage] 2008/02/18(月) 11:50:59 基本的に 1.stackの一番上と二番目の値に対して演算 2.stackの一番上だけ取り除く 3.stackのn番目と一番目を交換 の機能だけがあると思ってていい? http://mevius.5ch.net/test/read.cgi/tech/1073673931/366
367: デフォルトの名無しさん [sage] 2008/02/19(火) 07:10:53 concatenativeに? それならスタックに対する関数適用だけかな http://mevius.5ch.net/test/read.cgi/tech/1073673931/367
368: デフォルトの名無しさん [] 2008/03/20(木) 14:28:46 forthのコメントってもしやforthで書かれてる? ( コメント ) ←これ http://mevius.5ch.net/test/read.cgi/tech/1073673931/368
369: デフォルトの名無しさん [sage] 2008/03/20(木) 15:22:35 >>368 実装にもよるけど、 ワード ( を読むと、フラグが立って、ワード ) まで無視する。 Forth で書いてある、ってこういう意味ってことでいいのかな? http://mevius.5ch.net/test/read.cgi/tech/1073673931/369
370: デフォルトの名無しさん [] 2008/03/20(木) 15:50:12 >>369 いやなんかマクロみたいな機能を使って書かれているのかなーと forth知らないので全然分かんないんですけど 要するに↓みたいにforth言語で書かれているのか?ってことです : ( hoge hoge ... ; http://mevius.5ch.net/test/read.cgi/tech/1073673931/370
371: デフォルトの名無しさん [sage] 2008/03/20(木) 20:15:20 『標準FORTH』だと pp.166 にある。 : ( 29 WORD DROP ; IMMEDIATE 29 は ')' のコード WORD はスタックトップと同じキャラが出てくるまで入力を読んで、 その先頭のアドレスをスタックトップに置くワード。DROP は説明の 必要ないな。IMMEDIATE は直前に定義されたワードを、 イミディエイトワードにするワード。 C マガジンのきだあきらさんの連載『千言万語』の Forth の時に 紹介してたネタだったような気もする。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/371
372: デフォルトの名無しさん [sage] 2008/03/20(木) 20:16:04 千言万語単行本にならねーかな http://mevius.5ch.net/test/read.cgi/tech/1073673931/372
373: デフォルトの名無しさん [sage] 2008/03/20(木) 21:37:32 追加。 イミディエイトワード、というのが、プログラムの実行時ではなく 読み込み時に意味を持つワードなので、マクロのような機能と 言えるかもしれません。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/373
374: デフォルトの名無しさん [] 2008/03/21(金) 07:42:46 >>371-373 サンクス http://www.geocities.jp/naosacra/mops/particle2/immediate.html これ見てるけどimmediateの意味がいまいちわからん… 何のためのものなんだ? : ( 29 WORD DROP ; IMMEDIATE 例えば↑にimmediateがついてなかったらどういう動作になるんだろう http://mevius.5ch.net/test/read.cgi/tech/1073673931/374
375: デフォルトの名無しさん [sage] 2008/03/21(金) 08:55:03 仮に ( がイミディエイトワードで無かったとすると、 : hoge ほげほげ ( ほげほげ ) ; とか書いた場合に、hoge の定義の一部として、実行される部分になって しまいます。定義中でも直ちに実行されるワードがイミディエイトワードです。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/375
376: デフォルトの名無しさん [] 2008/03/22(土) 10:18:31 >>375 なるほど 理解した。サンクス http://mevius.5ch.net/test/read.cgi/tech/1073673931/376
377: デフォルトの名無しさん [] 2008/03/27(木) 22:38:05 最近、Concatenativeな言語というもの目にしたんでage http://mevius.5ch.net/test/read.cgi/tech/1073673931/377
378: デフォルトの名無しさん [sage] 2008/03/28(金) 00:23:41 なんか酷いのみつけてきたwwwww ちょっと草植えときますね型言語 Grass http://www.blue.sky.or.jp/grass/doc_ja.html スタックマシン使ってるってだけみたいだが(俺には良く分からん) http://mevius.5ch.net/test/read.cgi/tech/1073673931/378
379: デフォルトの名無しさん [sage] 2008/03/31(月) 10:36:35 forth厨はなんでもかんでもスタックマシンにするな http://mevius.5ch.net/test/read.cgi/tech/1073673931/379
380: デフォルトの名無しさん [sage] 2008/04/03(木) 02:09:52 factorでHelloWorldのCGIやってみた httpdからのfactor起動はバッチファイルで USING: io ; "Content-type: text/html; charset=Shift_JIS\n\n" print "<HTML><head><title></title></head>\n<body>" print "はろ〜factor表\示可能\" print "<br>\n</body></HTML>" print なんか楽しいw http://mevius.5ch.net/test/read.cgi/tech/1073673931/380
381: デフォルトの名無しさん [sage] 2008/04/10(木) 03:00:58 あれ?factorの新しいの入れたら日本語出なくなった エンコード関係? http://mevius.5ch.net/test/read.cgi/tech/1073673931/381
382: デフォルトの名無しさん [sage] 2008/05/14(水) 14:10:30 factorソースから入れるのめんどくさいな・・・ gitなんて初めて知ったよ http://mevius.5ch.net/test/read.cgi/tech/1073673931/382
383: デフォルトの名無しさん [sage] 2008/06/03(火) 17:56:33 何か面白い話無い? http://mevius.5ch.net/test/read.cgi/tech/1073673931/383
384: デフォルトの名無しさん [sage] 2008/06/05(木) 11:05:57 スタック1本で動作する処理系作れ http://mevius.5ch.net/test/read.cgi/tech/1073673931/384
385: デフォルトの名無しさん [sage] 2008/06/05(木) 16:18:58 バロースのメインフレームはシングルスタックなんだぜ? http://mevius.5ch.net/test/read.cgi/tech/1073673931/385
386: デフォルトの名無しさん [sage] 2008/06/05(木) 18:37:49 wikipediaより > スタックを1つしか持たないスタックマシンは、 > 計算モデルとしては非常に弱い。例えば、1-スタックマシンでは、 > 0n1n(0の並びの後に同じ個数の1が並ぶ言語)のような単純な言語も認識できない。 > 1-スタックマシンの計算能力は、有限オートマトンよりも高いが、 > 決定性プッシュダウン・オートマトンよりも低い。 > 一方、複数のスタックを持つスタックマシンはチューリング機械と等価である。 > 例えば、2-スタックマシンでは、チューリ
ング機械をエミュレートできる > (チューリング機械のヘッド位置から左側のテープをひとつのスタックが代替し、 > 右側のテープをもうひとつのスタックが代替する)。 へぇ〜 http://mevius.5ch.net/test/read.cgi/tech/1073673931/386
387: デフォルトの名無しさん [sage] 2008/07/17(木) 00:50:58 factorのドキュメント消えてら http://mevius.5ch.net/test/read.cgi/tech/1073673931/387
388: デフォルトの名無しさん [] 2008/08/01(金) 21:55:57 V http://en.wikipedia.org/wiki/V_(programming_language) Onyx http://www.canonware.com/onyx/ Forthもこれらも俺には使いこなせないんだけどね orz http://mevius.5ch.net/test/read.cgi/tech/1073673931/388
389: 388 [sage] 2008/08/01(金) 21:57:15 Vはこっちのページも http://code.google.com/p/v-language/ http://mevius.5ch.net/test/read.cgi/tech/1073673931/389
390: デフォルトの名無しさん [sage] 2008/08/02(土) 03:04:06 Forthの実装中sage 実装法のドキュメント付きで晒すかも http://mevius.5ch.net/test/read.cgi/tech/1073673931/390
391: デフォルトの名無しさん [sage] 2008/08/02(土) 04:01:08 forthって、引数の数ミスるだけで崩壊するよな >>390 どんな俺フォースを見せてくれるんだい? 誰もいないしここ、日記帳のつもりで使ってくれよ。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/391
392: デフォルトの名無しさん [sage] 2008/08/02(土) 06:07:26 久々にレスキタワァ*・゜゚・*:.。..。.:*・゜(n‘∀‘)η゚・*:.。. .。.:*・゜゚・* !!!!! http://mevius.5ch.net/test/read.cgi/tech/1073673931/392
393: デフォルトの名無しさん [sage] 2008/08/02(土) 08:44:15 >>390 http://www.google.co.jp/search?hl=ja&q=codepad&btnG=%E6%A4%9C%E7%B4%A2&lr= どんな言語使って作るかしらん こんなの補助として使ってみるのも便利かもしらん http://mevius.5ch.net/test/read.cgi/tech/1073673931/393
394: 390 [sage] 2008/08/02(土) 14:40:33 過疎っぷりに見てる人もいないと思ったら、意外といたのね。 >>391 Forthの実装は初めてなので、古典的で教科書通りのIndirect Threaded Code、 Cで書いた仮想マシンの上で動かすってかんじで。 今はMac OS XとLinux(x86)とLinux Zaurus(arm)の上でぽちぽち書いてる。 ポータビリティーは良いのでメモリがあって速度も気にしなければ 簡単にマイコンにも移植可能だと思う。H8なら余裕かな。 今月のトラ技の78K0基板持ってるんだけど、こっちはきついかも。 >>392 あばばばばばば >>393
おお、こんな面白いのがあったのね。 とりあえずアカウント取ってみた。 このスレに落書きしつつ、blogにまとめてけばいいかな。 ANS-ForthのCORE準拠を目指して http://www.taygeta.com/forth/dpans.html 読んでるんだけど、けっこうめんどいなあ。 ある程度実装の目処がたったらコード晒してくつもり。 少々お待ちを。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/394
395: デフォルトの名無しさん [sage] 2008/08/04(月) 22:59:11 Forth は実装が簡単だって聞いてたんで、 自分も作ってみようとちょっと調べたんだけど、 仕組みがよく分からなかったし(ワードの定義とか)、 規格に沿った物にしようとすると意外に仕様が大きくて、 挫折しますた>< http://mevius.5ch.net/test/read.cgi/tech/1073673931/395
396: 390 [sage] 2008/08/05(火) 23:09:27 >>395 辞書まわりは次の10個のワードがあればOK(たぶんね) CREATE COMMA(,) [ ] IMMEDIATE TICK(') COLON(:) SEMICOLON(;) FIND WORD このあたりのワードの挙動は、 http://www.annexia.org/forth ここのjonesforthを参考にすればいいと思う。 これをインスパイヤしたCと日本語のドキュメントを書いてるんだが・・・仕事が忙しくてね・・・ これをざーっと読んで、yforthあたりの簡単な処理系のコード眺めて 実際に動作を確かめればANS-Forthの準拠もそう難しくないかと。 たださ、ANS-Forthって処
理系の内部の規定しすぎじゃね? もっと好きなようにやらしてくれよ。一回確保したWORDが二度と解放できないとか、 文字列はヌル終端しない代わりに文字数を記憶するとか、ちょっと気持ち悪い気がする。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/396
397: デフォルトの名無しさん [sage] 2008/08/05(火) 23:23:59 >文字列はヌル終端しない代わりに文字数を記憶する これは正当だと思う。ヌル終端がどれだけのバグを生み出しているか…… http://mevius.5ch.net/test/read.cgi/tech/1073673931/397
398: デフォルトの名無しさん [sage] 2008/08/06(水) 21:05:50 実装としては文字列をヌル終端にしても可。 但し、文字数は必要、かつ、 ヌル終端を当てにしたコードを書いても一般には動く保証なし。 が規定の内容と思われます。他の規定も同様。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/398
399: デフォルトの名無しさん [sage] 2008/08/08(金) 19:23:22 ASCIIZはねーよマジで http://mevius.5ch.net/test/read.cgi/tech/1073673931/399
400: デフォルトの名無しさん [sage] 2008/08/09(土) 16:38:27 でも、C言語で作られたプログラムとの連携したいときは、NUL文字終端がいいよね。 C言語で作られたプログラムの数の多さ、便利さから言うと、無視できないなと。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/400
401: デフォルトの名無しさん [sage] 2008/08/09(土) 18:30:35 Cは捨てるのがよろしいかと。 C++をbetter Cとして使う方がまだましだと思う。 C++を使えないようなリソースのキツい環境で使うんだったらforthを直書きした方が良いんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1073673931/401
402: デフォルトの名無しさん [sage] 2008/08/10(日) 00:15:50 >C++をbetter Cとして使う それ最悪 http://mevius.5ch.net/test/read.cgi/tech/1073673931/402
403: デフォルトの名無しさん [sage] 2008/08/11(月) 00:15:21 402 と同感だが、better Cとして使うのは FORTH 実装にはない(価値が少ない)だろ。 自己学習として作るならまだしも、 FORTHに期待される動作環境だったらアセンブリレベルの設計が必要だろ。 C++使うならC++的設計をしろって。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/403
404: デフォルトの名無しさん [sage] 2008/08/27(水) 00:31:36 forthチック俺言語のプロセスが回った記念カキコ。 forthだと引数管理がけっこう面倒だと思うけど、wordの名前に 引数の数の情報を盛り込んだら楽にならんかね? 俺言語ではこんな感じでドットの数=引数の数にしているんだけど、どう思う? 1 2 ..sum 1 2 3 .:sum 名前の衝突も起こりにくくなって一石二鳥かと思うんだけど。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/404
405: デフォルトの名無しさん [sage] 2008/08/27(水) 09:31:38 ドット打つのがひたすらめんどくさそう ifだと.:ifになるの? http://mevius.5ch.net/test/read.cgi/tech/1073673931/405
406: デフォルトの名無しさん [sage] 2008/08/27(水) 21:05:33 こういう風にしたらどう? ・引数可変のワードは # で始まることとする ・ワード [ は現在のパラメータスタックポインタの値を リターンスタックに積む ・ワード ] は現在のパラメータスタックポインタの値と リターンスタックポインタのトップの値の差から パラメータ数を計算しパラメータスタックに積む たとえば [ 10 20 30 ] #sum と書くと、#sum実行直前にはパラメータスタックは 10 20 30 3 となっていて、#sumは3つの数の和を求めればいいことがわかる。 http://mev
ius.5ch.net/test/read.cgi/tech/1073673931/406
407: 404 [sage] 2008/08/27(水) 22:38:18 >405 そこは構文糖使った方がよろしいかと (a ? b ! cの三項演算子とか) >406 それも考えたけど、そうするとConcatenativeのメリットが死ぬんだよね。 できるだけ前の計算結果に依存しないように考えると、セパレータのようなものを スタックに積むのは良くないので、ワード単体で引数までを意味するようにしたい、 ということですな。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/407
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
438: デフォルトの名無しさん [sage] 2008/10/05(日) 00:17:09 >>437 等価じゃないとはよく聞くけど、等価じゃないとする説明ってどっかにないですかね。 それで実用で困ることありますかね。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/438
439: デフォルトの名無しさん [sage] 2008/10/05(日) 01:12:05 今理解した。 リターンスタックってそのままBP相当じゃん。 ほんとはBPポインタ一個あれば十分だよね? 素直にBPを持たずにわざわざリターンスタックなんて用意してるのは、 スタックマシンと言えなくなるからかね。 なんだかなあ。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/439
440: デフォルトの名無しさん [sage] 2008/10/05(日) 03:10:12 BPあってもメモリがないとな http://mevius.5ch.net/test/read.cgi/tech/1073673931/440
441: デフォルトの名無しさん [sage] 2008/10/05(日) 03:49:49 今理解した。 BPってそのままリターンスタック相当じゃん。 ほんとはリターンスタックあれば十分だよね? 素直にリターンスタックを持たずに、わざわざBPなんて用意してるのは、 レジスタマシンと言えなくなるからかね。 なんだかなあ。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/441
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 468 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s