2 part forth at TECH
[2ch|▼Menu]
[前50を表示]
100:デフォルトの名無しさん
04/06/07 05:39
ANS/ISO標準化は結局のところ草の根Forth処理系を淘汰することにしか役に立たなかった
標準化で潤うのはForth社であり、開発効率が上がると考えた大企業、陸海空軍
やがて草の根の支持を失ったForthは全く廃れた・・・と少なからず思われているようだ

URLリンク(www.forth.com)

101:デフォルトの名無しさん
04/06/11 22:26
forth で国内ページをぐぐると、トップが厚生労働省ってのが悲しい。
2番目もプログラム言語とは全然関係ないし。

102:ジャパン
04/06/12 13:15
婦女暴行事件 でぐぐると、トップに首相の名が現れる国です

103:デフォルトの名無しさん
04/06/13 04:16
forthのソースが読みたいんですけど一番小さいのて何ですかね?

104:デフォルトの名無しさん
04/06/13 05:43
>>103
: 2* DUP + ;

105:デフォルトの名無しさん
04/06/13 06:02
移植の参考にしたいという意味ならコア・ワード数を最小限に絞ったeFORTH
いろいろな実行環境のソースが公開されているよ
元々は6502用に書かれたFigForthも小さいけどね
辞書構成にさまざまな形式があって、どちらも速度アップの余地ありってところ

106:デフォルトの名無しさん
04/06/13 07:27
>105 ありがと
しかしアセンブラかきついなぁ

107:デフォルトの名無しさん
04/06/13 09:09
>>106
習うより慣れろってやつじゃないの?
どれか動くForth系を触りながら中身を調べるって手もあるし
しかし、これだけH8が普及しているのに国内で移植したっていう例は無いのかな
H8 eFORTHのソースがあるんだから、ほとんどそのままで行けるハズ

関係ないけど、あのHPなんとかならんのかね・・・さくっと削除するとかさ
Forth Interest Group, Japan

108:デフォルトの名無しさん
04/06/13 16:52
>107
確かにリンクしか存在せず更新もされない研究会てのもあるだけ無駄つうか

109:デフォルトの名無しさん
04/06/13 17:11
だいたい本家サイトに無視されちゃってる

↓それに比べてエライ違いですね
URLリンク(www.figuk.plus.com)

110:デフォルトの名無しさん
04/06/14 09:13
>>103
これなんてどう? コンパクトな方だと思うけど。AVRなら命令セットが素直だし参考ってことで。
URLリンク(www.cqpub.co.jp)

ただ、これもそうなんだけど、世に言う「FORTHコンパイラ」は本来の自立した柔軟性に欠けるから手直しがいるだろうね。
本気でやるならATmegaなんかに載せると良さそう。セルフでフラッシュが書き込みできるから。確かH8はそこがサポートされてない。

111:デフォルトの名無しさん
04/06/18 08:23
ATMELだと32ビットのARMが出てるね。

112:デフォルトの名無しさん
04/06/18 11:32
アセンブラ関わる時点で移植性は捨てねばならん

113:デフォルトの名無しさん
04/06/18 20:45
処理系の移植? 他言語でも移植時のアセンブラ記述はありだと思うけど。
リアルタイムアプリの移植にしてもそうだよね、部分的に使うだけかも知れないけどさ。
Forthでクロスコンパイルって移植技もあるみたいだけど詳しいことは判らないな。

114:103
04/06/19 02:17
Gforthのソース見たけど結構Cで書かれてるね。
ヘタレなオレはCで書かれたForthもどきでも読んでみるよ
その前に図書館で見つけたFORTHへの招待でも読んで再勉強。

115:デフォルトの名無しさん
04/06/19 19:22
キモは二本のスタックの実装とリンクリストやワードの構成でしょうね。
第三のスタックを使ったりとか、突っ込めばいろいろ奥深いものがありそうだけど。
何種類かあるカーネルの構造について詳しく解説されているページがあって
英文だけどかなり参考になると思う。最小限のアセンブラソース付きです。

URLリンク(www.zetetics.com)

116:デフォルトの名無しさん
04/06/25 00:32
あ〜ぁ、放置されちゃってスタックが埃まみれじゃん

117:デフォルトの名無しさん
04/06/27 22:40
昔、漏れが晒したやつはデータスタックとリターンスタックのほかに
コンパイル時にジャンプ先アドレスを保存するために使うコントロールフロースタックの
3本構成でつくりますた。

118:デフォルトの名無しさん
04/06/28 14:03
>>117
なるほど。コントロールフロースタックって何に使うのかと思ったら、そういう使い方をするんですね。さっそく採り入れてみようかな。
現在JSR型のものをワンチップCPUに移植中。データスタックとリターンスタックのどちらもトップを固定メモリーアドレス上に置いてます。かなり書き進んだところでハタと考えました。エディタは・・・どうしよう?

119:デフォルトの名無しさん
04/07/13 12:39
さりげなく関連ページちゃんと書いてあるのな

120:デフォルトの名無しさん [sage]
04/07/13 21:01
Amazon.com
forth の検索結果:4件
並べ替え:

1. 実用FORTHテクニック入門
西川 利男 (著)
出品者から通常2営業日以内に発送
【マーケットプレイス】 新品/ユースド価格 : ¥1,300

121:デフォルトの名無しさん
04/07/14 07:27
日本語プログラミングコンテスト実行委員会
実行委員長 審査委員会 審査委員長
西川利男(科学ライタ、元工業技術院主任研究官)
実行委員 片桐 明(スクリプツ・ラボ代表)

122:デフォルトの名無しさん
04/07/16 22:20
詳しいひといるう?
ワードの仕組み(仕様)教えてよ

123:デフォルトの名無しさん
04/07/16 22:59
>>122
あんまり詳しくないけど、どういう処理系のどんなワードの仕様か
書けば答えてくれる人もいるかも。



124:デフォルトの名無しさん
04/07/16 23:20
>>123
処理系を作ろうと思っているんですが、辞書から探すのに効率のいい
ワードの仕様ってどんなんだろうと

思って聞いたんですけど、
URLリンク(www-lab.ee.uec.ac.jp)
ここ参考にしてやってみることにしました。

