anchor.diff:  
   type_casting_operator : 'is' type | 'as' '?'? type ;
   
  -// GRAMMAR OF A PRIMARY EXPRESSION
  -
  -primary_expression : identifier generic_argument_clause?
  - | literal_expression
  - | self_expression
  - | superclass_expression
  - | closure_expression
  - | parenthesized_expression
  - | implicit_member_expression
  - | wildcard_expression
  - ;
  -
  -// GRAMMAR OF A LITERAL EXPRESSION
  -
  -literal_expression : literal
  - | array_literal | dictionary_literal
  - | '__FILE__' | '__LINE__' | '__COLUMN__' | '__FUNCTION__'  ;
  -array_literal : '[' array_literal_items? ']'  ;
  -array_literal_items : array_literal_item ','?  array_literal_item ',' array_literal_items  ;
  -array_literal_item : expression  ;
  -dictionary_literal : '[' dictionary_literal_items ']' | '[' ':' ']'  ;
  -dictionary_literal_items : dictionary_literal_item ','?  dictionary_literal_item ',' dictionary_literal_items  ;
  -dictionary_literal_item : expression ':' expression  ;
  -
  -// GRAMMAR OF A SELF EXPRESSION
  -
  -self_expression : 'self'
  - | 'self' '.' identifier
  - | 'self' '[' expression ']'
  - | 'self' '.' 'init'
  - ;
  -
  -// GRAMMAR OF A SUPERCLASS EXPRESSION
  -
  -superclass_expression : superclass_method_expression | superclass_subscript_expression  superclass_initializer_expression  ;
  -superclass_method_expression : 'super' '.' identifier  ;
  -superclass_subscript_expression : 'super' '[' expression ']'  ;
  -superclass_initializer_expression : 'super' '.' 'init'  ;
  -
  -// GRAMMAR OF A CLOSURE EXPRESSION
  -
  -closure_expression : '{' closure_signature? statements '}'  ;
  -closure_signature : parameter_clause function_result? 'in'
  - | identifier_list function_result? 'in'
  - | capture_list parameter_clause function_result? 'in'
  - | capture_list identifier_list function_result? 'in'
  - | capture_list 'in'
  - ;
  -capture_list : '[' capture_specifier expression ']'  ;
  -capture_specifier : 'weak' | 'unowned' | 'unowned(safe)' | 'unowned(unsafe)'  ;
  -
  -// GRAMMAR OF A IMPLICIT MEMBER EXPRESSION
  -
  -implicit_member_expression : '.' identifier  ;
  -
  -// GRAMMAR OF A PARENTHESIZED EXPRESSION
  -
  -parenthesized_expression : '('  expression_element_list? ')'  ;
  -expression_element_list : expression_element | expression_element ',' expression_element_list  ;
  -expression_element : expression | identifier ':' expression  ;
  -
  -// GRAMMAR OF A WILDCARD EXPRESSION
  -
  -wildcard_expression : '_'  ;
  -
   // GRAMMAR OF A POSTFIX EXPRESSION
   
  +/*
   postfix_expression : primary_expression
    | postfix_expression postfix_operator
    | function_call_expression
  
positive.code:  | forced_value_expression
   | optional_chaining_expression
   ;
  
  // GRAMMAR OF A FUNCTION CALL EXPRESSION
  
  function_call_expression : postfix_expression parenthesized_expression
   | postfix_expression parenthesized_expression? trailing_closure
   ;
  trailing_closure : closure_expression  ;
  
  // GRAMMAR OF AN INITIALIZER EXPRESSION
  
  initializer_expression : postfix_expression '.' 'init'  ;
  
  // GRAMMAR OF AN EXPLICIT MEMBER EXPRESSION
  
  explicit_member_expression : postfix_expression '.' Decimal_literal
   | postfix_expression '.' identifier generic_argument_clause?
   ;
  
  // GRAMMAR OF A SELF EXPRESSION
  
  postfix_self_expression : postfix_expression '.' 'self' ;
  
  // GRAMMAR OF A DYNAMIC TYPE EXPRESSION
  
  dynamic_type_expression : postfix_expression '.' 'dynamicType'  ;
  
  // GRAMMAR OF A SUBSCRIPT EXPRESSION
  
  subscript_expression : postfix_expression '[' expression_list ']'  ;
  
  // GRAMMAR OF A FORCED_VALUE EXPRESSION
  
  forced_value_expression : postfix_expression '!'  ;
  
  // GRAMMAR OF AN OPTIONAL_CHAINING EXPRESSION
  
  optional_chaining_expression : postfix_expression '?'  ;
  
  // GRAMMAR OF OPERATORS
  
  
negative.code: // | Any punctuation except ( ,  ')' , '[' , ']' , { , or }
   ;
  
  // Expressions
  
  // GRAMMAR OF AN EXPRESSION
  
  expression_list : expression (',' expression)* ;
  
  expression
  	:	prefix_operator expression
      |	in_out_expression
      |	primary_expression
      |	expression binary_operator expression
      |	expression assignment_operator expression
      |	expression conditional_operator expression
      |	expression type_casting_operator
      |	expression postfix_operator
      |	expression parenthesized_expression trailing_closure?
  	|	expression '.' 'init'
   	|	expression '.' Decimal_literal
  	|	expression '.' identifier generic_argument_clause?
  	|	expression '.' 'self'
  	|	expression '.' 'dynamicType'
  	|	expression '[' expression_list ']'
  	|	expression '!'
  	|	expression '?'
  	;
  
  // GRAMMAR OF A PREFIX EXPRESSION
  