anchor.diff:              [ "reset_by" clock_name] SEMICOLON
           )
   
  -    rule subinterface_declarations: "SUBINTER"
  +    rule subinterface_declarations:
  +        "interface" ifc_name VAR EQUAL expression SEMICOLON
   
       rule interface_arg:
  -        "type" Type_name
  +        ["numeric"] "type" Type_name
   
       rule interface_declarations:
  -        "interface" ifc_name 
  +        "interface" ifc_name [VAR]
           ( SEMICOLON
               ( method_declarations
  -            #| subinterface_declarations
  +            | attribute_statement
  +            | subinterface_declarations
               )*
               "endinterface" [ COLON ifc_name ]
           | HASH LPAREN interface_arg ( COMMA interface_arg)* RPAREN SEMICOLON
               ( method_declarations
  -            #| subinterface_declarations
  +            | attribute_statement
  +            | subinterface_declarations
               )*
               "endinterface" [ COLON ifc_name ]
           )
  
positive.code: 
      rule module_statements: "MODSTA"
  
      rule output_port: VAR
  
      rule port_name1: VAR
  
      rule port_name2: VAR
  
negative.code:         | method_declarations
          | module_declarations
          | let_statement
          | package_statement
  
      rule goal:
          (top_level_statements)* ENDTOKEN
  