anchor.diff:     : IDENTIFIER ('.' IDENTIFIER)*
      ;
   
  -call
  -   : expression6 '(' expression_list ')'
  -   ;
  -
  -index
  -   : expression6 '[' expression ('..' expression)? ']'
  -   ;
   
   array
      : '({' expression_list '})'
  
positive.code:    ;
  
  variable_name
     : '*'? IDENTIFIER ('=' expression2)?
     ;
  
  constant
  
negative.code:    : 'if' statement ('else' statement)?
     ;
  
  while_stmt
     : 'while''(' expression ')' statement
     ;
  
  do_while_stmt
     : 'do' statement while_stmt '(' expression ')' ';'
     ;
  
  for_stmt
     : 'for' '(' expression? ';' expression? ';' expression? ')' statement
     ;
  
  switch_stmt
     : 'switch' '(' expression ')' block
     ;
  
  case_stmt
     : 'case' expression ('..' expression)? ':'
     ;
  
  default_stmt
     : 'default' ':'
     ;
  
  foreach_stmt
     : 'foreach' '(' expression ':' expression6 ')' statement
     ;
  
  break_stmt
     : 'break' ';'
     ;
  
  continue_stmt
     : 'continue' ';'
     ;
  
  