anchor.diff:        (SEMICOLON|COMMA|MINUS|PLUS|'\''|'"'|'\\'|';'|'='|BRACECLOSE|BLOCKCLOSE)*       // Trailing garbage
       ;
   
  -rootElements:
  -            keyValue | siteUrl | emailAddress | uuId | rootText ;
  +rootElements
  +    : keyValue
  +    | siteUrl
  +    | emailAddress
  +    | uuId
  +    | rootText
  +    ;
   
   rootText
       : VERSION
  
positive.code: 
  // HexWord is 4 hex digits long
  fragment HexDigit: [a-fA-F0-9];
  fragment HexWord: HexDigit HexDigit HexDigit HexDigit ;
  UUID        :        // 550e8400-e29b-41d4-a716-446655440000
                       HexWord HexWord '-' HexWord '-' HexWord '-' HexWord '-' HexWord HexWord HexWord;
  
  
negative.code: // Lexer
  
  // First we match the parts that are useless and make the grammar too hard:
  QUOTE1:       '\\"'     -> skip;
  QUOTE2:       '"'       -> skip;
  QUOTE3:       '\\\\'    -> skip;
  