2 part forth (907レス)
2 part forth http://mevius.5ch.net/test/read.cgi/tech/1073673931/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 507 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s