anchor.diff:      rule define_statement:
           "`define" VAR expression
   
  +    rule include_statement:
  +        "`include" STR
  +
       rule ifdef_statement:
           "`ifdef" VAR
              ( function_body_statement )*
  
positive.code: 
      rule module_declaration:
          "module" [ LBRACKET "Module" RBRACKET ] module_name [ HASH  argument_list ]
          LPAREN [ Ifc_type ] [ ifc_name ] [ STAR ] RPAREN provisos
          module_item
          "endmodule" [ COLON module_name]
  
      rule package_statement:
          "package" Package_name SEMICOLON
          ( typedef_statement
          | import_statement
          | interface_declaration
          | module_declaration
          | variable_declaration
          | attribute_statement
          | function_statement
          )*
          "endpackage" [ COLON  Package_name]
  
  #    Ifc_type ifc_name LARROW module_name argument_list SEMICOLON
  #    Ifc_type ifc_name LARROW module_name argument_list COMMA2
  #        "clocked_by" clock_name COMMA2
  #        "reset_by" reset_name ] RPAREN SEMICOLON
  
      rule tagged_match_arg:
          VAR COLON DOT VAR
  #term<<[]>>
  
      rule rule_predicate:
          LPAREN
  
negative.code:         helper_name
          [ LPAREN expression (COMMA expression)* RPAREN ]
          SEMICOLON
  
      rule function_body_statement:
          let_statement
  