125:デフォルトの名無しさん
04/07/17 02:43
>>124
資料は79年標準仕様のものなので、現在の94年版も併せて参考にするのが良いと思う。
FORGETのように消えているワードがあったりする。DPANS94で検索すると出て来ます。
79年標準はFIG-FORTH 6502版を下敷きにしているから、そのソースも探してみると良い。
スタックの実現や、ワードや辞書の構造は処理系ごとに自由が認められているので
実際のところ自分がスマートだと考える仕様がベスト。

126:デフォルトの名無しさん
04/07/18 19:11
crを完全にスペースに置き換えた場合(全てのワードを即時実行にする)、
何か弊害あります?

127:デフォルトの名無しさん
04/07/18 20:57
>>125
FORGET は旧式の拡張ワードとして未だ生きながらえているね。
新ワードは MARKER。前もって、MARKER word としてヘッダーを作っておいて
後の実行時に word cr でヘッダー以後のワードを消し去るという使い方。
変数をプログラムメモリと別の領域に置く方式への配慮という感じがする。

128:デフォルトの名無しさん
04/07/18 21:09
>>126
即時実行型のFORTHでは過去にGraFORTHを触ったことがあります。
コロン定義なしでDO LOOP文を入力するとリターンキーで実行する。
最初からそういう形の仕様で考えてあれば弊害はないはずですよ。

129:デフォルトの名無しさん
04/07/18 21:56
>>128
コロン定義無しっすかあ 厳しいなあ
即時実行するかしないかの1bitスイッチとそれを操作する[,]の2つのワードを作っておいて
[ ワード名 命令 ] DEFW なんてやり方も考えてみましたけど
実装がめ、めんどそうやなあ〜

スペースのみで全て即時実行の方がミニマリズム全開でカッチョエ〜とか思いますけど
いた仕方ない cr待ちに変えるかあ〜

130:デフォルトの名無しさん
04/07/18 23:29
>>129
> [ ワード名 命令 ] DEFW
これだったら通常のコロン定義の方がシンプルでは?
どうせなら
[ 命令 ] DEFW ワード名
とか。
でも即時実行のみでやるなら
/ワード名 [ 命令 ] DEFW
かな……。
Postscriptみたいだ‥‥‥。


131:デフォルトの名無しさん
04/07/18 23:38
>スペースのみで全て即時実行
Forthは基本的にスペースが来たら即時実行という考え方で良いと
思うんですが。
ただ、
・immediate属性でないワードはコロン定義の間は実行せずにコード生成
・immediate属性のワードはいつも即時実行
というルールに従っていれば。



132:デフォルトの名無しさん
04/07/19 00:25
>>131
やっとimmediateの使い方を理解できました。
シェルと構文解析を同時に考えるから混ざってしまってたのか・・・

>>130
定義されてないワードが来たらワード定義に移るとか考えましたが、
デバッグというか間違えた時しにそうなのでなかったことにします。

133:デフォルトの名無しさん
04/08/17 12:39
今さらながらプログラマーズ ハンドブックをForth社に注文した。
入手できるうちで現在の標準を一番反映したものになっているのだと思う。
オーダー番号は22だったけど、やっぱりForthって超マイナーなのかな?

134:デフォルトの名無しさん
04/08/22 01:06
唯我独尊言語

135:デフォルトの名無しさん
04/08/24 08:37
>>134
「どれ一つとして尊くない命はなく、だからこそ尊いというお釈迦様の言葉・・・」

136:デフォルトの名無しさん
04/08/24 18:17
「どれ一つとして尊くないForthはなく、だからこそ尊いというおムーア様の言葉・・・」

137:デフォルトの名無しさん
04/08/24 18:37
>>136
パチパチパチ! 君に500 CELL分け与えよう。
500 cells allot

138:134
04/08/25 20:55
>>135-137
そんな高尚なつもりではなかったんだが、
ま、いいか。

Forthを信ぜよ、栄光あれ!

139:133
04/08/26 06:01
正味5日間でプログラマーズ ハンドブックが届きました。$49.95の価値は十分にあると思う。というか、'94標準FORTHに関してはこれが現実的に唯一のガイドブック。送料は色々選べる中から$11のものをチョイス。(amazon.comでは本のみ$71.35)
肝心の中身はネットに頼って調べているよりも断然良かった。'94標準ばかりが能じゃないけど、どこかで方言がずらりと並ぶワードリストを見たことがあるから、やっぱり標準化は必要悪だったのかも知れないね。

140:デフォルトの名無しさん
04/08/26 09:26
>>139
いいなあ。欲しいなあ。

141:デフォルトの名無しさん
04/08/26 13:21
ISO/IEC 15145:1997 Informatinon technology -- Programming languages -- FORTH

はどうなのよ。あんまり情報がないけど、たぶん'94FORTH。

142:デフォルトの名無しさん
04/08/26 13:48
>>141
URLリンク(www.eos.org.eg)

これだったらANSが出している高い準拠解説書の方が良さそう
プログラマーズの共著者の一人は天文台時代からムーアの秘書?
をやっていた現Forth Incの社長でdpansの委員長を務めている人物
・・・だから
>$49.95の価値は十分にある
かな



143:デフォルトの名無しさん
04/08/30 05:42
forthは、下手すっとアセンブラより難しいの
こんなの流行るわけないだよ

144:デフォルトの名無しさん
04/08/30 14:57
みいちゃんはあちゃんにちゃんで寝るえ〜

145:デフォルトの名無しさん
04/08/30 20:57
電波系が混じってるから下げるしかないね

146:デフォルトの名無しさん
04/09/01 18:19
DPANS94ってのはISOのやつとは別物?

147:デフォルトの名無しさん
04/09/01 21:02
マイナー言語はISOで定義されたからって
それが標準になるわけじゃないんだよな
なんのためのISOだよ

148:デフォルトの名無しさん
04/09/11 23:35:50
>>146
ネットで公開されているDPANS94は下書きの最終段階のもので、正式な標準ドキュメントはANSIから得るよう公開ページに書かれているね。
実際のところ公開されているものは承認されたものだから、イコール標準ドキュメントとみなして差し支えないと思うけど。
それから、ANS Forth ANSI X3.215:1994 は ISO/IEC 15145:1997と同一だそうです。
URLリンク(forth.com)

