シーケンス識別子階層構造を作成します。
各シーケンス識別子の内容の記述します。
下位シーケンスの設定、変数識別子の設定を行います。
これで、パターンの構成が生成されます。
下図は、ファイル識別子$File[1]の下位にシーケンス識別子作成。
(1) パターン構成
$Seq[1]の次に$Seq[2]設定。
$Seq[1]の下位に$Seq[3]設定。
$Seq[3]の下位に$Seq[5]設定。
$Seq[2]の次に$Seq[4]設定。
(2) パターン解析
パターン解析の順序は、
1.$Seq[1] (解析)
2.$Seq[3]
($Seq[1]の内容に$Seq[3]が設定されている場合に解析)
3.$Seq[5] ($Seq[3]の内容に$Seq[5]が設定されている場合に解析)
4.$Seq[2] (解析)
5.$Seq[4] (解析)
1. $Seq[1]の解析
変数識別子の$Var[28]は、ループです。
$Var[28]は、Lクラスの要素名が--任意--の変数です。
インスタンスの$Var[28]のデータ数分繰り返します。
$Seq[3]があるので、ここに$Seq[3]の内容が展開されます。
2. $Seq[3]の解析
$Var[39]はSクラスで要素名は固定なので、ループはありません。
$Seq[3]の内容は、1回だけ処理されます。
$Seq[3]は、上位$Seq[1]の内容に展開されます。
$Seq[5]があるので、ここに$Seq[5]の内容が展開されます。
3. $Seq[5]の解析
変数識別子の$Var[57],$Var[58],$Var[59]は、ループです。
インスタンスの$Var[57],$Var[58],$Var[59]のデータ数分繰り返します。
$Var[57],$Var[58],$Var[59]は、状態遷移の3つのキーワードです。
4. $Seq[2]の解析
$Seq[2]は、下位シーケンスと変数識別子がありません。
$Seq[1]で展開された内容の後に、$Seq[2]のテキストが追加されます。
5. $Seq[4]の解析
$Seq[4]は、下位シーケンスと変数識別子がありません。
$Seq[2]で展開された内容の後に、$Seq[4]のテキストが追加されます。