2 part forth (909レス)
2 part forth http://mevius.5ch.net/test/read.cgi/tech/1073673931/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
307: デフォルトの名無しさん [] 2007/02/27(火) 19:51:33 b http://mevius.5ch.net/test/read.cgi/tech/1073673931/307
308: デフォルトの名無しさん [sage] 2007/02/27(火) 20:28:16 FORTH のすごいところは 対話型の言語でありながらコンパイラだってとこじゃないのかなぁ… http://mevius.5ch.net/test/read.cgi/tech/1073673931/308
309: デフォルトの名無しさん [sage] 2007/02/27(火) 20:57:50 forthの凄いところは2スタックマシンと辞書による入れ子構造だと思う。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/309
310: デフォルトの名無しさん [sage] 2007/03/02(金) 12:31:00 (・∀・ )っ/凵 ⌒☆ VisualForthマダー? http://mevius.5ch.net/test/read.cgi/tech/1073673931/310
311: デフォルトの名無しさん [sage] 2007/03/02(金) 12:34:49 >>310 ムーアたん自ら開発済み。 http://www.colorforth.com/index.html http://mevius.5ch.net/test/read.cgi/tech/1073673931/311
312: デフォルトの名無しさん [] 2007/03/30(金) 06:30:41 最近のCPUって、プログラムの自己書き換えができないとか聞いたけど、 そうだとするとFORTH実装するのつらいよね。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/312
313: デフォルトの名無しさん [sage] 2007/03/30(金) 07:48:32 たしかに今も昔もCPUの回路は自分で変更できないな。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/313
314: デフォルトの名無しさん [sage] 2007/03/30(金) 23:27:06 メモリ書き換えればいいじゃん >312 http://mevius.5ch.net/test/read.cgi/tech/1073673931/314
315: デフォルトの名無しさん [ ] 2007/03/31(土) 16:33:43 >>314 最近のCPUってもコードキャッシュに先読みしたりしているから、 下手にメモリを書き換えると、先読みしたコードと、実際のメモリのコードが一致しなくなる。 ので、正常に動作しなくなったり、パイプラインにペナルティが発生して、動作がおそくなったりするらしい。 FORTHって、新しくワードを追加すると、自分自身が大きくなっていくような言語だから、 そこらへんどうすればいいのかわからない。 だれか教えてくれんかな。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/315
316: デフォルトの名無しさん [sage] 2007/04/01(日) 05:04:00 FORTH以前にコンピュータの基礎知識が混乱してるな。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/316
317: デフォルトの名無しさん [sage] 2007/04/01(日) 12:54:31 >>316 FORTHの事、知らないだろ。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/317
318: デフォルトの名無しさん [] 2007/04/01(日) 13:11:17 >>313 VBばっかり使ってないで、ハーバードアーキテクチャとノイマンアーキテクチャの違いに付いて勉強しろよ(w http://mevius.5ch.net/test/read.cgi/tech/1073673931/318
319: デフォルトの名無しさん [sage] 2007/04/01(日) 16:33:44 最近だとこの関係でJITコンパイラとXDビットでも問題になってましたな。 JIT関係にノウハウありそうだけど、良く判らん http://mevius.5ch.net/test/read.cgi/tech/1073673931/319
320: デフォルトの名無しさん [sage] 2007/04/02(月) 05:03:35 べつに何の困難もないと思うけどな。 パラメータスタックなんて自由度の低いポインタみたいなもんじゃん。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/320
321: デフォルトの名無しさん [sage] 2007/04/11(水) 23:18:58 なんかよくわからんけど、問題になりそうなのは、既存ワードの書き換え時だと思うので、 ワード書き換え→キャッシュをフラッシュ でいいと思う。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/321
322: デフォルトの名無しさん [] 2007/04/23(月) 23:27:41 いかにForthでも、線路を作りながら電車を走らせるようなことはありません。 ワードをコンパイルした後、そのワードを実行するまでには 少なくとも実行ワード名を読み込むI/Oプロセスが介在するので、 人間にとっては一瞬でも、機械には一服する余裕があります。 あと、Forthのワードのオーバーライドは、 関数型言語によくあるようにプログラムの全体についてそのワードの定義を更新するのではなく、 再定義後に読み込まれる部分についてしか効果がありません。 後から遡って定義を変更できるようにするには、 初めから特別な方法で定義しておくようになっています。 こんな感じでどうでしょう。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/322
323: デフォルトの名無しさん [sage] 2007/04/24(火) 06:20:31 forthの人気のなさは異常 http://mevius.5ch.net/test/read.cgi/tech/1073673931/323
324: デフォルトの名無しさん [sage] 2007/04/24(火) 23:36:56 異常だな。〜 if 〜 then 〜 else のせいだったりするんかね? ……forthに何があったらもっと流行るかな? http://mevius.5ch.net/test/read.cgi/tech/1073673931/324
325: sage [] 2007/04/24(火) 23:53:34 て、むしろ正常ってこと? http://mevius.5ch.net/test/read.cgi/tech/1073673931/325
326: デフォルトの名無しさん [sage] 2007/04/28(土) 23:24:51 Forthを使いたいと思う人より、Forthの処理系を造りたいと思う人の方が多そうな予感 http://mevius.5ch.net/test/read.cgi/tech/1073673931/326
327: デフォルトの名無しさん [sage] 2007/04/30(月) 07:13:54 自分もForthを作っているクチ 毎日、Forthでプログラム作ってるぜ!って奴はいますか? http://mevius.5ch.net/test/read.cgi/tech/1073673931/327
328: デフォルトの名無しさん [sage] 2007/04/30(月) 08:55:54 ど素人の趣味なので毎日はしませんが、Forth系じゃないコードはほとんど書きません。 むしろForthでForthを作れば良いのではないかと思います。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/328
329: デフォルトの名無しさん [sage] 2007/04/30(月) 12:17:29 >328 Schemeみたいに最低限のプリミティブを用意して、それからForthを組むようにしたら面白いかもね。 Lispだとこんな感じか。 ttp://ja.wikipedia.org/wiki/LISP#.E6.9C.80.E5.B0.8F.E3.81.AELISP Forthの場合、スタック関連の操作、代入、分岐、Immediate、postponeぐらいで 実装できそうな気がする http://mevius.5ch.net/test/read.cgi/tech/1073673931/329
330: 328 [sage] 2007/04/30(月) 21:27:11 >>329 古典的なForthみたいにですね。 昔はアセンブリで書いた核の部分は、今はCでいいですからね。 ただ、何を核にすれば必要十分なのかについて、あまり資料がないですね。 四則演算と論理演算(ビット操作)もあった方がいい気もしますが、どうなんでしょう (Lispは四則演算はいらない?)。 gforthはそういうやり方らしいですけど、 実行速度のためCで書き込むプリミティブを多めに取ったと書いています。 はじめ漠然と考えていたのは、間接スレッディングのforth環境の上でネイティブ方式のforthを頭から書いてしまう というようなことでした。Executableフォーマットのファイルを作るのが結構面倒ですけど。 そこまでしなくても、Cのダイナミックライブラリとのインターフェイスがforth上で書ければ、 ほとんど何でもforthでできるんですけどね。 逆に言えば、マシンやOSの低レベルの仕様を調べないと派手なことをするのは難しいので、 そこが難点かも知れません。 もともとforthは言語仕様自体は貧弱なので、 アプリケーション毎に自前の言語を組上げていくみたいな面白さもあります。 インプットストリームも弄れるので、シンタックスまで変更できますし。 それがあまり面白がられていないということですかね。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/330
331: デフォルトの名無しさん [sage] 2007/05/03(木) 09:02:05 昔、近所の古本屋で標準FORTHを100円で保護したのだが、捨ててしまった。漏れの馬鹿。 ところで、Beginning Forthを注文した。米国からなので2週間くらいかかりそう。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/331
332: デフォルトの名無しさん [sage] 2007/05/06(日) 22:37:02 Forthはともかく資料不足。よって今更ながら英語の入門書をもう一個: ttp://www.mpeforth.com/books.htm 『Programming Forth』 - Stephen Pelc et al. http://mevius.5ch.net/test/read.cgi/tech/1073673931/332
333: デフォルトの名無しさん [sage] 2007/05/16(水) 04:42:21 汎用で考えるとやっぱり今どきスタックは32ビット長ですよねえ。 そこで移植にお勧めの埋め込み用32ビットプロセッサって何がありますか? I/Oがたっぷり用意されているので遊べるかなって思いますがどうでしょう。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/333
334: デフォルトの名無しさん [sage] 2007/05/24(木) 20:39:30 パフォーマンス優先ならSHじゃね? 最近秋葉でも手に入りやすくなったし。 FORTHコンパイラをアセンブラでガリガリに書きたい人なら アセンブラが書きやすいH8かな。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/334
335: デフォルトの名無しさん [sage] 2007/06/05(火) 19:20:03 φ(。。) めもめも http://mevius.5ch.net/test/read.cgi/tech/1073673931/335
336: デフォルトの名無しさん [sage] 2007/06/05(火) 20:54:14 HDLだけでFORTHは作れる? http://mevius.5ch.net/test/read.cgi/tech/1073673931/336
337: デフォルトの名無しさん [sage] 2007/06/11(月) 13:07:14 >>336 作れるみたいですね やってみたことないけどw ttp://www.ultratechnology.com/chips.htm この中のMicroCoreって初めて知りました ttp://www.microcore.org/ http://mevius.5ch.net/test/read.cgi/tech/1073673931/337
338: デフォルトの名無しさん [sage] 2007/07/26(木) 16:12:13 joyの話しようぜ http://mevius.5ch.net/test/read.cgi/tech/1073673931/338
339: デフォルトの名無しさん [sage] 2007/09/15(土) 23:22:38 後で読む: i386 / Linux 向け Forth コンパイラの作り方。 ttp://www.annexia.org/_file/jonesforth.s.txt http://mevius.5ch.net/test/read.cgi/tech/1073673931/339
340: デフォルトの名無しさん [sage] 2007/09/26(水) 15:51:44 CでForthの処理系を書いてみた。 GCにはBoehm GC、辞書にはJudy Arrayを使ったので ほとんど手間がかかっていないわりに速かった。 まだ単純な処理しか出来ないけどrubyとかより速いかも。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/340
341: デフォルトの名無しさん [sage] 2007/09/29(土) 00:15:24 ささやかな期待 http://mevius.5ch.net/test/read.cgi/tech/1073673931/341
342: デフォルトの名無しさん [sage] 2007/09/29(土) 19:36:42 rubyより遅いforhtなんてあるのか? http://mevius.5ch.net/test/read.cgi/tech/1073673931/342
343: デフォルトの名無しさん [sage] 2007/09/29(土) 19:51:26 >>342 rubyで書けばいいんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1073673931/343
344: デフォルトの名無しさん [sage] 2007/09/30(日) 17:21:13 >>343 激しく楽しくない気が http://mevius.5ch.net/test/read.cgi/tech/1073673931/344
345: デフォルトの名無しさん [sage] 2007/09/30(日) 19:36:18 >>340 GC? http://mevius.5ch.net/test/read.cgi/tech/1073673931/345
346: デフォルトの名無しさん [sage] 2007/10/02(火) 20:36:49 >>345 Garbage Collector でそ。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/346
347: デフォルトの名無しさん [sage] 2007/10/02(火) 22:29:09 (forthに)GC? てことじゃないか? http://mevius.5ch.net/test/read.cgi/tech/1073673931/347
348: 345 [sage] 2007/10/03(水) 23:33:04 >>347 フォローありがとうございます。 >>346 すみません。347さんの線でお願いします。 どう使うのかなあ?と。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/348
349: デフォルトの名無しさん [sage] 2007/10/04(木) 15:23:24 concatenative http://mevius.5ch.net/test/read.cgi/tech/1073673931/349
350: デフォルトの名無しさん [sage] 2007/10/07(日) 11:41:29 " hoge" は汚なく感じるな "hoge" か " hoge " だろと http://mevius.5ch.net/test/read.cgi/tech/1073673931/350
351: デフォルトの名無しさん [sage] 2007/10/16(火) 01:35:58 http://www.forthfreak.net/index.cgi?ForthBestPractices 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 http://mevius.5ch.net/test/read.cgi/tech/1073673931/351
352: デフォルトの名無しさん [sage] 2007/10/24(水) 17:49:19 FreeBSD 6.2 では boot loder の動作を コントロールするために ficl という forth が使われていて るので、勉強中です。 FreeBSD のサーバーをリモートから管理しています。 以前のバージョンでは nextboot(8) で別ディスク上のカーネルを 次回のみテスト的に起動する設定ができたのですが、今のバージョン 6.2 では nextboot(8) では同一ディスク内のカーネルのテスト的起動しかできません。 二台のディスクがついているマシンのそれぞれのディスクに別々にOSを インストールして、交互にアップデートをかけたいのです。 リモートからのコントロールしかできないので、ssh のアクセスができなく なると一万円払ってOS再インストールなので そんなわけで、forth のcodeを見ているのですが、難しいです。 orz FreeBSDのloader 改造したりしている人はいませんか? http://mevius.5ch.net/test/read.cgi/tech/1073673931/352
353: デフォルトの名無しさん [] 2007/11/03(土) 19:38:03 いまふ http://mevius.5ch.net/test/read.cgi/tech/1073673931/353
354: デフォルトの名無しさん [sage] 2007/12/22(土) 11:53:19 dsForthがアドエスで動くのはガイシュツ? http://mevius.5ch.net/test/read.cgi/tech/1073673931/354
355: デフォルトの名無しさん [sage] 2008/01/04(金) 04:23:01 notガイシュツ http://mevius.5ch.net/test/read.cgi/tech/1073673931/355
356: デフォルトの名無しさん [sage] 2008/01/27(日) 13:50:29 このスレの人たちが使う電卓はRPLだったりするの? http://mevius.5ch.net/test/read.cgi/tech/1073673931/356
357: デフォルトの名無しさん [sage] 2008/01/27(日) 15:03:59 HPの電卓? http://mevius.5ch.net/test/read.cgi/tech/1073673931/357
358: 356 [sage] 2008/01/27(日) 17:17:11 >>357 そうです。RPNの間違いでした。 http://mevius.5ch.net/test/read.cgi/tech/1073673931/358
359: デフォルトの名無しさん [sage] 2008/01/27(日) 18:59:27 HP41CV,HP28,HP48SX,HP32S,と使ってきましたよ。 ちなみに今使っているHP35は問題大あり! http://mevius.5ch.net/test/read.cgi/tech/1073673931/359
360: デフォルトの名無しさん [sage] 2008/02/07(木) 10:12:19 Adobe高速JavaScript実装、バイトコードにForthを採用 http://journal.mycom.co.jp/news/2008/02/07/011/index.html http://mevius.5ch.net/test/read.cgi/tech/1073673931/360
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 522 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s