Tepas プログラミング言語仕様書 バージョン1.0 Mafice 0. 目次 1. はじめに 2. 定義 3. 変数・定数 4. 演算子 5. 式 6. オペレーション 7. 組み込みオペレーションの一覧 1. はじめに Tepas(てぃぱす)はシンプルなプログラミング言語です。 2. 定義 スクリプト - Tepasのソースコードが記述されたテキストファイル 実行環境 - スクリプトを実行するプロセッサやメモリ等のハードウェアまたはインタプリタ 3. 変数・定数 3.1 型 変数にはBool,Int,Stringの3つの型があります。 3.1.1 Bool型 Bool型はtrueまたはfalseの二つの値のみを持ちます。 3.1.1 Int型 Int型は整数を持ちます。実行環境によって変数の取りうる値の範囲は変化します。 3.1.1 String型 String型は文字列を持ちます。文字列の最大長は実行環境によって変化します。 4. 演算子 演算子には算術演算子と条件演算子の2つがあります。 4.1 算術演算子 2つの項を以下のようにし、その結果を示します。数値同士でのみ使用できます。 + 足し算 (加法演算子) - 引き算 (減法演算子) * かけ算 (乗法演算子) / 割り算 (除法演算子) % 割り算のあまり (剰余演算子) 4.1 文字列演算子 2つの項を以下のようにし、その結果を示します。文字列同士でのみ使用できます。 & 2つの文字列を連結 (文字列連結演算子) 4.2 関係演算子 関係演算子は2つの項の値または文字列を比較し、trueまたはfalseを示します。 文字列同士または数値同士で使用でき、文字列同士では==と!=のみ使用できます。 == 左辺と右辺が等しい != 左辺と右辺が等しくない >= 左辺が右辺以上 <= 左辺が右辺以下 > 左辺が右辺より大きい < 左辺が右辺より小さい 5. 式 式は演算子が連なったものです。 演算子の優先順位はなく、左辺優先となっています。 関係式は式の一つであり、関係演算子のみでの式です。 6. オペレーション Tepasのプログラミングは一行に以下のように記述します。 オペレーション 第1引数, 第2引数, ... オペレーションの前,オペレーションと第1引数,引数同士を 分けるカンマと次の引数はスペース,タブを1つ以上入れてください。 7. 組み込みオペレーションの一覧 実行環境に関わらず、以下の組み込みオペレーションが使用できます。 func (String 関数名[, String 第1引数名, String 第2引数名, ...]) - 関数を定義する。 関数を定義します。引数にはこの関数が呼ばれた際の引数の変数名を記述します。 その変数名は関数内でのみ使用できます。また、endオペレーションを記述する必要があります。 ret (なし) - 関数から呼び出し元へ返る。 現在の関数から呼び出し元に戻ります。 if (条件文) - 条件文の比較がtrueの場合、endまたは記述されている場合はelseまでを実行する。 条件文の比較がtrueの場合、endまたは記述されている場合はelseまでを実行します。 loop (条件文) - 条件文の比較がtrueである限り、endまでを実行する。 条件文の比較がtrueである限り、endまでを実行します。 else (なし) - ifオペレーションの条件がfalseの場合、endまでを実行します。 ifオペレーションの条件がfalseの場合、endまでを実行します。 end (なし) - ブロックの終わりを表す。 ブロックの終わりを表します。 break (なし) - loopブロックを中断し、endオペレーションの次のオペレーションへ移行する。 loopブロックを中断し、endオペレーションの次のオペレーションへ移行します。 cont (なし) - ブロックのloopオペレーションへ移行する。 ブロックのloopオペレーションへ移行します。 set (String 変数名, Int型の変数の場合は式、String型の変数の場合は文字列) - 変数を設定する。 変数を設定します。 const (String 変数名, Int型の変数の場合は式、String型の変数の場合は文字列) - 定数を設定する。 定数を設定します。 use (String ライブラリ名または他のスクリプトへのパス) - ライブラリまたは他のスクリプトファイルを読み込む。 ライブラリまたは他のスクリプトファイルを読み込みます。 useオペレーションにより、ライブラリまたは他のスクリプトファイルの関数を使用できます。