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