2 part forth (909レス)
上下前次1-新
669: デフォルトの名無しさん [sage] 2013/03/08(金) 11:46:01.28 AAS
外部リンク:www.viscuit.com
Twitterリンク:viscuit
670: デフォルトの名無しさん [sage] 2013/03/18(月) 01:17:00.32 AAS
>>117117(2): デフォルトの名無しさん [sage] 04/06/27 22:40 AAS
昔、漏れが晒したやつはデータスタックとリターンスタックのほかに
コンパイル時にジャンプ先アドレスを保存するために使うコントロールフロースタックの
3本構成でつくりますた。
のコントロールフロースタックについてもうちょっと詳しく聞きたい
ジャンプ先って何へのジャンプ先?
671: デフォルトの名無しさん [sage] 2013/03/18(月) 01:23:17.50 AAS
あああちゃんと調べてなかった、ここの説明でわかったよ
外部リンク[html]:www18.atwiki.jp
672(1): デフォルトの名無しさん [sage] 2013/03/18(月) 19:30:42.45 AAS
forthの最大の欠点ってfactorみたいなオブジェクト指向にしたときにスタックに積んだ引数と関数の期待する型が違ったときに困る事だとおもうんだけど
コンパイラのレベルでこれってなんとかならんの?
673: デフォルトの名無しさん [sage] 2013/03/18(月) 22:45:55.67 AAS
普通の関数型言語と一緒じゃね?
全てのトークンに引数型と戻り値型を対応付けて、コンパイル時に
型解決すれば良いと思うけど。
674: デフォルトの名無しさん [sage] 2013/03/28(木) 01:26:47.80 AAS
Windows上のFactorで日本語表示させる方法がわからん
675: デフォルトの名無しさん [sage] 2013/03/28(木) 01:53:15.83 AAS
"日本語" H{ { font-name "メイリオ" } } format nl
で表示できた。
あとはlistenerのfont-nameを書き換えられたらいいのかな。
676: デフォルトの名無しさん [] 2014/01/05(日) 03:24:36.20 AAS
保守
677(1): デフォルトの名無しさん [] 2014/01/05(日) 21:15:32.75 AAS
保守!!!
Forth は実用に耐えるのですか?特に可読性的に
678(1): デフォルトの名無しさん [sage] 2014/01/05(日) 22:21:30.32 AAS
>>677
Forth の達人 (= プロの Forth 屋) なら、数十万行でも苦にならないそうな。
ライフゲーム
外部リンク[cgi]:wiki.forthfreak.net
BASIC インタプリタ
外部リンク[frt]:home.iae.nl
FALSE インタプリタとコンパイラ
外部リンク:github.com
その他
外部リンク[cgi]:wiki.forthfreak.net
外部リンク[cgi]:wiki.forthfreak.net
みんな目的に特化したプログラミングをするので、汎用ライブラリやフレームワークは無いに等しいけれどね
(個々の実装に特化したものならそれなりにあるけど)。
679: デフォルトの名無しさん [] 2014/01/05(日) 23:08:26.86 AAS
thx
まさかこんなに早く返事がくるとは思わなかった!
680(1): デフォルトの名無しさん [sage] 2014/01/06(月) 05:54:37.02 AAS
常に人はいるんだわ
単に新しい話題がなんにもないだけで
681(2): デフォルトの名無しさん [] 2014/01/06(月) 15:05:08.84 AAS
>>678
Forthの力ってすげー。
>>680
なる
おもしろそうだな。
RPNで文法が統一されているところが超COOLだ!
俺が作ってみようじゃないか?!
ちなみに慣例や伝統はしらぬから、
皆が想像しているものと大きく違うと思うがな!!
682: デフォルトの名無しさん [sage] 2014/01/06(月) 17:56:02.28 AAS
>>681 期待してます!
683(2): デフォルトの名無しさん [] 2014/01/06(月) 20:20:59.69 AAS
文字列はどういう風に扱えばよいのですか?
684: デフォルトの名無しさん [sage] 2014/01/06(月) 21:14:53.59 AAS
>>683
文字数と文字列本体からなる構造体のアドレス(ポインタ)、とか。
685: デフォルトの名無しさん [sage] 2014/01/06(月) 22:41:12.49 AAS
日本語情報なら
外部リンク:www-lab.ee.uec.ac.jp
外部リンク[htm]:www.h7.dion.ne.jp
後者の Gforth マニュアル
外部リンク[html]:www.h7.dion.ne.jp
は「OS コマンドライン引数用ワード」まで訳してある (残りは未訳)。
また、ANS Forth ではない独自仕様だけども、
外部リンク[html]:www.h7.dion.ne.jp
外部リンク[html]:www.h7.dion.ne.jp
外部リンク[htm]:www.h7.dion.ne.jp
も Forth 自体の実装を目論むなら参考になるかも (ちなみに現在の RetroForth はこれよりもう少し進化してる)。
686: デフォルトの名無しさん [sage] 2014/01/06(月) 23:19:19.70 AAS
>>683
684の追記ですが、素のFORTHだとスタックには数値しか置けないので
文字列のアドレスがスタックに積まれます。
もちろんFactorの様に、なんでもスタックに積めるのもアリです。
私もなんでも積めるように実装して、まぁうまく行ったのですが
>>672の方と同じ問題もあったので、スタックには数値しか置けない
実装も試してみたいと思っています。
687(1): デフォルトの名無しさん [sage] 2014/01/07(火) 09:04:59.98 AAS
ややこしい物は全部辞書に突っ込むとかの手も。
688(1): デフォルトの名無しさん [sage] 2014/01/07(火) 11:29:30.09 AAS
>>687
文字列等をワードの定義に置き換えてしまう、と言うことでしょうか?
この場合、最終的にスタックに積まれる物は何になるのでしょうか?
689: デフォルトの名無しさん [sage] 2014/01/07(火) 12:34:21.76 AAS
>>688の自己レスですが、辞書にと言うことは素FORTHの話だと思うので
文字列を辞書に登録後、そのアドレスがスタックへ積まれることになりますね。
690(2): 681 [] 2014/01/13(月) 14:43:11.44 AAS
681です。
インタプリタでいいよね?
691: デフォルトの名無しさん [sage] 2014/01/15(水) 17:15:27.03 AAS
>>690
バイトコードとかスレッデッドコードインタプリタであればFORTHの普通過ぎると思う(誰もが一度はやる)
JIT(AnyCPU向け)実装とか,Factor見たいな構造をスタックに詰めるとかの部分をがんばらないとn番煎じになっちゃうから何か独自のがんばりが必要だと思うよ。
というかFactorが凄いのでアレ超えて欲しいな(アイデアだけでも)
OSSでがんばるならこっそりコントリビュートする人はこのスレにも多そうだからがんばれ!
692: デフォルトの名無しさん [sage] 2014/01/15(水) 23:01:48.08 AAS
最初はベタな書き方でいいと思う
693(2): デフォルトの名無しさん [] 2014/01/16(木) 04:52:38.68 AAS
Forth で Forth を書くんだ
上下前次1-新書関写板覧索設栞歴
あと 216 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s