anchor.diff:              ]
           )
   
  -#    "parameter" parameter_name  EQUAL expression SEMICOLON
  -#    "port" port_name  EQUAL expression SEMICOLON
  -#    "default_clock" clock_name
  -#        [ LPAREN port_name COMMA2 port_name RPAREN ] [ EQUAL expression ] SEMICOLON
  -#    "input_clock" clock_name [ LPAREN port_name COMMA2
  -#        port_name RPAREN ]  EQUAL expression SEMICOLON
  -#    "output_clock" clock_name
  -#         LPAREN port_name [ COMMA2 port_name ] RPAREN SEMICOLON
  -#    "no_reset" SEMICOLON
  -#    "default_reset" clock_name  LPAREN [ port_name ] RPAREN  [ EQUAL expression] SEMICOLON
  -#    "input_reset" clock_name  LPAREN [ port_name ] RPAREN   EQUAL expression SEMICOLON
  -#    "output_reset" clock_name  LPAREN port_name RPAREN SEMICOLON
  -#    "ancestor"  LPAREN clock1 COMMA2 clock2 RPAREN SEMICOLON
  -#    "same_family"  LPAREN clock1 COMMA2 clock2 RPAREN SEMICOLON
  -
  -    rule schedule_statement:
  -         "schedule"  LPAREN ( method_name ) RPAREN  ( "CF" | "SB" | "SBR" | "C" )
  -         LPAREN ( method_name ) RPAREN SEMICOLON
  -
       rule path_statement:
  -        "path" LPAREN port_name1 COMMA2 port_name2 RPAREN  SEMICOLON
  +        "path" LPAREN VAR COMMA VAR RPAREN  SEMICOLON
   
       rule instance_arg:
           Type_item_or_name
  
positive.code:         )
  
  #    "Type" variable_name  EQUAL "Type" LBRACE member COLON expression RBRACE
  #        "Coord" c1  EQUAL Coord{x COLON 1 COMMA2 y COLON foo}SEMICOLON
  
  #    "Type" variable_name  EQUAL Member expression SEMICOLON
  #    "tagged" "Member" [ pattern ]
  #    "tagged" "Type" [ member COLON pattern ]
  #    "tagged" { pattern COMMA2 pattern }
  #    "case"  LPAREN f LPAREN a RPAREN RPAREN  matches
  #        "tagged" "Valid" .x  COLON  return x SEMICOLON
  #        "tagged" "Invalid"  COLON  return 0 SEMICOLON
  
negative.code:         "match"
          LBRACE match_arg (COMMA match_arg)* RBRACE EQUAL expression SEMICOLON
  
      rule module_param:
          Type_item_or_name [ VAR ] [ STAR ]
  
      rule module_declaration:
          "module" [ LBRACKET "Module" RBRACKET ] VAR [ HASH  argument_list ]
          LPAREN [ module_param (COMMA module_param)* ] RPAREN provisos
          module_item
          "endmodule" [ COLON VAR]
  
      rule package_statement:
          "package" VAR SEMICOLON
          package_statement_list
          "endpackage" [ COLON  VAR]
  
  #    Type_item_or_name VAR LARROW VAR argument_list SEMICOLON
  #    Type_item_or_name VAR LARROW VAR argument_list COMMA
  #        "clocked_by" VAR COMMA
  #        "reset_by" reset_name ] RPAREN SEMICOLON
  
      rule tagged_match_arg:
  