149:デフォルトの名無しさん
04/10/07 12:00:14
May the FORTH be with you!

150:デフォルトの名無しさん
04/10/09 16:17:30
>>149
by Oh! MZ (ねたに反応…、これでいいよね?)

151:デフォルトの名無しさん
04/11/07 19:36:28
Fifthは?

152:デフォルトの名無しさん
04/11/07 20:21:10
Fifthは腹を切って死ぬべきだ。
また、彼らはただ死んで終わるものではない。
唯一神ムーアが地獄の火の中に投げ込む者達だ。
彼らの支持者も同様だ。
理由はthleded codeを殺すなら自分が死ぬべきだからだ。
詳しい理由はURLリンク(www.complang.tuwien.ac.at)で熟知すべし。


153:デフォルトの名無しさん
04/11/07 20:22:02
threadのスペルミスった....orz

154:デフォルトの名無しさん
04/11/08 23:35:14
>>151
最新版
URLリンク(www.runesoft.co.jp)

155:デフォルトの名無しさん
04/11/10 22:13:43
なんかすごい展開になってるな

156:デフォルトの名無しさん
04/11/11 22:16:08
lispはlisper、
rubyはrubyist、
pythonはpythonian、
ではFORTHを使う人はなんと呼ばれるのでしょうか?


157:デフォルトの名無しさん
04/11/11 23:07:00
>>156
Jedi

158:156
04/11/12 22:06:36
>>157
こんなカコイイ答えが返ってくるとは思わなかったのでびっくりです。


159:デフォルトの名無しさん
04/11/13 08:44:06
FORTHの暗黒面とはなんでしょうか、お師匠様。

160:デフォルトの名無しさん
04/11/14 22:38:00
>>159
... スタック?

161:デフォルトの名無しさん
04/11/15 21:46:00
それはムーアの無用の用の有用のヨーダ

162:デフォルトの名無しさん
04/11/19 22:41:18
Forthは米国では根強い人気がある、と言われてるのに、
amazon.comの言語カテゴリにはForthが無いんですけど、、


163:デフォルトの名無しさん
04/11/21 21:32:11
Forthを日常的に使っている方っていますか?
どんな用途に使ってますか?

#個人的興味のために作ってる、、ってのが一番多いかな
#自分がそうだし

164:デフォルトの名無しさん
04/11/21 22:11:10
仕事で毎日Postscriptプリンタ使ってます。

って冗談はともかく、最近は趣味以外の用途には
ほとんど使われてないんじゃないの?

165:デフォルトの名無しさん
04/11/21 23:30:57
とりあえず処理系のコアの部分だけ作って、
1 2 + . とか入力したら 3 って表示されて、
「わーい、動いた〜」とか言って安心してあとは放置、
ってパターンが一番多い希ガス。

処理系のコアだけ作るなら、そこそこ実力あるプログラマーなら簡単。
ただ実際、実用に使うとなると、C言語使えば済むから、
わざわざ FORTH を実用レベルまで完成度を高める気がしないんだよね。

8ビット機時代みたいに、
まともな高級言語のコンパイラが個人では入手困難だったころには、
比較的簡単に作れる FORTH って魅力的だったんだけど。

166:デフォルトの名無しさん
04/11/23 04:39:05
URLリンク(www.gihyo.co.jp)

Forthは出てこないが、中身は仮想スタックマシンの作り方だよ。
著者は文系出身の女性。中田センセとの2ショットあり

167:デフォルトの名無しさん
04/11/23 09:20:06
Forth本て少ないよね。
っていうか、ここ15年ほど出てない、、
昔「標準FORTH」って本持ってたけど捨ててしまったorz

168:デフォルトの名無しさん
04/11/27 23:36:10
4th

169:デフォルトの名無しさん
04/11/30 05:17:34
>>166
スレ違いです。
氏ね

170:デフォルトの名無しさん
04/11/30 07:47:33
どうせ過疎スレなんだし堅い事言うなよ。

171:デフォルトの名無しさん
04/12/05 12:16:00
過疎なるがゆえの矜持ですよ

172:デフォルトの名無しさん
04/12/10 21:28:17
スレタイの並びの意味がやっとわかった

173:デフォルトの名無しさん
04/12/30 21:50:26
え、どういう忌み?

174:デフォルトの名無しさん
05/01/03 15:53:10
あれだ、2chって新スレとか上がったスレが上に来るだろ。
これこそまさにスタックというやつだ。


175:デフォルトの名無しさん
05/01/03 20:36:46
2chはtopのスレ以外にもアクセスできるから、スタックではないだろう。

176:デフォルトの名無しさん
05/01/07 23:50:07
オフセットするんでいいんでない



177:デフォルトの名無しさん
05/01/08 09:59:50
スレはpop出来ないじゃないか。

178:デフォルトの名無しさん
05/01/13 09:38:30
Naoさんのページの新着情報に、"Thinking Forth"が公開され(てい)るという情報が。
わーい。これから読みます。

一応URL貼っておきます。
URLリンク(thinking-forth.sourceforge.net)

Naoさんいわく、「本物の名著」だそうで。

179:デフォルトの名無しさん
05/01/13 21:52:52
読んだらおせてください。

180:デフォルトの名無しさん
05/01/21 00:05:42
>>43が気になるage

181:デフォルトの名無しさん
05/01/22 02:17:00
人来い

182:デフォルトの名無しさん
05/01/22 18:57:50
ou

183:デフォルトの名無しさん
05/01/23 09:49:26
4TH

184:デフォルトの名無しさん
05/01/29 19:53:43
じぇぢ

185:デフォルトの名無しさん
05/02/06 06:52:57
PIC18forthを作ったヒトがいるらしい。Pythonで書いたっていうけど
forthはforthで書くのが正しいんじゃなかったっけ?

URLリンク(lists.rfc1149.net)

