anchor.diff:  //    " DoubleStringCharacters[opt] "
   //    ' SingleStringCharacters[opt] '
   StringLiteral
  -: '"' DoubleStringCharacters? '"'
  -| '\'' SingleStringCharacters? '\''
  +: ('"' DoubleStringCharacters? '"'|'\'' SingleStringCharacters? '\'')
   ;
   
   // DoubleStringCharacters::
  
positive.code: //     NonEscapeCharacter
  fragment
  CharacterEscapeSequence
  : SingleEscapeCharacter
  | NonEscapeCharacter
  ;
  
  // SingleEscapeCharacter::one of
  
negative.code: //    LineContinuation
  fragment
  DoubleStringCharacter
  : (~["\\\n\r\u2028\u2029]|'\\' EscapeSequence|LineContinuation)
  ;
  
  // SingleStringCharacter::
  