anchor.diff:  
   // GRAMMAR OF A PATTERN
   
  -pattern : wildcard_pattern type_annotation?
  +pattern
  + : wildcard_pattern type_annotation?
    | identifier_pattern type_annotation?
    | value_binding_pattern
    | tuple_pattern type_annotation?
    | enum_case_pattern
  - | type_casting_pattern
  + | 'is' type
  + | pattern 'as' type
    | expression_pattern
    ;
   
  
positive.code: // | Any punctuation except ( ,  ')' , '[' , ']' , { , or }
   ;
  
  
  // Expressions
  
  
  // GRAMMAR OF AN EXPRESSION
  
  expression_list : expression (',' expression)* ;
  
  expression
  	:	prefix_operator? postfix_expression
      |	in_out_expression
      |	expression binary_operator expression
      |	expression assignment_operator expression
      |	expression conditional_operator expression
      |	expression type_casting_operator
  	;
  
  // GRAMMAR OF A PREFIX EXPRESSION
  
negative.code: 
  // GRAMMAR OF A TUPLE PATTERN
  
  tuple_pattern : '(' tuple_pattern_element_list? ')'  ;
  tuple_pattern_element_list
  	:	tuple_pattern_element (',' tuple_pattern_element)*
  	;
  tuple_pattern_element : pattern  ;
  
  // GRAMMAR OF AN ENUMERATION CASE PATTERN
  
  enum_case_pattern : type_identifier? '.' enum_case_name tuple_pattern? ;
  
  // GRAMMAR OF A TYPE CASTING PATTERN
  
  