anchor.diff:      rule declared_item:
           term<<[]>> [ assign_opvalue ]
   
  -    rule variable_declaration_or_call:
  -        ( builtin_type declared_item ( COMMA declared_item )*
  -        | expr<<[]>> [   ( declared_item ( COMMA declared_item )*
  -                         | assign_opvalue
  -                         )
  -                     ]
  -        ) SEMICOLON
  -
       rule for_decl_item:
           # datatype might not be present
           type_decl [ VAR ] assign_opvalue
  
positive.code: 
      rule return_statement:
          TOKRETURN assign_rvalue SEMICOLON
  
      rule group_statement:
          TOKBEGIN
          statement_list
          TOKEND
  
      rule seq_statement:
          TOKSEQ
          statement_list
          TOKENDSEQ
  
      rule action_statement:
          TOKACTIONSTATEMENT [ COLON  VAR] [ SEMICOLON ]
          statement_list
          TOKENDACTION [ COLON VAR]
  
      rule actionvalue_statement:
          TOKACTIONVALUESTATEMENT
          statement_list
          TOKENDACTIONVALUE
  
      rule case_statement:
          TOKCASE paren_expression
  
negative.code:     rule match_brace:
          LBRACE match_arg (COMMA match_arg)* RBRACE
  
      rule group_statement:
            TOKBEGIN statement_list TOKEND
          | TOKSEQ statement_list TOKENDSEQ
          | TOKACTIONSTATEMENT [ COLON  VAR] [ SEMICOLON ]
              statement_list
              TOKENDACTION [ COLON VAR]
          | TOKACTIONVALUESTATEMENT statement_list TOKENDACTIONVALUE
  
      rule single_statement:
            case_statement
          | TOKFOR LPAREN
                  for_decl_item (COMMA for_decl_item)* SEMICOLON
                  assign_rvalue SEMICOLON
  