pattern_file ::= header pattern_list
header ::= VERSION_HEADER V_NUMBER GENERATED_AT NO_OF_PATTERN NUMBER
i_head [o_head] [vi_head] [vo_head]
i_head ::= [Comment] NO_OF_INPUT NUMBER
o_head ::= [Comment] NO_OF_OUTPUT NUMBER
vi_head ::= [Comment] NO_OF_VAR_IDIM NUMBER MAXIMUM_IDIM actual_dim
vo_head ::= [Comment] NO_OF_VAR_ODIM NUMBER MAXIMUM_ODIM actual_dim
actual_dim ::= (L_BRACKET actual_dim_rest R_BRACKET) |
(L_BRACKET R_BRACKET)
actual_dim_rest ::= dim_entry | (actual_dim_rest dim_entry)
dim_entry ::= INT
pattern_list ::= pattern | (pattern_list pattern)
pattern ::= pattern_start pattern_body
pattern_start ::= [Comment] [actual_dim]
pattern_body ::= pattern_entry | (pattern_body pattern_entry)
pattern_entry ::= NUMBER