186:デフォルトの名無しさん
05/03/09 21:12:32
>forthはforthで書くのが正しいんじゃなかったっけ?

?

187:デフォルトの名無しさん
05/03/10 08:17:06
forth環境自身に移植用のツールやらが入ってるのさ。

188:デフォルトの名無しさん
05/03/29 20:41:02
あ そういうことですか

189:デフォルトの名無しさん
05/04/06 20:19:05
forthの仕組みがわかるサイトないですか

190:デフォルトの名無しさん
05/04/08 13:08:38
>189
URLリンク(www.forth.org)


191:デフォルトの名無しさん
05/04/08 22:07:02
forthには呆れた

192:デフォルトの名無しさん
05/04/08 22:22:18
認知症ですか

193:デフォルトの名無しさん
05/04/11 01:13:26
日本の FORTH 界の総本山

URLリンク(www.forth.go.jp)

194:デフォルトの名無しさん
05/04/22 21:22:42
FORTH使えねえ・・

195:デフォルトの名無しさん
05/04/22 21:23:16
FORTHでまともなアプリ作ってみろよ
あんのか?

196:デフォルトの名無しさん
05/04/23 11:58:23
君が使ってるマザボのBIOSの半分ぐらいはforthの可能性があるな。
あと、君がPSプリンタ使ってればpostscriptという形でforthが動いているわけで。

組み込み世界ではわりと普通に使われてますが何か?

197:デフォルトの名無しさん
05/04/23 12:59:24
嘘ばっか
ソース晒してみろよ
PSはFORTHじゃねーし

198:デフォルトの名無しさん
05/04/23 18:04:23
URLリンク(www.answers.com)

ほい。とりあえずSunがSparcシリーズのBIOSの記述に使ってるらすぃ。
あとASUSが採用してたはずなんだが、すぐに出てこなかった。

あと、PostScriptとforthの関係性な。

URLリンク(c2.com)


199:デフォルトの名無しさん
05/04/23 18:11:18
ググってやっと見つかったのか
お疲れさん

200:デフォルトの名無しさん
05/04/23 18:45:38
>ソース晒してみろよ

組み込みソフトなんてのはネジと同じ単なる部品。
どこの世界に「ウチはxxのネジを使ってます」なんて言いふらす自動車屋があるってんだよ。

