home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1999 April
/
VPR9904A.BIN
/
Vpr_data
/
Special
/
Yoolw101
/
Yoolw101.lzh
/
FORCE.DOC
< prev
next >
Wrap
Text File
|
1998-10-08
|
3KB
|
113 lines
*** FORCE for YOOL ***
FORCEとは?
FORCEは、株式会社アスキーの「Cプログラムブック1」に紹介され
ているFORTHベースのプログラム言語です。FORCE for YOOL
はそれでサポートされている命令を、名前を変えてYOOLにインプリメント
したものです。
特徴は次の通りです。
・スタック型のプログラム言語
・インタプリタ
・タートルグラフィックスをサポート
YOOLを使うと簡単にインタプリタも作ることができることを示すための
サンプルとして作成しました。
関数一覧
算術関数
PLUS,+ 和を求める
DIF,- 差を求める
TIMES,* 積を求める
DIV,/ 商を求める
REM,% 余りを求める
論理関数
AND topと2ndがともに0以外の時1、違う時は0
OR topか2ndのどちらかが0以外の時1、違う時は0
NOT topが0以外なら0、0なら1にする
入出力関数
PRINT 画面出力
FLOAD topの文字列のファイルを読み込む
FSAVE topの文字列のファイルに定義された関数を書き込む
スタック操作関数
ABORT topを捨てる
SWAP topと2ndを入れ替える
DUP topをコピーする
OVER top分、前のデータを取り出す
プログラム制御関数
LOOP topの数だけループする
TEST topが0以外なら次の命令を実行、0なら2つ後の命令を実行
WHILE topが0になるまで、ループする
NOP 何もしない
GREAT >
LESS <
EQUAL =
STORE topの番号のレジスタに、2ndを格納する
LOAD topの番号のレジスタの値を取り出す
グラフィック関数
WIPE 画面を消去する
HOME penを(0,0)に移す
FORWARD penをtopの長さだけ、線を引きながら進める
JUMP penをtopの長さだけ、線を引かずに進める
POINT penの位置を(2nd top)のように取り出す
MOVE penを(2nd top)の位置に動かす
NORTH penの方向を0゚(上向き)にする
ROTATE penの方向をtopだけ変える
DIRECTION penの方向を取り出す
COLOR penの色をtopにする
PUSHCOLOR penの色を取り出す
その他
: ユーザー定義関数の定義
USER ユーザー定義関数の一覧
CONT ユーザー定義関数の内容表示
プログラム例
1. スタックの状態
force >(1 2 3) >1 2 3
force >(PLUS) >1 5
force >(PRINT) >1
5
force >(PRINT) >
1
force >(: inc 1 PLUS) >
force >(10 inc) >11
force >(PRINT) >
11
force >(5 4 3 2) >5 4 3 2
force >(ABORT) >5 4 3
force >(SWAP) >5 3 4
force >(DUP) >5 3 4 4
force >(1 OVER PRINT) >5 3 4 4
4
force >(4 OVER PRINT) >5 3 4 4
5
force >(1 100 LOOP (DUP PRINT 1 PLUS))
1
2
・
・
100
force >(66 10 WHILE (DUP PRINT 1 DIF) PRINT)
10
9
・
・
1
66
force >(: fact DUP TEST (DUP 1 DIF fact) TIMES) (ABORT 1))
force >(5 fact PRINT)
120
2.ファイルに格納されたプログラムの実行
force >("PASERI.FO" FLOAD)
force >(RUN1)
force >(RUN2)
force >("MANJI.FO" FLOAD)
force >(RUN1)
force >(RUN2)
force >("GROWTH.FO" FLOAD)
force >(RUN1)
force >(RUN2)
force >("POLY.FO" FLOAD)
force >(RUN1)
force >(RUN2)