anchor.diff:      rule match_brace:
           LBRACE match_arg (COMMA match_arg)* RBRACE
   
  -    rule match_statement:
  -        TOKMATCH
  -        match_brace
  -        ( EQUAL | LARROW ) assign_value SEMICOLON
  -
       rule single_statement:
             action_statement
           | actionvalue_statement
           | case_statement
  -        | for_statement
  +        | TOKFOR LPAREN
  +                for_decl_item (COMMA for_decl_item)* SEMICOLON
  +                assign_rvalue SEMICOLON
  +                for_variable_assignment ( COMMA for_variable_assignment )*
  +            RPAREN
  +            single_statement
           | function_declaration
           | group_statement
  -        | if_statement
  +        | TOKIF paren_expression single_statement [ TOKELSE single_statement ]
           | let_statement
  -        | match_statement
  -        | par_statement
  +        | TOKMATCH match_brace assign_opvalue SEMICOLON
  +        | TOKPAR statement_list TOKENDPAR
           | return_statement
           | rule_statement
           | seq_statement
  -        | while_statement
  +        | TOKWHILE paren_expression
  +            ( action_statement
  +            | group_statement
  +            | seq_statement
  +            | VAR SEMICOLON
  +            )
           | variable_declaration_or_call
   
       rule statement_list:
  
positive.code:         TOKPROVISOS param_list
  
      rule paren_expression:
          LPAREN [ assign_value ] RPAREN
  
      rule param_list:
          LPAREN [ assign_value (COMMA assign_value)* ] RPAREN
  
  ##########
  ########## Statements
  ##########
  
      rule declared_item:
          term<<[]>> [ ( EQUAL | LARROW ) assign_value ]
  
      rule variable_declaration_or_call:
          ( Type_item declared_item ( COMMA declared_item )*
          | expr<<[]>> [   ( declared_item ( COMMA declared_item )*
                           | ( EQUAL | LEQ | LARROW) assign_value
                           )
                       ]
          ) SEMICOLON
  
      rule for_decl_item:
          # datatype might not be present
          Type_nitem [ VAR ] ( EQUAL | LEQ ) assign_value
  
      rule for_variable_assignment:
          term<<[]>> ( EQUAL | LEQ | LARROW ) assign_value
  
      rule for_statement:
          TOKFOR LPAREN
              for_decl_item (COMMA for_decl_item)* SEMICOLON
              assign_value SEMICOLON
              for_variable_assignment ( COMMA for_variable_assignment )* RPAREN
          single_statement
  
      rule while_statement:
          TOKWHILE paren_expression
          ( action_statement
          | group_statement
          | seq_statement
          | VAR SEMICOLON
          )
  
      rule return_statement:
          TOKRETURN assign_value SEMICOLON
  
      rule group_statement:
          TOKBEGIN
  
negative.code: 
      rule interface_declaration:
          TOKINTERFACE [ CLASSVAR* VAR [VAR]]
          ( equal_value SEMICOLON
          | [ typevar_item ] [SEMICOLON]
              ( method_declaration
              | subinterface_declaration
  