anchor.diff:          | TOKINTEGER | TOKBOOL | TOKSTRING | TOKREAL | TOKNAT | TOKACTION | TOKACTIONVALUE
   
       rule Type_nitem:
  -        #term_single
           Type_item
           | VAR [ LBRACKET NUM (COLON NUM)* RBRACKET ]
           | CLASSVAR typevar_item_or_var
  -
  -    rule function_parameter:
  -        TOKFUNCTION function_argument
  +        #| CLASSVAR* ( item_name | typevar_item )
   
       rule formal_item:
           ( function_parameter
  
positive.code:         TOKSEQ
          statement_list
          TOKENDSEQ
  
      rule par_statement:
          TOKPAR
          statement_list
          TOKENDPAR
  
      rule action_statement:
          TOKACTIONSTATEMENT [ COLON  VAR] [ SEMICOLON ]
  
negative.code:         TOKPROVISOS param_list
  
      rule paren_expression:
          LPAREN [ assign_rvalue ] RPAREN
  
      rule param_list:
          LPAREN [ assign_rvalue (COMMA assign_rvalue)* ] RPAREN
  
  ##########
  ########## Statements
  ##########
  
      rule declared_item:
          term<<[]>> [ assign_opvalue ]
  
      rule variable_declaration_or_call:
          ( Type_item declared_item ( COMMA declared_item )*
          | expr<<[]>> [   ( declared_item ( COMMA declared_item )*
                           | assign_opvalue
                           )
                       ]
          ) SEMICOLON
  
      rule for_decl_item:
          # datatype might not be present
          Type_nitem [ VAR ] assign_opvalue
  
      rule for_variable_assignment:
          term<<[]>> assign_opvalue
  
      rule return_statement:
          TOKRETURN assign_rvalue SEMICOLON
  
      rule group_statement:
          TOKBEGIN
  