バカかこいつ(w

201:デフォルトの名無しさん
05/04/23 18:54:35
その言い訳はマイナー言語全般で使えるね
参考になるよ

202:デフォルトの名無しさん
05/04/23 18:56:09
で、組み込みとPS以外は無いの?

203:デフォルトの名無しさん
05/04/23 21:17:09
無かったら何?

204:デフォルトの名無しさん
05/04/23 21:37:02
FORTH使えねえ・・

205:デフォルトの名無しさん
05/04/23 21:52:22
お前には使えねえ・・

206:デフォルトの名無しさん
05/04/23 22:23:51
おめえは使えるのか?
だとしたら、何か一発、でかい事しようぜ?!

207:デフォルトの名無しさん
05/04/23 22:41:36
Forthって予約語とか命令とかってどれくらいあるの?
簡単なスタック計算機なら作ったことあるんだけど、どれくらい拡張するとForthになるんだろう。

208:デフォルトの名無しさん
05/04/23 22:44:52
スタック計算機って、おめえ、1 2 + とかだろ?
そんなんじゃプログラミング言語とはいえねえわな。
その形式で制御文とか関数定義考えたこたあるか?

209:デフォルトの名無しさん
05/04/23 22:45:20
アプリってなんだ

210:デフォルトの名無しさん
05/04/23 22:48:00
>>208
> そんなんじゃプログラミング言語とはいえねえわな。
もういいからそこらへんで冷たくなってろ

211:デフォルトの名無しさん
05/04/23 23:02:44
>208
数字が出たら、素直にスタックに積んで、
トークンが出たら、変数領域を参照して、あったらスタックに積んで、
なかったら、命令領域を参照してあったら、命令にスタックそのものを渡して計算させる。
命令と変数は基本的にstd::mapを使ってコールバックの形などで実現する。
whileとかの解析で思考が詰まってたところだよ。
いっその事、字句解析機もコールバックに渡してしまおうとおもってた。
字句解析には、BOOST::tokenizerを使う。

スタックに積む形式はBOOST::anyあたりがいいかなーと、バリアント変数好きの自分は考えていた。

辞書作成(実質サブルーチン)はちょっとてまかかりそうだけど、evalっぽいの実装すればいけそうだとか考えてた。

とかとか、漠然と考えたことはあるんだけど、実行効率は落第点だろうね。

212:211
05/04/23 23:07:40
素材はもちろんC++

アプリにくっつけて、Forthスクリプトもいいかなーとか妄想してる。

213:デフォルトの名無しさん
05/04/23 23:30:54
そして誰もいなくなった。

214:デフォルトの名無しさん
05/04/23 23:40:47
FORTH使えねえ・・

215:デフォルトの名無しさん
05/04/23 23:55:35
がんばれ

216:デフォルトの名無しさん
05/04/24 00:04:53
なんでもちろんC++なのかねえ。
普通アセだろ?こんなの

217:デフォルトの名無しさん
05/04/24 00:45:22
土日らしいな

218:デフォルトの名無しさん
05/04/24 08:22:03
>>211
FORTHへの招待 ,Harry Katzan,Jr.
池野信一監訳 近代科学社 1600円 ISBN4-7649-0082-3 C3050

読んでみればFORTHの実装がどれだけお手軽か分かる。
絶版なんでOPACで持ってる図書館を探してくれ。

219:211
05/04/24 15:41:48
>>216
アセンブラできません。(笑
趣味グラマなんで。

>>218
ずいぶん古い文献のようですね。1984年か。
僕、2歳かな・・・。なんだか感慨深いですね。


220:211
05/04/24 16:48:33
地元の図書館の検索ページ行ってみたが、ないな。
僕の手が届く(自作できそうな)処理系ってbarinf*ckとforth位なんだよなー。
構文解析作るの面倒だし、うーん。

221:デフォルトの名無しさん
05/04/24 17:02:19
>>220
県内の図書館は大抵連携していて他館のも借り出せるから、
他の図書館も探すべし。
(県内図書館の横断検索システムが大抵ある。)

最悪でも国会図書館から地元の図書館へ借り出せる。
(ただし館内閲覧のみ)

222:デフォルトの名無しさん
05/04/24 19:52:47
>>221
詳しいんだね。
それで、県の横断検索でもみつかったけど大学の図書だ。
こういうのも横断して借りれるのかな。ちょっと躊躇してるけど、試してみようかな。
Thx!

#しかし便利だな。この検索方法。

223:デフォルトの名無しさん
05/04/24 21:05:06
Forthなんか自作しても誰も褒めてくれないよ
Lispにしとけば?

224:デフォルトの名無しさん
05/04/25 18:34:25
別に人に褒めてもらうために処理系作るわけじゃないし。


225:デフォルトの名無しさん
05/04/25 21:02:47
Forthなんか自作しても誰も使わないよ
Lispにしとけば?

226:デフォルトの名無しさん
05/04/25 21:20:05
やけに伸びてると思ったら‥‥。
>>211
>whileとかの解析で思考が詰まってたところだよ。
FORTHの場合、多くの制御構造はbranchと0branch
(無条件相対ジャンプと条件ジャンプ)命令を実装したら
FORTH自身で作れる。
>>218 の本とか読んでみなされ。

あと、遠い昔にForth(というかMops+自作Lib)で作った
「メモ帳アプリもどき」のソースを晒しときますね。
URLリンク(gdsz.hp.infoseek.co.jp)

227:211
05/04/26 20:43:23
URLリンク(www-lab.ee.uec.ac.jp)
こういうの発見。
意外とC並みのことができそうな感じ。
でも、スクリプトとしてはあんま必要なさそうなのが結構あるなー。

一つのスタックにdoubleとintを混在させる方法が結構面倒そうだ。
やっぱ、Boost::anyかなぁ・・・。any使っとくとその後の拡張が楽そうだな。(Win方面のハンドルとか。)
うーん。

トンカチを持ってる人はすべての問題が釘に見えるっていうのがあるけど、
なんかそんな感じに陥っていそうな感じだ。
どうしよ。

>>226
オブジェクト指向のforthかな??
マニュアルないから、パラメータの意味がわかりにくいな。(引数とかとか。)
でも、ちゃんとアプリできてるのはすごいと思う。

適当なOS向けの拡張ってどうやってやるんだろう。
Boost::anyにハンドル類を突っ込むしか思い当たらない・・・。
スタック何本いるんだろ。3本かな・・・??
というか、キューとかにしちゃってもいいのか??

228:デフォルトの名無しさん
05/04/28 19:20:51
ホンダガラッタ
ヘンダガラッタ
フンダガラッタ
フン!フン!

エッグマンが現れた。

229:デフォルトの名無しさん
05/04/28 23:40:24
> 一つのスタックにdoubleとintを混在させる方法が結構面倒そうだ。
実数は実数スタックに積むんじゃね?

230:デフォルトの名無しさん
05/04/29 12:19:01
はぁ?ナニ言ってんのおまえ

231:デフォルトの名無しさん
05/04/29 13:09:33
>>229は正しい事言ってるんだけど。FORTHとして。
FORTHの言語仕様をろくに確認しないうちに、
思い込みで作り始めてる香具師がいるわけで。



232:デフォルトの名無しさん
05/04/29 18:05:54
>>231=229
はぁ?ナニ言ってんのおまえ

233:デフォルトの名無しさん
05/04/29 20:55:41
このスレはもうだめぽ。

234:デフォルトの名無しさん
05/05/01 01:45:08
>>227
C言語レベルでオゲーなら、↓こんな所からコードを読んでみるのは、いかがでせぅか?

T4th
URLリンク(eshop.advanet.co.jp)

GForth
URLリンク(www.jwdt.com)

GikoForth
URLリンク(gikoforth.s13.xrea.com)

T4thは正確にはモドキらしいけど、日曜プログラミング程度で突付ける程度の気楽さですよ。

> 適当なOS向けの拡張ってどうやってやるんだろう。
ぱっと思いつくのは、Win32 APIのLoadLibraryとGetProcAddressを呼び出す
ワード(命令)を用意すれば いいんじゃないかな?と。

>というか、キューとかにしちゃってもいいのか??
STLのstackも確かqueueの特殊系だったので、それで良いと思いますよ。
(上のはCで実装しているけど、まぁ似たような感じだし)



235:227
05/05/01 04:00:31
先日brainf*ckを自作してみたら、大体C++のクラスで150行位になった。
僕が保守できる限界がこれ位なだよなー。結構ヘタレ。

>>234
thx!
あまり長いソースはよんだことないからなー。
1000行はちょっと長いね。まーいいか。
地道によんでみます。

>ぱっと思いつくのは、Win32 APIのLoadLibraryとGetProcAddressを呼び出す
>ワード(命令)を用意すれば いいんじゃないかな?と。
うまいまわし方はわからんけど、簡単そうですね。

>というか、キューとかにしちゃってもいいのか??
どうしてこんなこといっちゃったんだろう。
意図忘れちゃった。(汗


236:227
05/05/02 21:43:03
URLリンク(www.uploda.org)
スタック電卓作ってみました。
形にはなってない感じですが・・・。
とりあえず、ソースはまだカオス化してないはずなので興味があるなら読んでみてください。
変数等は使えません。辞書も無理。

拡張は、クラスStackCalcのenumのTokennumを必要数増やして、
メソッド、Doの中にあるstd::stringのtoken[]に命令文を追加して、
switch文に新しい数字を増やして、
新しいメソッドを書くだけ。
こんなに簡単。(笑

扱いはMain.cppを見てください。
エラー処理はほぼしてないです。

あー、これをどれだけ拡張すると、forthになるのやら。
制御構文がネックだなー。Boost::tokenizerはバックして解析できないみたいだし・・・。

あと、ファイルは二日ほどで消える予定です。

237:236
05/05/02 21:46:48
あ、URLのh抜くの忘れてた。

238:デフォルトの名無しさん
05/05/08 03:21:28
保守上げ

239:デフォルトの名無しさん
05/05/08 03:28:55
保守上げ。リバイバル。

240:デフォルトの名無しさん
05/05/10 22:55:12
Forth さばいばる

241:デフォルトの名無しさん
05/05/11 23:05:01
いや、ぜんぜん生き残ってないし

242:デフォルトの名無しさん
05/05/18 19:40:57
三回転半腰捻り腰痛対策age

243:デフォルトの名無しさん
05/05/24 04:28:13
S-Langはスタックベースの言語なんだね。
でも構文見るとまるでCだ。

244:デフォルトの名無しさん
05/05/28 05:14:52
SLangの少ない日本語ページ
URLリンク(mizotec.s27.xrea.com)
URLリンク(genjo9.lit.let.hokudai.ac.jp)

245:デフォルトの名無しさん
05/06/05 03:08:40
あれ? ここってforthスレだよねぇ〜・・・(謎

246:デフォルトの名無しさん
05/06/05 03:24:28
fifth

247:デフォルトの名無しさん
05/06/05 23:58:45
ミットコンッドッリアアアッァァアァァァァァァァァァァァアアアアアァァァァア。
age

248:デフォルトの名無しさん
05/06/05 23:59:43
うぉぉおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおぉぉぉぉぉぉりゃぁぁぁぁぁぁぁぁぁぁぁぁあぁぁぁっぁぁぁっぁぁぁぁぁっぁぁぁぁ
age

249:デフォルトの名無しさん
05/06/06 04:47:43
URLリンク(www.retroforth.org)

250:デフォルトの名無しさん
05/06/15 07:23:13
URLリンク(stackempty.info)

251:デフォルトの名無しさん
05/06/21 21:25:18
↑ブラクラ

と書かれると嫌だろ?
ちゃんと何のリンクかぐらい書けや

252:デフォルトの名無しさん
05/06/22 14:44:53
サーバーが見つかりません

253:デフォルトの名無しさん
05/06/22 21:45:27
と書かれると嫌だろ?
ちゃんと何のリンクかぐらい書けや


254:デフォルトの名無しさん
05/07/09 15:05:46
数年前の記事ですが...

I Hate Forth
URLリンク(embedded.com)
I Love Forth
URLリンク(embedded.com)

255:デフォルトの名無しさん
05/09/02 18:54:36
ムーアさん、亡くなった?

256:名無しさん@そうだ選挙に行こう
05/09/11 20:49:19
そんな話聞いた事無いけどな。
Dr. Moogなら亡くなったが。

257:デフォルトの名無しさん
05/11/09 00:49:06
hoth

258:デフォルトの名無しさん
05/11/12 02:24:58
こんだけ過疎な理由はなんだ?
Forthの悪いところでも晒していこうぜ。
ちなみにおれはアセンブラより難解だと思ってる一人だぜ。


259:デフォルトの名無しさん
05/11/12 06:28:32
俺はPythonやJavaより読みやすいと思ってる一人だぜ.

260:デフォルトの名無しさん
05/12/07 02:41:39
何か話題ないのか

261:デフォルトの名無しさん
05/12/07 10:20:28
FORTH にある ROT って
つまり age のことだよね?

最近やっと気付いたよ w


262:デフォルトの名無しさん
05/12/07 22:57:42
: age ROT ;

263:デフォルトの名無しさん
05/12/07 23:57:33
sage は SWAP でいいのかな?

: sage SWAP ;

264:デフォルトの名無しさん
05/12/08 02:35:14
やっぱり
: foo bar ;
より
/foo { bar } def
の方がわかりやすいなあ
: を imdsw_on ; を imdsw_offとかにすれば
ちょっとはわかるような
わからんか

265:デフォルトの名無しさん
05/12/10 01:54:03
FORTHは全部が後置記法に統一されてないのがちぐはぐで嫌


266:デフォルトの名無しさん
05/12/16 14:42:09
age

267:デフォルトの名無しさん
05/12/16 19:51:11
>>265
FORTHの中の人の事情がいろいろ表に出てきてるから。
事情がわかると「なるほど」と思う。

268:デフォルトの名無しさん
05/12/16 20:26:43
>>265
硬いこというなよ。普通の言語だって演算子の優先順位とかあるじゃんか。
ソースも1文字ずつ後ろから読んでたら面白かったのに>forth

269:デフォルトの名無しさん
05/12/16 22:34:35
前から後ろから

270:デフォルトの名無しさん
05/12/17 08:06:49
でも入口と出口は一緒
pushしてpop
「おめでとうございます。元気な男の子ですよ」


271:デフォルトの名無しさん
05/12/17 10:33:36
interlog

272:デフォルトの名無しさん
05/12/17 12:43:43
そこで、swapしちゃいます


273:デフォルトの名無しさん
05/12/17 13:46:53
HTROFに改名しますた

274:デフォルトの名無しさん
06/01/07 18:05:41
自然数 N が与えられたとき、
1 から N までの数字を N 個並べる組み合わせをすべて
列挙するプログラムは Forth で書くとどうなりますか?

例えば N = 3 のとき
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
となるようにです。
よろしくおながいします。


275:デフォルトの名無しさん
06/02/12 23:31:47
ゅしほ

276:デフォルトの名無しさん
06/03/05 10:04:15
>>27のリンク先で
「WORDというワードは呪われた代物で、無いほうがよい」っていうのはどういう意味かね。
ほとんど表記法を変更する目的でしか使われないからかな。

277:デフォルトの名無しさん
06/03/05 16:17:17
訳注に書いてあるとおり。
プログラムの可読性を損ねるからだと思われ。


278:http://www.vector.co.jp/soft/win95/util/se072729.html
06/03/18 22:15:13
TextSS のWindowsXP(Professional)64bit対応化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?


279:デフォルトの名無しさん
06/03/30 18:03:27
手軽に手に入る唯一のFORTHチップ?

URLリンク(www.offete.com)

280:デフォルトの名無しさん
06/03/30 18:17:19
オライリーの表紙に龍はないだろ

281:デフォルトの名無しさん
06/05/02 18:58:48
>>274

こんな感じか? たぶんもっと美しいやり方があるのだろうが、ヘタレの
俺にはこの程度しかわからん。

variable x
0 x !
: make.stack 1+ 1 do i loop ;
: clean.stack x @ 0 do drop loop ;
: fn recursive
dup 2 = if
drop .s swap .s swap
else
>r r@ 0 do J 1 - fn J 1 - roll cr loop r> drop
then ;
: show.all
dup x !
dup 0 = if
." Error" drop
else
dup 1 = if
.s
else
cr make.stack dup fn drop
then
x @ clean.stack
then ;

3 show.allとかやってみて。

282:デフォルトの名無しさん
06/05/18 11:40:06
Thinking FORTH を CCL で日本語化するプロジェクトが進行中。
本日作業分担を大まかに決める予定。

日本FORTH研究会の会報をPDF・オープン化することも本日の議題。

LL Ring! Language Update に出るか否かも本日決定?

第3世代 FIG JAPAN 立ち上げたいなぁ。

283:274
06/05/18 12:01:42
>>281
激しくありがとうございます


284:デフォルトの名無しさん
06/05/18 16:13:05
>>282 期待age

285:デフォルトの名無しさん
06/05/18 16:13:50
sageいれちまった... orz

286:デフォルトの名無しさん
06/05/18 16:19:51
というか日本支部生きてたのか(w

287:デフォルトの名無しさん
06/06/01 02:25:15
>>286

生きてません。本家FIGでもリンクがなくなっています。
とはいえ、三世代FIG-JAPAN設立構想も検討中。

288:デフォルトの名無しさん
06/08/09 18:37:34
LL Ringに参戦するようだが、勝算はどれくらいだろう?

289:
06/08/23 21:25:38
Windows上で動くFORTHってない?
DOS窓で動くやつじゃなくて、APIとか叩けるやつ。


290:デフォルトの名無しさん
06/08/30 06:22:31
つ win32forth

291:デフォルトの名無しさん
06/08/30 08:50:36
LLRing乙でした。

292:デフォルトの名無しさん
06/09/03 23:05:33
FORTHマンセー

293:デフォルトの名無しさん
06/10/21 16:45:01
最近話題無いの?

294:デフォルトの名無しさん
06/10/21 22:50:10
back and forthです。

295:デフォルトの名無しさん
06/10/21 22:51:33
joyとかの話する?

296:デフォルトの名無しさん
06/10/23 13:32:14
今更forth使ってる人は自分で問題解決できる人ばっかだからなあ

297:デフォルトの名無しさん
06/10/25 07:31:20
>>296
解決できない俺はどうすれば・・・

298:デフォルトの名無しさん
06/10/26 00:39:00
質問すればいいんじゃねえの?!

しかしこのスレ
2年以上経つのにまだ300行ってないのか

299:デフォルトの名無しさん
06/11/10 22:20:47
なんかニュースないの?

300:デフォルトの名無しさん
06/11/10 22:26:12
>>298
>2年以上経つのにまだ300行ってないのか

FORTHプログラム張りなんだぜ?

301:デフォルトの名無しさん
06/11/28 05:56:22
test

>>261-265
>>266,267

302:デフォルトの名無しさん
06/11/29 12:28:15
: hoge foo bar ;

{ foo bar } hoge def #コードブロック
* foo bar hoge def #なし

303:デフォルトの名無しさん
06/12/09 03:15:37
age
URLリンク(factorcode.org)

304:デフォルトの名無しさん
06/12/10 21:07:56
虎擬の新年号付属基板に移植するプロジェクト

305:デフォルトの名無しさん
06/12/26 05:05:37
>>301
おばかな流れにワロス


306:デフォルトの名無しさん
07/01/28 04:43:44
a

307:デフォルトの名無しさん
07/02/27 19:51:33
b

308:デフォルトの名無しさん
07/02/27 20:28:16
FORTH のすごいところは 対話型の言語でありながらコンパイラだってとこじゃないのかなぁ…

309:デフォルトの名無しさん
07/02/27 20:57:50
forthの凄いところは2スタックマシンと辞書による入れ子構造だと思う。



310:デフォルトの名無しさん
07/03/02 12:31:00
(・∀・ )っ/凵 ⌒☆ VisualForthマダー?

311:デフォルトの名無しさん
07/03/02 12:34:49
>>310
ムーアたん自ら開発済み。
URLリンク(www.colorforth.com)

312:デフォルトの名無しさん
07/03/30 06:30:41
最近のCPUって、プログラムの自己書き換えができないとか聞いたけど、
そうだとするとFORTH実装するのつらいよね。

313:デフォルトの名無しさん
07/03/30 07:48:32
たしかに今も昔もCPUの回路は自分で変更できないな。

314:デフォルトの名無しさん
07/03/30 23:27:06
メモリ書き換えればいいじゃん >312

315:デフォルトの名無しさん
07/03/31 16:33:43
>>314
最近のCPUってもコードキャッシュに先読みしたりしているから、
下手にメモリを書き換えると、先読みしたコードと、実際のメモリのコードが一致しなくなる。
ので、正常に動作しなくなったり、パイプラインにペナルティが発生して、動作がおそくなったりするらしい。

FORTHって、新しくワードを追加すると、自分自身が大きくなっていくような言語だから、
そこらへんどうすればいいのかわからない。
だれか教えてくれんかな。


316:デフォルトの名無しさん
07/04/01 05:04:00
FORTH以前にコンピュータの基礎知識が混乱してるな。

317:デフォルトの名無しさん
07/04/01 12:54:31
>>316
FORTHの事、知らないだろ。

318:デフォルトの名無しさん
07/04/01 13:11:17
>>313
VBばっかり使ってないで、ハーバードアーキテクチャとノイマンアーキテクチャの違いに付いて勉強しろよ(w



319:デフォルトの名無しさん
07/04/01 16:33:44
最近だとこの関係でJITコンパイラとXDビットでも問題になってましたな。
JIT関係にノウハウありそうだけど、良く判らん

320:デフォルトの名無しさん
07/04/02 05:03:35
べつに何の困難もないと思うけどな。
パラメータスタックなんて自由度の低いポインタみたいなもんじゃん。

321:デフォルトの名無しさん
07/04/11 23:18:58
なんかよくわからんけど、問題になりそうなのは、既存ワードの書き換え時だと思うので、

ワード書き換え→キャッシュをフラッシュ

でいいと思う。



322:デフォルトの名無しさん
07/04/23 23:27:41
いかにForthでも、線路を作りながら電車を走らせるようなことはありません。
ワードをコンパイルした後、そのワードを実行するまでには
少なくとも実行ワード名を読み込むI/Oプロセスが介在するので、
人間にとっては一瞬でも、機械には一服する余裕があります。

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

こんな感じでどうでしょう。

323:デフォルトの名無しさん
07/04/24 06:20:31
forthの人気のなさは異常

324:デフォルトの名無しさん
07/04/24 23:36:56
異常だな。〜 if 〜 then 〜 else のせいだったりするんかね?
……forthに何があったらもっと流行るかな?

325:sage
07/04/24 23:53:34
て、むしろ正常ってこと?

326:デフォルトの名無しさん
07/04/28 23:24:51
Forthを使いたいと思う人より、Forthの処理系を造りたいと思う人の方が多そうな予感

327:デフォルトの名無しさん
07/04/30 07:13:54
自分もForthを作っているクチ
毎日、Forthでプログラム作ってるぜ!って奴はいますか?


328:デフォルトの名無しさん
07/04/30 08:55:54
ど素人の趣味なので毎日はしませんが、Forth系じゃないコードはほとんど書きません。

むしろForthでForthを作れば良いのではないかと思います。

329:デフォルトの名無しさん
07/04/30 12:17:29
>328
Schemeみたいに最低限のプリミティブを用意して、それからForthを組むようにしたら面白いかもね。
Lispだとこんな感じか。
Wikipedia項目リンク

Forthの場合、スタック関連の操作、代入、分岐、Immediate、postponeぐらいで
実装できそうな気がする


330:328
07/04/30 21:27:11
>>329
古典的なForthみたいにですね。
昔はアセンブリで書いた核の部分は、今はCでいいですからね。
ただ、何を核にすれば必要十分なのかについて、あまり資料がないですね。
四則演算と論理演算(ビット操作)もあった方がいい気もしますが、どうなんでしょう
(Lispは四則演算はいらない?)。
gforthはそういうやり方らしいですけど、
実行速度のためCで書き込むプリミティブを多めに取ったと書いています。

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

もともとforthは言語仕様自体は貧弱なので、
アプリケーション毎に自前の言語を組上げていくみたいな面白さもあります。
インプットストリームも弄れるので、シンタックスまで変更できますし。
それがあまり面白がられていないということですかね。

331:デフォルトの名無しさん
07/05/03 09:02:05
昔、近所の古本屋で標準FORTHを100円で保護したのだが、捨ててしまった。漏れの馬鹿。
ところで、Beginning Forthを注文した。米国からなので2週間くらいかかりそう。

332:デフォルトの名無しさん
07/05/06 22:37:02
Forthはともかく資料不足。よって今更ながら英語の入門書をもう一個:
URLリンク(www.mpeforth.com)
『Programming Forth』 - Stephen Pelc et al.

333:デフォルトの名無しさん
07/05/16 04:42:21
汎用で考えるとやっぱり今どきスタックは32ビット長ですよねえ。
そこで移植にお勧めの埋め込み用32ビットプロセッサって何がありますか?
I/Oがたっぷり用意されているので遊べるかなって思いますがどうでしょう。

334:デフォルトの名無しさん
07/05/24 20:39:30
パフォーマンス優先ならSHじゃね?
最近秋葉でも手に入りやすくなったし。

FORTHコンパイラをアセンブラでガリガリに書きたい人なら
アセンブラが書きやすいH8かな。

335:デフォルトの名無しさん
07/06/05 19:20:03
φ(。。) めもめも

336:デフォルトの名無しさん
07/06/05 20:54:14
HDLだけでFORTHは作れる?

337:デフォルトの名無しさん
07/06/11 13:07:14
>>336
作れるみたいですね やってみたことないけどw
URLリンク(www.ultratechnology.com)
この中のMicroCoreって初めて知りました
URLリンク(www.microcore.org)

338:デフォルトの名無しさん
07/07/26 16:12:13
joyの話しようぜ

339:デフォルトの名無しさん
07/09/15 23:22:38
後で読む: i386 / Linux 向け Forth コンパイラの作り方。

URLリンク(www.annexia.org)

340:デフォルトの名無しさん
07/09/26 15:51:44
CでForthの処理系を書いてみた。
GCにはBoehm GC、辞書にはJudy Arrayを使ったので
ほとんど手間がかかっていないわりに速かった。
まだ単純な処理しか出来ないけどrubyとかより速いかも。


341:デフォルトの名無しさん
07/09/29 00:15:24
ささやかな期待

342:デフォルトの名無しさん
07/09/29 19:36:42
rubyより遅いforhtなんてあるのか?

343:デフォルトの名無しさん
07/09/29 19:51:26
>>342
rubyで書けばいいんじゃね?

344:デフォルトの名無しさん
07/09/30 17:21:13
>>343
激しく楽しくない気が

345:デフォルトの名無しさん
07/09/30 19:36:18
>>340
GC?

346:デフォルトの名無しさん
07/10/02 20:36:49
>>345
Garbage Collector でそ。

347:デフォルトの名無しさん
07/10/02 22:29:09
(forthに)GC?

てことじゃないか?

348:345
07/10/03 23:33:04
>>347
フォローありがとうございます。

>>346
すみません。347さんの線でお願いします。

どう使うのかなあ?と。

349:デフォルトの名無しさん
07/10/04 15:23:24
concatenative

350:デフォルトの名無しさん
07/10/07 11:41:29
" hoge" は汚なく感じるな
"hoge" か " hoge " だろと

351:デフォルトの名無しさん
07/10/16 01:35:58
URLリンク(www.forthfreak.net)

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

352:デフォルトの名無しさん
07/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 改造したりしている人はいませんか?




次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5329日前に更新/129 KB
担当:undef