anchor.diff:                 | interface_declaration
                  | item_name ( COLONCOLON VAR )*
                       ( call_params<<V>>
  -                    | LBRACE typefieldname COLON expr<<V>> ( COMMA typefieldname COLON expr<<V>> )* RBRACE
  +                    | LBRACE fieldname COLON expr<<V>> ( COMMA fieldname COLON expr<<V>> )* RBRACE
                       | HASH
                       )*
                       {{ return lookup(V, item_name) }}
  
positive.code:                      |  AMPERAMPER  nterm<<V>>
                       |  BAR  nterm<<V>>
                       |  BARBAR  nterm<<V>>
                       |  "%"  nterm<<V>>
                       )*                   {{ return v }}
  
      rule fieldname: VAR
  
      rule typefieldname: VAR
  
      rule nterm<<V>>:
          [ ("!" | "~" | "-" ) ] term<<V>> {{ return term }}
  
negative.code: 
      rule import_statement:
          "import"
          ( r'"BDPI"' [ VAR  EQUAL ]
              FUNCTION VAR [ HASH call_params<<[]>> ]
              function_name argument_list provisos
          | r'"BVI"' [VAR] [ EQUAL ]
  