2 part forth (909レス)
上下前次1-新
300: 2006/11/10(金)22:26 AAS
>>298
>2年以上経つのにまだ300行ってないのか
FORTHプログラム張りなんだぜ?
301(1): 2006/11/28(火)05:56 AAS
test
>>261-265
>>266,267
302: 2006/11/29(水)12:28 AAS
: hoge foo bar ;
{ foo bar } hoge def #コードブロック
* foo bar hoge def #なし
303: 2006/12/09(土)03:15 AAS
age
外部リンク:factorcode.org
304: 2006/12/10(日)21:07 AAS
虎擬の新年号付属基板に移植するプロジェクト
305: 2006/12/26(火)05:05 AAS
>>301
おばかな流れにワロス
306: 2007/01/28(日)04:43 AAS
a
307: 2007/02/27(火)19:51 AAS
b
308: 2007/02/27(火)20:28 AAS
FORTH のすごいところは 対話型の言語でありながらコンパイラだってとこじゃないのかなぁ…
309: 2007/02/27(火)20:57 AAS
forthの凄いところは2スタックマシンと辞書による入れ子構造だと思う。
310(1): 2007/03/02(金)12:31 AAS
(・∀・ )っ/凵 ⌒☆ VisualForthマダー?
311: 2007/03/02(金)12:34 AAS
>>310
ムーアたん自ら開発済み。
外部リンク[html]:www.colorforth.com
312(1): 2007/03/30(金)06:30 AAS
最近のCPUって、プログラムの自己書き換えができないとか聞いたけど、
そうだとするとFORTH実装するのつらいよね。
313(1): 2007/03/30(金)07:48 AAS
たしかに今も昔もCPUの回路は自分で変更できないな。
314(1): 2007/03/30(金)23:27 AAS
メモリ書き換えればいいじゃん >312
315: [ ] 2007/03/31(土)16:33 AAS
>>314
最近のCPUってもコードキャッシュに先読みしたりしているから、
下手にメモリを書き換えると、先読みしたコードと、実際のメモリのコードが一致しなくなる。
ので、正常に動作しなくなったり、パイプラインにペナルティが発生して、動作がおそくなったりするらしい。
FORTHって、新しくワードを追加すると、自分自身が大きくなっていくような言語だから、
そこらへんどうすればいいのかわからない。
だれか教えてくれんかな。
316(1): 2007/04/01(日)05:04 AAS
FORTH以前にコンピュータの基礎知識が混乱してるな。
317: 2007/04/01(日)12:54 AAS
>>316
FORTHの事、知らないだろ。
318: 2007/04/01(日)13:11 AAS
>>313
VBばっかり使ってないで、ハーバードアーキテクチャとノイマンアーキテクチャの違いに付いて勉強しろよ(w
319: 2007/04/01(日)16:33 AAS
最近だとこの関係でJITコンパイラとXDビットでも問題になってましたな。
JIT関係にノウハウありそうだけど、良く判らん
320: 2007/04/02(月)05:03 AAS
べつに何の困難もないと思うけどな。
パラメータスタックなんて自由度の低いポインタみたいなもんじゃん。
321: 2007/04/11(水)23:18 AAS
なんかよくわからんけど、問題になりそうなのは、既存ワードの書き換え時だと思うので、
ワード書き換え→キャッシュをフラッシュ
でいいと思う。
322: 2007/04/23(月)23:27 AAS
いかにForthでも、線路を作りながら電車を走らせるようなことはありません。
ワードをコンパイルした後、そのワードを実行するまでには
少なくとも実行ワード名を読み込むI/Oプロセスが介在するので、
人間にとっては一瞬でも、機械には一服する余裕があります。
あと、Forthのワードのオーバーライドは、
関数型言語によくあるようにプログラムの全体についてそのワードの定義を更新するのではなく、
再定義後に読み込まれる部分についてしか効果がありません。
省3
323: 2007/04/24(火)06:20 AAS
forthの人気のなさは異常
324: 2007/04/24(火)23:36 AAS
異常だな。〜 if 〜 then 〜 else のせいだったりするんかね?
……forthに何があったらもっと流行るかな?
325: sage 2007/04/24(火)23:53 AAS
て、むしろ正常ってこと?
326: 2007/04/28(土)23:24 AAS
Forthを使いたいと思う人より、Forthの処理系を造りたいと思う人の方が多そうな予感
327: 2007/04/30(月)07:13 AAS
自分もForthを作っているクチ
毎日、Forthでプログラム作ってるぜ!って奴はいますか?
328(2): 2007/04/30(月)08:55 AAS
ど素人の趣味なので毎日はしませんが、Forth系じゃないコードはほとんど書きません。
むしろForthでForthを作れば良いのではないかと思います。
329(1): 2007/04/30(月)12:17 AAS
>328
Schemeみたいに最低限のプリミティブを用意して、それからForthを組むようにしたら面白いかもね。
Lispだとこんな感じか。
外部リンク:ja.wikipedia.org
Forthの場合、スタック関連の操作、代入、分岐、Immediate、postponeぐらいで
実装できそうな気がする
330: 328 2007/04/30(月)21:27 AAS
>>329
古典的なForthみたいにですね。
昔はアセンブリで書いた核の部分は、今はCでいいですからね。
ただ、何を核にすれば必要十分なのかについて、あまり資料がないですね。
四則演算と論理演算(ビット操作)もあった方がいい気もしますが、どうなんでしょう
(Lispは四則演算はいらない?)。
gforthはそういうやり方らしいですけど、
省11
331: 2007/05/03(木)09:02 AAS
昔、近所の古本屋で標準FORTHを100円で保護したのだが、捨ててしまった。漏れの馬鹿。
ところで、Beginning Forthを注文した。米国からなので2週間くらいかかりそう。
332: 2007/05/06(日)22:37 AAS
Forthはともかく資料不足。よって今更ながら英語の入門書をもう一個:
外部リンク[htm]:www.mpeforth.com
『Programming Forth』 - Stephen Pelc et al.
333: 2007/05/16(水)04:42 AAS
汎用で考えるとやっぱり今どきスタックは32ビット長ですよねえ。
そこで移植にお勧めの埋め込み用32ビットプロセッサって何がありますか?
I/Oがたっぷり用意されているので遊べるかなって思いますがどうでしょう。
334: 2007/05/24(木)20:39 AAS
パフォーマンス優先ならSHじゃね?
最近秋葉でも手に入りやすくなったし。
FORTHコンパイラをアセンブラでガリガリに書きたい人なら
アセンブラが書きやすいH8かな。
335: 2007/06/05(火)19:20 AAS
φ(。。) めもめも
336(1): 2007/06/05(火)20:54 AAS
HDLだけでFORTHは作れる?
337: 2007/06/11(月)13:07 AAS
>>336
作れるみたいですね やってみたことないけどw
外部リンク[htm]:www.ultratechnology.com
この中のMicroCoreって初めて知りました
外部リンク:www.microcore.org
338: 2007/07/26(木)16:12 AAS
joyの話しようぜ
339(1): 2007/09/15(土)23:22 AAS
後で読む: i386 / Linux 向け Forth コンパイラの作り方。
外部リンク[txt]:www.annexia.org
340(1): 2007/09/26(水)15:51 AAS
CでForthの処理系を書いてみた。
GCにはBoehm GC、辞書にはJudy Arrayを使ったので
ほとんど手間がかかっていないわりに速かった。
まだ単純な処理しか出来ないけどrubyとかより速いかも。
341: 2007/09/29(土)00:15 AAS
ささやかな期待
342(1): 2007/09/29(土)19:36 AAS
rubyより遅いforhtなんてあるのか?
343(1): 2007/09/29(土)19:51 AAS
>>342
rubyで書けばいいんじゃね?
344: 2007/09/30(日)17:21 AAS
>>343
激しく楽しくない気が
345(2): 2007/09/30(日)19:36 AAS
>>340
GC?
346(1): 2007/10/02(火)20:36 AAS
>>345
Garbage Collector でそ。
347(1): 2007/10/02(火)22:29 AAS
(forthに)GC?
てことじゃないか?
348: 345 2007/10/03(水)23:33 AAS
>>347
フォローありがとうございます。
>>346
すみません。347さんの線でお願いします。
どう使うのかなあ?と。
349: 2007/10/04(木)15:23 AAS
concatenative
350: 2007/10/07(日)11:41 AAS
" hoge" は汚なく感じるな
"hoge" か " hoge " だろと
351: 2007/10/16(火)01:35 AAS
外部リンク[cgi]:www.forthfreak.net
Programming guidelines when you start doing forth programming:
* try to keep your words to one line, two lines max
* try not to pass more than 3 items on the stack to a word, preferably only 2
* try not to juggle more than 3 items on the stack within a word if you can
352: 2007/10/24(水)17:49 AAS
FreeBSD 6.2 では boot loder の動作を
コントロールするために ficl という forth が使われていて
るので、勉強中です。
FreeBSD のサーバーをリモートから管理しています。
以前のバージョンでは nextboot(8) で別ディスク上のカーネルを
次回のみテスト的に起動する設定ができたのですが、今のバージョン 6.2 では
nextboot(8) では同一ディスク内のカーネルのテスト的起動しかできません。
省6
353: 2007/11/03(土)19:38 AAS
いまふ
354: 2007/12/22(土)11:53 AAS
dsForthがアドエスで動くのはガイシュツ?
355: 2008/01/04(金)04:23 AAS
notガイシュツ
356(1): 2008/01/27(日)13:50 AAS
このスレの人たちが使う電卓はRPLだったりするの?
357(1): 2008/01/27(日)15:03 AAS
HPの電卓?
358: 356 2008/01/27(日)17:17 AAS
>>357
そうです。RPNの間違いでした。
359: 2008/01/27(日)18:59 AAS
HP41CV,HP28,HP48SX,HP32S,と使ってきましたよ。
ちなみに今使っているHP35は問題大あり!
360: 2008/02/07(木)10:12 AAS
Adobe高速JavaScript実装、バイトコードにForthを採用
外部リンク[html]:journal.mycom.co.jp
361: 2008/02/07(木)15:34 AAS
LLVM涙目
362: 2008/02/07(木)21:52 AAS
単なるスタックベースのVMなだけじゃないの?
JavaVMとか既存のVMと一緒でしょ
363: 2008/02/16(土)22:40 AAS
急に某ゲーム機上で動くforthが作りたくなって>>339が挙げてるやつ読んでるんだが(まあこれはi386用だけど)、わかりやすいなこれ
実を言うと今までforthはあまり理解してなかったけど、モヤモヤしてたことがすっきりしてきた
しかしforthってシンプルで美しいなぁ
Lispやsmalltalkに負けないと思うのに、このマイナーさ…
364: 2008/02/17(日)00:09 AAS
concatenative languageあたりをキーワードにWebをさまよってみると良いよ。
joy factorあたりが面白いかね。おいらも俺言語作成中。
365: 2008/02/17(日)00:24 AAS
factor は良いねぇ。秘かに期待している。
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 は直前に定義されたワードを、
イミディエイトワードにするワード。
省2
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
省1
上下前次1-新書関写板覧索設栞歴
あと 529 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.019s