2 part forth (907レス)
1-

103
(3): 04/06/13 04:16 AAS
forthのソースが読みたいんですけど一番小さいのて何ですかね?
104: 04/06/13 05:43 AAS
>>103
: 2* DUP + ;
105
(1): 04/06/13 06:02 AAS
移植の参考にしたいという意味ならコア・ワード数を最小限に絞ったeFORTH
いろいろな実行環境のソースが公開されているよ
元々は6502用に書かれたFigForthも小さいけどね
辞書構成にさまざまな形式があって、どちらも速度アップの余地ありってところ
106
(1): 04/06/13 07:27 AAS
>105 ありがと
しかしアセンブラかきついなぁ
107
(1): 04/06/13 09:09 AAS
>>106
習うより慣れろってやつじゃないの?
どれか動くForth系を触りながら中身を調べるって手もあるし
しかし、これだけH8が普及しているのに国内で移植したっていう例は無いのかな
H8 eFORTHのソースがあるんだから、ほとんどそのままで行けるハズ

関係ないけど、あのHPなんとかならんのかね・・・さくっと削除するとかさ
Forth Interest Group, Japan
108: 04/06/13 16:52 AAS
>107
確かにリンクしか存在せず更新もされない研究会てのもあるだけ無駄つうか
109: 04/06/13 17:11 AAS
だいたい本家サイトに無視されちゃってる

↓それに比べてエライ違いですね
外部リンク:www.figuk.plus.com
110: 04/06/14 09:13 AAS
>>103
これなんてどう? コンパクトな方だと思うけど。AVRなら命令セットが素直だし参考ってことで。
外部リンク[HTM]:www.cqpub.co.jp

ただ、これもそうなんだけど、世に言う「FORTHコンパイラ」は本来の自立した柔軟性に欠けるから手直しがいるだろうね。
本気でやるならATmegaなんかに載せると良さそう。セルフでフラッシュが書き込みできるから。確かH8はそこがサポートされてない。
111: 04/06/18 08:23 AAS
ATMELだと32ビットのARMが出てるね。
112: 04/06/18 11:32 AAS
アセンブラ関わる時点で移植性は捨てねばならん
113: 04/06/18 20:45 AAS
処理系の移植? 他言語でも移植時のアセンブラ記述はありだと思うけど。
リアルタイムアプリの移植にしてもそうだよね、部分的に使うだけかも知れないけどさ。
Forthでクロスコンパイルって移植技もあるみたいだけど詳しいことは判らないな。
114: 103 04/06/19 02:17 AAS
Gforthのソース見たけど結構Cで書かれてるね。
ヘタレなオレはCで書かれたForthもどきでも読んでみるよ
その前に図書館で見つけたFORTHへの招待でも読んで再勉強。
115: 04/06/19 19:22 AAS
キモは二本のスタックの実装とリンクリストやワードの構成でしょうね。
第三のスタックを使ったりとか、突っ込めばいろいろ奥深いものがありそうだけど。
何種類かあるカーネルの構造について詳しく解説されているページがあって
英文だけどかなり参考になると思う。最小限のアセンブラソース付きです。

外部リンク:www.zetetics.com
116: 04/06/25 00:32 AAS
あ〜ぁ、放置されちゃってスタックが埃まみれじゃん
117
(2): 04/06/27 22:40 AAS
昔、漏れが晒したやつはデータスタックとリターンスタックのほかに
コンパイル時にジャンプ先アドレスを保存するために使うコントロールフロースタックの
3本構成でつくりますた。
118: 04/06/28 14:03 AAS
>>117
なるほど。コントロールフロースタックって何に使うのかと思ったら、そういう使い方をするんですね。さっそく採り入れてみようかな。
現在JSR型のものをワンチップCPUに移植中。データスタックとリターンスタックのどちらもトップを固定メモリーアドレス上に置いてます。かなり書き進んだところでハタと考えました。エディタは・・・どうしよう?
119: 04/07/13 12:39 AAS
さりげなく関連ページちゃんと書いてあるのな
120: [sage] 04/07/13 21:01 AAS
Amazon.com
forth の検索結果:4件
並べ替え:

