2 part forth (907レス)
1-

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のワードのオーバーライドは、
関数型言語によくあるようにプログラムの全体についてそのワードの定義を更新するのではなく、
再定義後に読み込まれる部分についてしか効果がありません。
後から遡って定義を変更できるようにするには、
初めから特別な方法で定義しておくようになっています。

こんな感じでどうでしょう。
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はそういうやり方らしいですけど、
実行速度のためCで書き込むプリミティブを多めに取ったと書いています。

はじめ漠然と考えていたのは、間接スレッディングのforth環境の上でネイティブ方式のforthを頭から書いてしまう
というようなことでした。Executableフォーマットのファイルを作るのが結構面倒ですけど。
そこまでしなくても、Cのダイナミックライブラリとのインターフェイスがforth上で書ければ、
ほとんど何でもforthでできるんですけどね。
逆に言えば、マシンやOSの低レベルの仕様を調べないと派手なことをするのは難しいので、
そこが難点かも知れません。

もともとforthは言語仕様自体は貧弱なので、
アプリケーション毎に自前の言語を組上げていくみたいな面白さもあります。
インプットストリームも弄れるので、シンタックスまで変更できますし。
それがあまり面白がられていないということですかね。
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
φ(。。) めもめも
1-
あと 572 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.021s