anchor.diff:      rule attribute_statement:
            "\\([*]" attribute [ "=" expression ] "[*]\\)"
   
  +    rule parameter: Type_item_or_name VAR (',' Type_item_or_name VAR)* 
  +
  +    rule Type_item_or_name:
  +        Type_item
  +        | VAR [ "#" "\\(" expression (',' expression )* "\\)" ]
  +
  +    rule Ifc_type: Type_item_or_name
  +
       rule import_statements:
           "import"
           ( "BDPI" [ c_function_name  "=" ] "function" Return_type
               function_name [ "{" arguments "}" ] "\\)"  [ provisos ] ';'
           | "BVI" [verilog_module_name]  "="
  -            "module" [ [ Type ] ] module_name [ "#"  "\\(" "{" parameter "}" "\\)" ]
  -            "\\(" "{" Ifc_type ifc_name "}" "\\)"  [ provisos ] ';'
  +            "module" [ [ Type ] ] module_name [ "#"  "\\(" parameter "\\)" ]
  +            "\\(" Ifc_type ifc_name "\\)"  [ provisos ] ';'
               module_statements
               importBVI_statements
               "endmodule" [ ":"  module_name ]
           | Package_name  "::"  "[*]" ';'
           )
   
  +    rule method_body_statements:
  +        ( let_statement
  +        | expression ';'
  +        | return_statement
  +        )*
  +
  +    rule method_name: VAR
  +
  +    rule method_predicate: expression
  +
       rule method_declarations:
           "method" 
  -        ( "Type" method_name  [ "\\(" "{" parameter "}" "\\)" ]
  -            [ "if"  "\\("method_predicate"\\)" ]
  -            ';'
  -            [
  -            method_body_statements
  -            return_statement
  -            "endmethod" [ ":" method_name]
  +        ( "Type" method_name  [ "\\(" parameter "\\)" ]
  +            [ "if"  "\\(" method_predicate "\\)" ] ';'
  +            [ method_body_statements
  +              "endmethod" [ ":" method_name]
               ]
  -        | "Action" method_name  "\\(" "{" parameter "}" "\\)"
  -            [ "if"  "\\("method_predicate"\\)" ] ';'
  -            method_body_statements
  -            "endmethod" [ ":" method_name]
  -        | "ActionValue" method_name "\\(" "{" parameter "}" "\\)"
  -            [ "if"  "\\("method_predicate"\\)" ] ';'
  -            method_body_statements
  -            return_statement
  -            "endmethod" [ ":" method_name]
  +        | "Action" method_name  "\\(" parameter "\\)"
  +            "AAA"
  +            [ "if"  "\\(" method_predicate "\\)" ] ';'
  +            [ method_body_statements
  +              "endmethod" [ ":" method_name]
  +            ]
  +        | "ActionValue"
  +            [ "#" "\\(" expression "\\)" ]
  +            method_name "\\(" [ parameter ] "\\)"
  +            [ "if"  "\\(" method_predicate "\\)" ] ';'
  +            [ method_body_statements
  +              #return_statement
  +              "endmethod" [ ":" method_name]
  +            ]
           | [ output_port ] method_name
               "\\(" "{" input_ports "}" "\\)"
               [ enable enable_port ]
  
positive.code: 
      rule rule_name: VAR
  
      rule rule_predicate: expression
  
      rule rule_satements: "RULESST"
  
  
negative.code: #    if  "\\(" x matches tagged Valid .n &&& n > 5 ... "\\)"
  #    "match" pattern  "=" expression ';'
  
      rule argument_item:
          ( "function" "Action" VAR "\\(" ( Type_item | VAR ) VAR "\\)"
          | Type_item VAR
          )
  
      rule arguments:
          argument_item ( ',' argument_item)*
  
      rule function_body_statements:
          variable_declaration
          | let_statement
          | action_statement
  
      rule function_statement:
          "function" Type_item function_name  "\\("[arguments] "\\)"
  