2 part forth (907レス)
上下前次1-新
366: 2008/02/18(月)11:50 AAS
基本的に
1.stackの一番上と二番目の値に対して演算
2.stackの一番上だけ取り除く
3.stackのn番目と一番目を交換
の機能だけがあると思ってていい?
367: 2008/02/19(火)07:10 AAS
concatenativeに?
それならスタックに対する関数適用だけかな
368(1): 2008/03/20(木)14:28 AAS
forthのコメントってもしやforthで書かれてる?
( コメント ) ←これ
369(1): 2008/03/20(木)15:22 AAS
>>368
実装にもよるけど、
ワード ( を読むと、フラグが立って、ワード ) まで無視する。
Forth で書いてある、ってこういう意味ってことでいいのかな?
370: 2008/03/20(木)15:50 AAS
>>369
いやなんかマクロみたいな機能を使って書かれているのかなーと
forth知らないので全然分かんないんですけど
要するに↓みたいにforth言語で書かれているのか?ってことです
: ( hoge hoge ... ;
371(1): 2008/03/20(木)20:15 AAS
『標準FORTH』だと pp.166 にある。
: ( 29 WORD DROP ; IMMEDIATE
29 は ')' のコード
WORD はスタックトップと同じキャラが出てくるまで入力を読んで、
その先頭のアドレスをスタックトップに置くワード。DROP は説明の
必要ないな。IMMEDIATE は直前に定義されたワードを、
イミディエイトワードにするワード。
C マガジンのきだあきらさんの連載『千言万語』の Forth の時に
紹介してたネタだったような気もする。
372(1): 2008/03/20(木)20:16 AAS
千言万語単行本にならねーかな
373(1): 2008/03/20(木)21:37 AAS
追加。
イミディエイトワード、というのが、プログラムの実行時ではなく
読み込み時に意味を持つワードなので、マクロのような機能と
言えるかもしれません。
374: 2008/03/21(金)07:42 AAS
>>371-373
サンクス
外部リンク[html]:www.geocities.jp
これ見てるけどimmediateの意味がいまいちわからん…
何のためのものなんだ?
: ( 29 WORD DROP ; IMMEDIATE
例えば↑にimmediateがついてなかったらどういう動作になるんだろう
375(1): 2008/03/21(金)08:55 AAS
仮に ( がイミディエイトワードで無かったとすると、
: hoge ほげほげ ( ほげほげ ) ;
とか書いた場合に、hoge の定義の一部として、実行される部分になって
しまいます。定義中でも直ちに実行されるワードがイミディエイトワードです。
376: 2008/03/22(土)10:18 AAS
>>375
なるほど
理解した。サンクス
377: 2008/03/27(木)22:38 AAS
最近、Concatenativeな言語というもの目にしたんでage
378: 2008/03/28(金)00:23 AAS
なんか酷いのみつけてきたwwwww
ちょっと草植えときますね型言語 Grass
外部リンク[html]:www.blue.sky.or.jp
スタックマシン使ってるってだけみたいだが(俺には良く分からん)
379: 2008/03/31(月)10:36 AAS
forth厨はなんでもかんでもスタックマシンにするな
380: 2008/04/03(木)02:09 AAS
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
381: 2008/04/10(木)03:00 AAS
あれ?factorの新しいの入れたら日本語出なくなった
エンコード関係?
382: 2008/05/14(水)14:10 AAS
factorソースから入れるのめんどくさいな・・・
gitなんて初めて知ったよ
383: 2008/06/03(火)17:56 AAS
何か面白い話無い?
384: 2008/06/05(木)11:05 AAS
スタック1本で動作する処理系作れ
385: 2008/06/05(木)16:18 AAS
バロースのメインフレームはシングルスタックなんだぜ?
386: 2008/06/05(木)18:37 AAS
wikipediaより
> スタックを1つしか持たないスタックマシンは、
> 計算モデルとしては非常に弱い。例えば、1-スタックマシンでは、
> 0n1n(0の並びの後に同じ個数の1が並ぶ言語)のような単純な言語も認識できない。
> 1-スタックマシンの計算能力は、有限オートマトンよりも高いが、
> 決定性プッシュダウン・オートマトンよりも低い。
> 一方、複数のスタックを持つスタックマシンはチューリング機械と等価である。
> 例えば、2-スタックマシンでは、チューリング機械をエミュレートできる
> (チューリング機械のヘッド位置から左側のテープをひとつのスタックが代替し、
> 右側のテープをもうひとつのスタックが代替する)。
へぇ〜
387: 2008/07/17(木)00:50 AAS
factorのドキュメント消えてら
388(1): 2008/08/01(金)21:55 AAS
V
外部リンク:en.wikipedia.org
Onyx
外部リンク:www.canonware.com
Forthもこれらも俺には使いこなせないんだけどね orz
389: 388 2008/08/01(金)21:57 AAS
Vはこっちのページも
外部リンク:code.google.com
390(4): 2008/08/02(土)03:04 AAS
Forthの実装中sage
実装法のドキュメント付きで晒すかも
391(1): 2008/08/02(土)04:01 AAS
forthって、引数の数ミスるだけで崩壊するよな
>>390
どんな俺フォースを見せてくれるんだい?
誰もいないしここ、日記帳のつもりで使ってくれよ。
392(1): 2008/08/02(土)06:07 AAS
久々にレスキタワァ*・゜゚・*:.。..。.:*・゜(n‘∀‘)η゚・*:.。. .。.:*・゜゚・* !!!!!
393(1): 2008/08/02(土)08:44 AAS
>>390
外部リンク:www.google.co.jp
どんな言語使って作るかしらん
こんなの補助として使ってみるのも便利かもしらん
394: 390 2008/08/02(土)14:40 AAS
過疎っぷりに見てる人もいないと思ったら、意外といたのね。
>>391
Forthの実装は初めてなので、古典的で教科書通りのIndirect Threaded Code、
Cで書いた仮想マシンの上で動かすってかんじで。
今はMac OS XとLinux(x86)とLinux Zaurus(arm)の上でぽちぽち書いてる。
ポータビリティーは良いのでメモリがあって速度も気にしなければ
簡単にマイコンにも移植可能だと思う。H8なら余裕かな。
今月のトラ技の78K0基板持ってるんだけど、こっちはきついかも。
>>392
あばばばばばば
>>393
おお、こんな面白いのがあったのね。
とりあえずアカウント取ってみた。
このスレに落書きしつつ、blogにまとめてけばいいかな。
ANS-ForthのCORE準拠を目指して
外部リンク[html]:www.taygeta.com
読んでるんだけど、けっこうめんどいなあ。
ある程度実装の目処がたったらコード晒してくつもり。
少々お待ちを。
395(1): 2008/08/04(月)22:59 AAS
Forth は実装が簡単だって聞いてたんで、
自分も作ってみようとちょっと調べたんだけど、
仕組みがよく分からなかったし(ワードの定義とか)、
規格に沿った物にしようとすると意外に仕様が大きくて、
挫折しますた><
上下前次1-新書関写板覧索設栞歴
あと 512 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.033s