anchor.diff:      }
     }
   
  -  void _identifier({bool escapedInQuotes = false}) {
  -    if (escapedInQuotes) {
  +  void _identifier({int escapeChar}) {
  +    if (escapeChar != null) {
         // find the closing quote
  -      while (!_isAtEnd && _peek() != $double_quote) {
  +      while (!_isAtEnd && _peek() != escapeChar) {
           _nextChar();
         }
         // Issue an error if the column name is unterminated
  
positive.code:         _string();
          break;
        case $double_quote:
          _identifier(escapedInQuotes: true);
          break;
        case $backquote:
          if (scanMoorTokens) {
            _inlineDart();
          } else {
            _unexpectedToken();
          }
          break;
        case $space:
  
negative.code:         errors
              .add(TokenizerError('Unterminated column name', _currentLocation));
        } else {
          // consume the closing char
          _nextChar();
          tokens.add(IdentifierToken(true, _currentSpan));
        }
  