[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. 状態遷移表の作成

上記表の状態遷移表を、状態遷移表コンパイラの入力用に作成します。状態名や イベント名はそのままソースに反映させるので、ターゲットアセンブラの仕様 に沿ったシンボル名にして下さい。今回は Excel で作成することとます (5)

状態遷移表コンパイラに受理させるためにいくつかの書式規則があります。詳し くはドキュメントをご覧頂くとして、要点だけ列挙します。

  1. 状態遷移表コンパイラは、キーワード「START」を状態遷移表の開始と認識し ます。このキーワードは必ず必要です。状態遷移表の左上隅に記述します。こ のセルを便宜上、スタートセルと呼びます。
  2. スタートセルの下のセルから下方向に、取り得る状態を全て列挙します。一 番最初に記述した状態を「初期状態」であるとします。
  3. 各状態名の右横のセルには、初期状態を 0 として通し番号を振っておきます。 この番号は、状態を示すインデックスの役割をしますが、状態遷移表コンパイ ラはここを一切見ません。表中で遷移元、遷移先の状態をインデックスで表現 させるので、可読性のためだけです。
  4. スタートセルの2つ右横のセルから右方向に、イベントを全て列挙します。そ して、表の内容を埋めていきます。1つのセルには、半角スラッシュ「/」で区 切って、次の遷移先状態とアクションリストを記述します。遷移先状態はイン デックスで指定します。アクションリストは半角カンマ「,」で区切って複数指 定出来ます。(アクションサブルーチン本体はユーザーが作成します。有限状態 機械はそれをコールするだけです)
  5. 状態遷移が無い場合や、アクションが無い場合は半角ハイフン「-」を指定し ます。状態遷移も無く、アクションも無い場合は、「-/-」と記述しますが、 Excel はこの入力に対してエラーと言って来ます。その場合はシングルクォー ト「'」を最初に入力すればいいことなんですが、煩わしさもあろうかと思い半 角アスタリスク「*」もハイフンと同等としています。ですから「*/*」でも可 です。
  6. スタートセルより上の行、または左のカラムは無視されるので何を記述して も構いません。
  7. 状態遷移表の最後のセル(右下隅)より右に文字を入力してはいけません。


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Kiyoshi Masumoto on June, 15 2001 using texi2html