anchor.diff:          | TOKEXPORT VAR [ LPAREN DOT DOT RPAREN ] SEMICOLON
           | TOKINSTANCE typevar_item
               [ provisos_clause ] SEMICOLON
  -            ( declaration_item )*
  +            ( single_declaration )*
               TOKENDINSTANCE [ COLON VAR ]
           | TOKTYPECLASS typevar_item
               [ TOKDEPENDENCIES LPAREN dep_item (COMMA dep_item)* RPAREN ]
               SEMICOLON
  -            ( declaration_item )*
  +            ( single_declaration )*
               TOKENDTYPECLASS [ COLON VAR ]
   
       rule goal:
  -        ( declaration_item
  -        | TOKPACKAGE VAR SEMICOLON ( declaration_item )* TOKENDPACKAGE [ COLON  VAR]
  +        ( single_declaration
  +        | TOKPACKAGE VAR SEMICOLON ( single_declaration )* TOKENDPACKAGE [ COLON  VAR]
           )* ENDTOKEN
   
   %%
  
positive.code:     rule match_brace:
          LBRACE match_arg (COMMA match_arg)* RBRACE
  
      rule statement_with_value:
            TOKBEGIN statement_list TOKEND
          | TOKSEQ statement_list TOKENDSEQ
          | TOKACTIONSTATEMENT [ COLON  VAR] [ SEMICOLON ]
  
negative.code:             )
              TOKENDCASE
  
      rule statement_or_declaration:
            TOKFUNCTION [ Type_list ]
              [function_name]
              [ formal_list ]
              [ provisos_clause ]
              ( equal_value SEMICOLON
              | SEMICOLON [ ( single_statement)+ TOKENDFUNCTION [ COLON  function_name] ]
              )
          | ( TOKLET ( VAR | LBRACE VAR (COMMA VAR)* RBRACE) assign_opvalue
            | typevar_item declared_item ( COMMA declared_item )*
            | expr<<[]>>
                [   ( declared_item ( COMMA declared_item )*
                    | assign_opvalue
                    )
                ]
            ) SEMICOLON
          | rule_statement
  
      rule single_statement_no_declaration:
            TOKFOR LPAREN
                  for_decl_item (COMMA for_decl_item)* SEMICOLON
                  assign_rvalue SEMICOLON
  