2 part forth
処理系作ってようやく何やってるのかわかったけど、>>56とか>>62面白いなあ ふーむ少なくとも仮想機械はアセンブリで書かなければ移植は難しいな
一方コンパイラはcで書いてもあとでそれ自身に移植可能
あと最近2chで擬古猫見ないね >>773
あれ、俺書き込んだ?
ってマジで思った 今処理系実装してるけど実用的にしようとなると結構難しいな この言語の面白いところは低水準で動的なことをすべて行えること
コールスタックまで直接制御できるから継続のようなことも簡単にできる
一方でコンピュータサイエンスとしてのセンスはかけらもなくとても原始的だ >>778
∧_∧
∧_∧ )
( ))
;つ 乙ノ
(_ ノ |
((_ノ~∪ >>778
それhoshuや、pushちゃう
自分が幼少の頃に親父の読んでたInterfaceって本のなかにtitって言語の紹介があったのがForth系言語のなれそめだったなぁ。
そのアトはHPの電卓とFigForthの68K版をMC68000のKit上で動かしてからはまった感じだわ ErlangでFORTHっていうかideoneすげー
http://ideone.com/GTo0rm いまつくっているんだがやはり設計が古すぎる
予定を変更してシェルを分離させる 標準のFORTHでバイナリを呼び出すための機構ってある? 処理系によるかもだか、
スタッフオーバーフローだけじゃなくアンダーフローも味わえる 失礼
スタックマシンのチップを購入したい
どこかいい入手ルートはないか >>788
ARMとか十分にスタックマシンしてると思うのだが
昔の本当にちっちゃいやつが欲しいってのだと今ならトラ技付録FPGAで作る方が入手性は優しい希ガス >>789
そうではないです
データスタックを持っているマシンがほしいのです 間接スレッデッドコードはネイティブと比較してどのぐらいメモリ削減効果があるのでしょうか
どなたかデータかその参照を教えてもらえませんか GNUの実装についてホムペは変わってないけど開発進んでるのな
しかもAndroid版も有りやがる このFORTHってのは少なくとも古典的なものは強くノイマン型アーキテクチャに依存してるのな QUIT ( -- ) Clears all stacks and returns control to the terminal. No message is given.
GForth
1 2 3 4 5 ok
.s <5> 1 2 3 4 5 ok
quit
.s <5> 1 2 3 4 5 ok
は?だれか説明してよ! windows10 64bit版にてswiftforth評価版が動きません。
どなたか解決策を知りませんか? ねんがんの「パーソナルエキスパートシステム」をてにいれたぞ! >>801
一体なにができるの?バカな漏れには全くわからん 「パーソナルエキスパートシステム入門」だった…
>>802
forthでエキスパートシステム書くって本らしい。
(まだ来てない。) >>803
なんだそりゃ!?
相も変わらずFORTHコミュニティは我が道を逝くな(藁('A`) >>804
Use the forth Luke.ってくらいだしな FORTH社公式サイトなんかモダンな感じにリニューアルされているぞ ほんまや…
つか、キャッチ見る感じFPGA対応とかやってっぽい? >>807
なにをもって対応というのか知らんがFPGAを使ったソリューションはあるね XTがImmediateかどうか調べるワードってある? >>809
forthでfpgaの回路組めるとかだったら面白いなw いま逆ポーランド記法で書ける正規表現エンジンを作ろうか考えているんだけどAB*C|こんな感じにね
もうすでにあったりするんだろうか?あForth上でね?教材としてあるのは知っているから
Forthのもつ動的コンパイルを利用することで高移植性のJITエンジンが実装できると思ってね
( 自らをコンパイルすることができる言語はこういったスクリプトやインタプリタを移植性を保ったまま簡単に高速化できるところが素晴らしいよね)
エグって呼んで〜 >>810
たぶん標準ではないな
文字列ベースならFINDがあるんだけどね forthに足りないのはコマンド言語だ。
forthのプロシージャー呼び出しはすべてディクショナリ内に限られるため外部プログラムを効率よく利用できない。
シェルスクリプトのように外部forthプログラムをうまく呼び出す機構があればいいが。。。
スタックをパイプのようにプログラムで共有するとおもしろいかもしれない。 gforthで実数演算たとえば、
1.0 +2.0
の様なものをしたいのですが、
1.0e0 2.0e0 + .
としても
1.0e0 2.0e0 f+ .
としても結果が得られません。
実数演算はどうすればいいのでしょうか。
ご教示お願いいたします。 http://www.h7.dion.ne.jp/~samwyn/forth/gforth/Floating-Point-Tutorial.html >>816
これは、読んだのですが、実例が初心者には敷居が高くて
よく理解できません。
2.0 + 3..0 のような簡単な例を示した物は
ないでしょうか。 >>817
結局、FACTORに乗り換えました。
こちらの方が判り易くて、すぐ実数演算(浮動小数点演算)ができるように
なりました。 週明け、ちょっと面白いforthの論文読めるかもしれない。
forthっていうより、その上に作られたkevoって風変わりなOOP言語のだけどさ。 Factorのチュートリアル分かりにくい。Racketを見習え うんやってみようとおもう。
ところで仕様書(規格書)はどこにあるんですかね? いきとるぞー
純粋なforthは全然さわらずfactorばっかりだけどな
あと組み込み機でTITもどきかなー 次スレでは皆が胸を張れるように「スタック指向言語」「連鎖型言語」みたいなくくりにしよう! >>837
forthだとスタックに積まれたオブジェクトに関数ってメッセージを送るって言うことだとおもうのだけど。
そういう単純な理解じゃ駄目なの?
言語レベルで隠蔽されていることを生で扱うって事で良いんじゃ無いの?
Lispだと関数の呼び出しが括弧で括られいるから呼び出しの引数の扱いが閉じられているけど、forthの場合は関数が必要な分を消費するというか コールスタックとforthのスタックは別物だよね。 >>840
2つあるんだよ、関数呼び出しの戻りアドレス用のスタックと別にもう一つあるんよ forthがスタック指向であるようにアキュムレータ指向のプログラム言語というものは作れるのかな >>843
マジレスするとmacroありのassemblerじゃねぇの?
macro80やslrasmでもできたぞ >>844
マクロだけでは構文は抽象化出来てもシステムとして抽象化しきれないと思うけど 単に計算は常にAXを使うってだけなら特に面白みもなさそう
スタック無しでレジスタ無限ということなら……単に再帰呼び出し禁止なだけの普通の言語だよなあ >>845
ニクラウス・ヴィルトの言うところの条件分岐とか繰り返し構文はチョロく書けるよ>>macro80とslrasmとかのマクロアセンブラ
つかmacro80とか8bit時代のあのメモリでよくやるわと思う。
forthスレっぽいネタだと昔(1981年の8月号だと思う)のCQ出版の記事でTITって言語があってこれがマクロアセンブラでforthを実装するって記事だったような? 実に簡素で危険で強力だ。
貧者の言語だな。
俺にふさわしい。 これまで全く気にしたことないけど、forthって動的にリンクするライブラリの類は存在するの? いま処理系書いているわけどすよ
古典的なディクショナリに含まれる変数領域(エントリのitcならpfバイトコードならcf)って実行時書き込みが必要だからrom化できないよね?
ディクショナリをromに組み込む時どのようにしたらいいの? ?単にリンク時に再配置すればよいのではないだろうか