------------------------------------------------------------------ 【データ型自由なミニ言語(Type Free Mini Language)】 データ型はすべて実行時に決まりますので、型宣言はありません. (C)2015 Yutaka Shirai ------------------------------------------------------------------ ■構文(以下の仕様は断りなく変更することがあります) <文> := <文>; | {<文>; ... } <関数定義> := function <関数名>(<仮引数>)<文> := dim := if(<式>) 文| if(<式>) <文> else <文> := while(<式>) 文 := do <文> while(<式>) | do <文> repeat(<式>) := for(<初期化式>;<判定式>;<増分式>)<文> := <名前>|<配列表現> (注意)<名前>だけのときローカル変数宣言とみなす) := |,<配列表現> <配列表現> := <名前>[式列] <式列> := <式>|<式>,<式列> <名前列> := <名前>|<名前>,<名前列> <仮引数> := <名前列> (<演算式>のとき<演算対象><演算対象>は文字列連結とみなす) ■System関数 initArray(B,v1,…): 配列 B に続く値を設定する。後は0設定 input() : 文字列入力。 logShift(A,B) : AをBビット左にシフト。B<のとき論理右シフト lowerDbl(A) : 倍精度の下位4バイトを整数として得る。 msgBox(A) : Aをメッセージとして表示。 setInDbl(A,B) : Aを上位4byte,Bを下位バイトとして倍精度設定 print(A) : Aを実行表示領域に表示する。なお改行は\r\nで指定する。 upperDbl(S) : 倍精度の上位4バイトを整数として得る。 ■型変換関数 char(A,B) : 文字列 A のB番目の文字 hexa(A) : Aを16進数文字列に変換。 hexaToInt(S) : 16進数文字列を整数に変換。先頭2文字は0xまたは0Xだが無視。 int(A) : 倍精度Aを整数値に変換。 strToDbl(S) : 文字列を倍精度とみなして変換する。 strToInt(S) : 文字列を整数とみなして変換する。 toString(A) : Aを文字列に変換する。文字列は元のまま。 typeCode(A) : Aのデータ型を整数で得る。 ■算術関数 sin, cos, tan, sinh, cosh, tanh, asin, acos, atan, exp, log, sqrt, pow ■演算子(演算子の意味はC言語と同じ) +, -, *, /, %, ++, --, ==, !=, >, >=, <, <=, >>, <<, !, &&, ||, &, |, ~, ^, =, +=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^= (演算子なしのとき文字列連結) ■取り扱うデータ型 double, integer, string