RfcAgiler  パターン構成と解析SSL









     シーケンス識別子階層構造を作成し、各シーケンス識別子の内容の記述と
     下位シーケンスの設定、変数識別子の設定でパターンが生成されます。

      下図は、ファイル識別子$File[1]の下位にシーケンス識別子が作成されたものです。
      out_62 

 (1) パターン構成 
      パターン構成は、$Seq[1] の下位に$Seq{3], $Seq[3]の下位に$Seq[5]、$Seq[1]の次に
      $Seq[2], $Seq[2]の次に$Seq[5]が設定されている構成です。 
      同一階層のシーケンスは、上下に移動することができるので、パターン構成を変える
      ことが出来ます。 

 (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]の解析
       out_63   

        変数識別子の$Var[28]は、ループ(繰り返し)なので、インスタンスの$Var[28]の
        個数分繰り返します。
        $Var[28]は、Lクラスの要素名が--任意--の変数です。 
     $Seq[3]があるので、ここに$Seq[3]の内容が展開されます。 
        内容に$Seq[3]がない場合は、$Seq[3]は展開されません。 

     2. $Seq[3]の解析
       out_64

       変数識別子にループはないので、$Seq[3]の内容は、1回だけ処理され、
       上位$Seq[1]の内容の$Seq[3]に展開されます。
       $Var[39]はSクラスで要素名は固定なので、ループ(繰り返し)はありません。 
       $Seq[5]があるので、ここに$Seq[5]の内容が展開されます。        
       内容に$Seq[5]がない場合は、$Seq[5]は展開されません。 

     3. $Seq[5]の解析
      out_65

       変数識別子の$Var[57],$Var[58],$Var[59]は、ループ(繰り返し)なので、
       インスタンスの$Var[57],$Var[58],$Var[59]の個数分繰り返します。         
        $Var[57],$Var[58],$Var[59]は、状態遷移の3つのキーワードです。

     4. $Seq[2]の解析 
       out_66 

       $Seq[2]は、下位シーケンスと変数識別子がないので、内容を$Seq[1]で展開された
       内容の後に、追加されます。

     5. $Seq[4]の解析 
       out_67  

       $Seq[4]は、下位シーケンスと変数識別子がないので、内容を$Seq[2]で展開された
       内容の後に、追加されます。
       解析した結果のチェックは、「9.2.出力チェック」を参照してください。