あらかじめ用意してある特殊な変数。引用するのみで代入は出来ない。
ERROR |
num ERROR
オーバーフロー数値
|
NULL |
str NULL
長さ0の文字列
|
Q |
str Q
ダブルクォート
" 一文字の文字列
|
S |
str S
シングルクォート
' 一文字の文字列
|
TAB |
str TAB
タブコード
0x09 一文字の文字列
通常は使用しない。出力時には無視される。
|
EOL |
str EOL
行末
0x0a 一文字の文字列
通常は使用しない。出力時には無視される。
|
LINENO |
num LINENO
通算の行番号
|
RECNO |
num RECNO
ファイル内の行番号
|
COUNT |
num COUNT
現在行以前に出力した行数。通算選択数になる。
|
FILENO |
num FILENO
現在処理中のファイルの番号(1から始まる)
|
FILENAME |
str FILENAME
現在処理中のファイル名。標準入力を処理している場合は空文字列。
保持する長さはシステムの限度値。それ以上は切り捨てられる。
TFGCALC.EXE /TFGSELECT.EXE では入力ファイル名。
TFGEN.EXE では出力ファイル名。
|
ENABLE | |||||||||
bool
ENABLE(
[ bool 出力フラグ ] )
システム内の出力制御フラグに対する操作。
引数を省略すると現在の値を返す。 引数を与えると出力制御フラグの値は引数の値となる。返す値は引数と同じ値。 現在行を出力する場合には真、出力しない場合には偽を与える。 出力フラグは各行の処理に先だって真に指定されている。 TFSELECT.EXE では、行演算の結果が内部フラグに書き込まれる。
従って、出力制御を実際に行えるのは行末尾ブロックのみである。TFCALC.EXE /TFGEN.EXE では、この関数を使用しなければ常に出力する。
行先頭ブロック、行演算、行末尾ブロックのどこでも出力制御は有効である。
選択的に出力する際に使用すると良い。
| |||||||||
INFO | |||||||||
str
INFO(
num 番号
[,str 出力データ ] )
アプリケーションと通信する。
出力データを省略するとアプリケーションからデータを受け取る。 戻り値は受け取ったデータ。 出力データを指定するとアプリケーションへデータを渡す。 戻り値は出力データ。 アプリケーションとの通信は、アプリケーションによって異なる。 通常は定義されていないので、出力は無効。入力は空の文字列となる。 アプリケーションのドキュメントを参照のこと。 | |||||||||
LET | |||||||||
LET( 代入先, 値)
代入。
変数、あるいは、配列要素に代入する。 代入先と、値のデータの型は同じでなければならない。 戻り値は、代入値である。 | |||||||||
IF | |||||||||
IF( bool 条件式, 式1, 式2)
条件判断。
条件式が成立したとき式1の値、成立しなかったときには式2の値を返す。 値の型は、式の型と同じ。 式1と式2の型は一致していなければならない。 式1と式2は、値を返すほうのみが評価される。 | |||||||||
CASE | |||||||||
CASE( bool 条件式: 結果式
[, bool 条件式: 結果式]*)
多重条件選択。
条件式:結果式を先頭から調べていき、最初に条件式が TRUE になったときの式の値を返す。
条件式は論理値。また、結果式はすべて同じ型でなければならない。
条件が一つも成立しなかった場合は、結果式の型によって指定される下記の値を与える。
最後の条件に、定数 TRUE を与えると、それ以前の条件全てに合致しなかった場合の値を決めることが出来る。
| |||||||||
CASECNT | |||||||||
num CASECNT( bool 論理式 [, bool 論理式 ]*)
成立した論理式の数を数える。結果は数値。
すべての式が評価のために実行されることに留意する。 | |||||||||
ARRAY | |||||||||
ARRAY( num 指標 ,
要素式 [, 要素式 ]*
[; 不一致式 ]*
)
指標選択。
最初の数式を指標として、以後の式を1、2、3、 、、と番号を付け、その該当する番号の式の値を返す。 要素式、不一致式の型はすべて一致していなければならない。 指標に該当する要素式がない場合は、不一致式が書かれていれば、その値を返す。 不一致式が書かれていなければ、要素式の型によって指定された規定値を与える。
| |||||||||
ANDBOOL | |||||||||
bool ANDBOOL( bool 論理式 [ , bool 論理式 ]* )
論理式のすべてが真ならば真。
関係演算子の AND と異なり、
先頭から論理式の評価を進め、論理式のいずれが偽になった時点で中断し、以降の論理式を評価しない。
| |||||||||
ORBOOL | |||||||||
bool ORBOOL( bool 論理式 [ , bool 論理式 ]* )
論理式のいずれかが真ならば真。
関係演算子の OR と異なり、
先頭から論理式の評価を進め、論理式のいずれが真になった時点で中断し、以降の論理式を評価しない。
| |||||||||
ANDCOMP | |||||||||
bool ANDCOMP(
基準式
, [ NOT ] 比較演算子
, 比較式
[ , 比較式 ]* )
比較結果のすべてが真ならば真。
指定した比較演算子を用いて、基準式を先頭から順に比較式と比較する。 比較の結果が偽になった時点で中断し、以降の比較は行わない。 比較演算子の前に NOT があると条件が反転する。
| |||||||||
ORCOMP | |||||||||
bool ORCOMP(
基準式
, [ NOT ] 比較演算子
, 比較式
[ , 比較式 ]* )
比較結果のいずれかが真ならば真。
指定した比較演算子を用いて、基準式を先頭から順に比較式と比較する。 比較の結果が真になった時点で中断し、以降の比較は行わない。 比較演算子の前に NOT があると条件が反転する。
| |||||||||
DO | |||||||||
bool DO(
実行式
[
, 実行式
]*
; bool 継続条件
)
繰り返し処理。継続条件が偽になると終了する。
実行式は、先頭から順に、繰り返し評価される。 継続条件は実行式の後で評価されるので、実行式は少なくとも一回は実行される。 戻り値は常に真。 記述を誤ると無限ループに陥り、プログラムの強制終了が必要になる。 危険な処理なので、通常は使用してはならない。 | |||||||||
WHILE | |||||||||
bool WHILE(
bool 継続条件
; 実行式
[
, 実行式
]*
)
繰り返し処理。継続条件が偽になると終了する。。
実行式は、先頭から順に、繰り返し評価される。 継続条件は最初に評価されるので、実行式は一度も実行されないことがある. 戻り値は常に真。 記述を誤ると無限ループに陥り、プログラムの強制終了が必要になる。 危険な処理なので、通常は使用してはならない。 | |||||||||
FUNC | |||||||||
FUNC(
str 関数式
; 実行式
[
, 実行式
]*
)
関数式を定義し、実行式を順に評価する。戻り値は最後の実行式の値。
関数の型も最後の実行式の型と同じになる。
実行式の中では、 CALL 関数を用いて、関数式を呼び出せる。
関数式内部では特殊な文字変数ARG に引数が渡されている。関数式の中でも、 CALL 関数を使用できるが、このときは、
再帰処理となるため、無限ループに陥る可能性があるので安全ではない。残念ながら、関数式は、文字列式で、引数は文字列に変換される。 数値を扱う場合は、適宜、 NUM 関数やSTR 関数を用いる
必要がある。複数の引数を関数式に渡したい場合は、文字列リストを用いると良い。DEF 関数で定義した関数と異なり、関数の存在はFUNC の
内部に限られる。
| |||||||||
CALL | |||||||||
str CALL(
引数
)
FUNC 関数の中で用い、そこで定義した関数式を評価する。引数は、特殊な文字変数 ARG に文字列に変換して与えられる。
| |||||||||
DEF | |||||||||
bool DEF(
num 関数番号
;
[
関数式
,
]*
str 関数式
)
指定の番号の関数式を定義する。
最後の関数式は必ず文字列型であること。
戻り値は常に真。
ここで定義した関数は CALLDEF 関数を用いて使用できる。関数式の中で、同一番号の CALLDEF 関数を使用できるが、このときは、
再帰処理となるため、無限ループに陥る可能性があるので安全ではない。関数式内部では特殊な文字変数 ARG に引数が渡されている。残念ながら、関数式は、文字列式で、引数は文字列に変換される。 数値を扱う場合は、適宜、 NUM 関数やSTR 関数を用いる
必要がある。複数の引数を関数式に渡したい場合は、文字列リストを用いると良い。FUNC 関数で定義した関数と異なり、定義した関数は大域的に存在する。
同一番号の関数を定義すると新しい定義で上書きする。
ここでの関数定義は、実行時にダイナミックに行われ、
コンパイル時に定義するわけではないことに注意すること。なお、関数番号は、0-255が許される。 | |||||||||
CALLDEF | |||||||||
str CALLDEF(
num 関数番号
; 引数
)
DEF で定義した関数番号の関数式を評価する。引数は、特殊な文字変数 ARG に文字列に変換して与えられる。
関数番号は、0-255が許される。
| |||||||||
ARG | |||||||||
str ARG
CALL 関数やCALLDEF 関数の引数の値を持つ。FUNC 関数やDEF 関数での定義する関数式の中で使用する。CALL 関数やCALLDEF 関数を多重に呼び出した場合は、
現在の一番内側の呼び出しの引数の値を持つ。
| |||||||||
ARG() | |||||||||
ARG(
[ 引数
[ : 文字列最大長 ]
]
[
,
[ 引数
[ : 最大文字数 ]
]
]*
;
実行式
[
, 実行式
]*
)
引数を特殊変数に割り当てて、実行式を評価する。戻り値は最後の実行式の値。
引数は数値式、文字列式、論理式。 文字列式の場合は割り当てる大きさを文字単位で指定できる。 引数の評価後のサイズが大きさの指定より大きい場合は引数の大きさになる。 省略した場合も引数の大きさ。 引数は、特殊な引数配列に順に割り当てる。 添字は必ず、文字列、数値、論理値に関わらず、先頭から、0、1、2の順で割り当てられる。 省略した引数には割り当てない。番号だけが進む。最大で32個用意されている。 引数の文字列は ARG[] を、
数値はNUMARG[] を、論理値はBOOLARG[] 使用して、
実行式の中で参照できる。
ARG[0] からARG[9] 、
NUMARG[0] からNUMARG[9] 、
BOOLARG[0] からBOOLARG[9] の代わりに、
ARG0 からARG9 、
NUMARG0 からNUMARG9 、
BOOLARG0 からBOOLARG9 を使用できる。
また、実際は引数の演算中にも、現在の引数以前の引数の値を参照できるが、
安全ではないので推奨できない。
文字列引数の内容はARG_SET で変更でき、
論理値引数の内容はBOOLARG() で変更できる。
また、数値引数は、NUMARG() 、
NUMARG_INC() 、NUMARG_DEC() で変更できる。この関数は、実行式の外側に引数環境を作るもので、 CALL や、
CALLDEF を実行式として記述すれば、複数の引数や、
数値引数の引渡しを可能にする。また、実行式に対して局所的な作業変数として使用すると便利である。 | |||||||||
ARG[] | |||||||||
str ARG[
num 引数番号
]
ARG() 関数の実行式の中で使用し、文字列引数を返す。 | |||||||||
ARG0...ARG9 | |||||||||
str ARG0...ARG9
ARG[0] からARG[9] の代わりに使用する。記述の簡略化のために用意した。 | |||||||||
ARG_SET | |||||||||
str ARG_SET(
num 引数番号
; str 値
)
ARG() 関数の実行式の中で使用し、指定の文字列引数に代入する。戻り値は、与えられた値。 | |||||||||
NUMARG[] | |||||||||
num NUMARG[
num 引数番号
]
ARG() 関数の実行式の中で使用し、数値引数を返す。 | |||||||||
NUMARG() | |||||||||
num 引数番号
;
num 値
)
ARG() 関数の実行式の中で使用し、数値引数に代入する。戻り値は与えられた値。 | |||||||||
NUMARG0...NUMARG9 | |||||||||
num NUMARG0...NUMARG9
NUMARG[0] からNUMARG[9] の代わりに使用する。記述の簡略化のために用意した。 | |||||||||
NUMARG_INC | |||||||||
num 引数番号
)
ARG() 関数の実行式の中で使用し、数値引数に1を加える。戻り値は1を加える前の値。 | |||||||||
NUMARG_DEC | |||||||||
num 引数番号
)
ARG() 関数の実行式の中で使用し、数値引数から1を引く。戻り値は1を引く前の値。 | |||||||||
BOOLARG[] | |||||||||
num BOOLARG[
num 引数番号
]
ARG() 関数の実行式の中で使用し、論理値引数を返す。 | |||||||||
BOOLARG() | |||||||||
num BOOLARG(
num 引数番号
;
bool 値
)
ARG() 関数の実行式の中で使用し、論理値引数に代入する。戻り値は与えられた値。 | |||||||||
BOOLARG0...BOOLARG9 | |||||||||
num BOOLARG0...BOOLARG9
BOOLARG[0] からBOOLARG[9] の代わりに使用する。記述の簡略化のために用意した。 | |||||||||
MEMBER | |||||||||
str MEMBER
STR_LOOP 関数、
STR_LOOP_COUNT 関数、
STR_LOOP_SRCH 関数、
PART_LOOP 関数、
PART_LOOP2 関数、
PART_REPLACE 関数、
PART_REPLACE2 関数、
LIST_LOOP 関数、
LIST_LOOP_FILTER 関数、
LIST_LOOP_REPLACE 関数、
LIST_LOOP_AND 関数、
LIST_LOOP_OR 関数、
LIST_LOOP_SRCH 関数
の中でメンバーを参照するための特殊な変数。
|