anchor.diff:      :   INDENT statements DEDENT
       ;
   
  +match
  +    :   MATCH expression match_block
  +    ;
  +
  +match_block
  +    :   INDENT match_options DEDENT
  +    ;
  +
  +match_options
  +    :   PIPE match_option (NL PIPE match_option)* NL*
  +    ;
  +
  +match_option
  +    :   match_expression block
  +    ;
  +
  +match_expression
  +    :   literal
  +    |   match_expression (PIPE match_expression)+
  +    ;
  +
   inline_block
  -    :   expression
  -    |   '{' statement (';' statement)* '}'
  +    :   ARROW 
  +        (   expression
  +        |   LBRACE statement (SEMI statement)* RBRACE
  +        )
       ;
   
   namespace
  
positive.code:     ;
  
  statements
      :   statement ( (NL | ';') statement)* NL*
      ;
  
  statement
      :   namespace
      |   enum_block
      |   if_block
      |   foreach_block
      |   while_block
  
negative.code: 
  // §3.11 Separators
  
  LPAREN          :   '(';
  RPAREN          :   ')';
  LBRACE          :   '{';
  RBRACE          :   '}';
  LBRACK          :   '[';
  RBRACK          :   ']';
  SEMI            :   ';';
  COMMA           :   ',';
  DOT             :   '.';
  
  // §3.12 Operators
  
  ARROW           :   '->';
  ELIPSES         :   '..';
  
  ASSIGN          :   '=';
  GT              :   '>';
  LT              :   '<';
  BANG            :   '!';
  TILDE           :   '~';
  QUESTION        :   '?';
  COLON           :   ':';
  EQUAL           :   '==';
  LE              :   '<=';
  GE              :   '>=';
  NOTEQUAL        :   '!=';
  AND             :   '&&';
  OR              :   '||';
  INC             :   '++';
  DEC             :   '--';
  ADD             :   '+';
  SUB             :   '-';
  MUL             :   '*';
  SLASH           :   '/';
  BITAND          :   '&';
  PIPE            :   '|';
  CARET           :   '^';
  MOD             :   '%';
  
  ADD_ASSIGN      :   '+=';
  SUB_ASSIGN      :   '-=';
  MUL_ASSIGN      :   '*=';
  DIV_ASSIGN      :   '/=';
  AND_ASSIGN      :   '&=';
  OR_ASSIGN       :   '|=';
  XOR_ASSIGN      :   '^=';
  MOD_ASSIGN      :   '%=';
  LSHIFT_ASSIGN   :   '<<=';
  RSHIFT_ASSIGN   :   '>>=';
  URSHIFT_ASSIGN  :   '>>>=';
  
  // §3.8 Identifiers (must appear after all keywords in the grammar)
  
  