anchor.diff:      token TOKUNION: "union"
       token TOKWHILE: "while"
   
  -##########
  -########## Datatypes
  -##########
  -
  -    rule Type_item:
  +############################################################################
  +############################# Datatypes ####################################
  +############################################################################
  +
  +    rule builtin_type:
           typevar_item
           | TOKINTEGER | TOKBOOL | TOKSTRING | TOKREAL | TOKNAT | TOKACTION | TOKACTIONVALUE
   
  -    rule Type_nitem:
  -        Type_item
  +    rule type_decl:
  +        builtin_type
           | VAR [ LBRACKET NUM (COLON NUM)* RBRACKET ]
           | CLASSVAR typevar_item_or_var
  -        #| CLASSVAR* ( item_name | typevar_item )
   
       rule formal_item:
           ( function_parameter
  -        | Type_nitem [ item_name ]
  +        | type_decl [ item_name ]
           )
   
       rule param_item:
  
positive.code:         |  TOKAMPERAMPERAMPER  nterm<<V>>
          |  TOKBAR  nterm<<V>>
          |  TOKBARBAR  nterm<<V>>
          |  TOKMATCHES
              ( dot_field_selection
              | LBRACE dot_field_item (COMMA dot_field_item)* RBRACE
              | VAR
              )
          |  TOKPERCENT  nterm<<V>>
          )*  {{ return v }}
  
  
negative.code:         |    (TOKTAGGED term_single)+ [term_single]
          |    BUILTINVAR [ param_list ]
          |    term_single
          |    builtin_type
          |    STR {{ return STR }}
          |    paren_expression
          |    LBRACE assign_rvalue ( COMMA assign_rvalue )* RBRACE
  