A sequence identifier hierarchy is created, and patterns are generated by
describing the contents of each sequence identifier, setting subsequences,
and setting variable identifiers.
The figure below shows a sequence identifier created under the file identifier
$File[1].
(1) Pattern structure
The pattern construction is $Seq{3] under $Seq[1], $Seq[5] under $Seq[3],
$Seq[2] after $Seq[1], $Seq[2 ] followed by $Seq[4].
Sequences in the same layer can be moved up and down,
so you can change the pattern configuration.
(2)
Pattern analysis
The order of pattern analysis is
a.
$Seq[1] (parse unconditionally)
b.
$Seq[3] (parse if $Seq[3] is set in the contents of $Seq[1])
c.
$Seq[5] (parse if $Seq[5] is set in the contents of $Seq[3])
e.
$Seq[2] (parse unconditionally)
f.
$Seq[4] (parse unconditionally)
1. Parsing $Seq[1]
The variable identifier $Var[28] is a loop (repetition),
so it repeats for the number of instances $Var[28].
$Var[28] is a variable whose element name is --arbitrary--of
Lclass.
Since we have $Seq[3], the contents of $Seq[3] will be expanded here.
If there is no $Seq[3] in the contents, $Seq[3] is not expanded.
2.
Parsing $Seq[3]
Since
there is no loop over variable identifiers, the contents of $Seq[3] are
processed only once, expanding to $Seq[3] above the contents of $Seq[1].
$Var[39] is S class and the element name is fixed, so there is no loop
(repetition).
There is $Seq[5], so the contents of $Seq[5] are expanded here.
If there is no $Seq[5] in the contents, $Seq[5] will not be expanded.
3.
Parsing $Seq[5]
Variable identifiers $Var[57], $Var[58], $Var[59] are loops (repetition),
so the number of instances $Var[57], $Var[58], $Var[59]
I repeat.
$Var[57],$Var[58],$Var[59] are three keywords for state transitions.
4.
Parsing $Seq[2]
$Seq[2]
has no subsequences and variable identifiers,
so the contents are added after the contents expanded in $Seq[1].
5.
Parsing $Seq[4]
$Seq[4]
has no subsequences and variable identifiers,
so its contents are added after the contents expanded in $Seq[2].
Please refer to "9.2. Output check" for the check of the analysis result.