1. 実用FORTHテクニック入門
西川 利男 (著)
出品者から通常2営業日以内に発送
【マーケットプレイス】 新品/ユースド価格 : ¥1,300
121: 04/07/14 07:27 AAS
日本語プログラミングコンテスト実行委員会
実行委員長 審査委員会 審査委員長
西川利男(科学ライタ、元工業技術院主任研究官)
実行委員 片桐 明(スクリプツ・ラボ代表)
122
(1): 04/07/16 22:20 AAS
詳しいひといるう?
ワードの仕組み(仕様)教えてよ
123
(1): 04/07/16 22:59 AAS
>>122
あんまり詳しくないけど、どういう処理系のどんなワードの仕様か
書けば答えてくれる人もいるかも。
124
(1): 04/07/16 23:20 AAS
>>123
処理系を作ろうと思っているんですが、辞書から探すのに効率のいい
ワードの仕様ってどんなんだろうと

思って聞いたんですけど、
外部リンク:www-lab.ee.uec.ac.jp
ここ参考にしてやってみることにしました。
125
(1): 04/07/17 02:43 AAS
>>124
資料は79年標準仕様のものなので、現在の94年版も併せて参考にするのが良いと思う。
FORGETのように消えているワードがあったりする。DPANS94で検索すると出て来ます。
79年標準はFIG-FORTH 6502版を下敷きにしているから、そのソースも探してみると良い。
スタックの実現や、ワードや辞書の構造は処理系ごとに自由が認められているので
実際のところ自分がスマートだと考える仕様がベスト。
126
(1): 04/07/18 19:11 AAS
crを完全にスペースに置き換えた場合(全てのワードを即時実行にする)、
何か弊害あります?
127: 04/07/18 20:57 AAS
>>125
FORGET は旧式の拡張ワードとして未だ生きながらえているね。
新ワードは MARKER。前もって、MARKER word としてヘッダーを作っておいて
後の実行時に word cr でヘッダー以後のワードを消し去るという使い方。
変数をプログラムメモリと別の領域に置く方式への配慮という感じがする。
128
(1): 04/07/18 21:09 AAS
>>126
即時実行型のFORTHでは過去にGraFORTHを触ったことがあります。
コロン定義なしでDO LOOP文を入力するとリターンキーで実行する。
最初からそういう形の仕様で考えてあれば弊害はないはずですよ。
129
(1): 04/07/18 21:56 AAS
>>128
コロン定義無しっすかあ 厳しいなあ
即時実行するかしないかの1bitスイッチとそれを操作する[,]の2つのワードを作っておいて
[ ワード名 命令 ] DEFW なんてやり方も考えてみましたけど
実装がめ、めんどそうやなあ〜

スペースのみで全て即時実行の方がミニマリズム全開でカッチョエ〜とか思いますけど
いた仕方ない cr待ちに変えるかあ〜
130
(1): 04/07/18 23:29 AAS
>>129
> [ ワード名 命令 ] DEFW
これだったら通常のコロン定義の方がシンプルでは?
どうせなら
[ 命令 ] DEFW ワード名
とか。
でも即時実行のみでやるなら
/ワード名 [ 命令 ] DEFW
かな……。
Postscriptみたいだ‥‥‥。
131
(1): 04/07/18 23:38 AAS
>スペースのみで全て即時実行
Forthは基本的にスペースが来たら即時実行という考え方で良いと
思うんですが。
ただ、
・immediate属性でないワードはコロン定義の間は実行せずにコード生成
・immediate属性のワードはいつも即時実行
というルールに従っていれば。
132: 04/07/19 00:25 AAS
>>131
やっとimmediateの使い方を理解できました。
シェルと構文解析を同時に考えるから混ざってしまってたのか・・・

>>130
定義されてないワードが来たらワード定義に移るとか考えましたが、
デバッグというか間違えた時しにそうなのでなかったことにします。
1-
あと 775 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.012s