// Copyright 2021, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// Generated using:
//  pub global run charcode \$=dollar \'=single_quote \"=double_quote \
//      \' '\\\n"$`# \t'

/// "Horizontal Tab" control character, common name.
const int $tab = 0x09;

/// "Line feed" control character.
const int $lf = 0x0a;

/// Space character.
const int $space = 0x20;

/// Character `"`, short name.
const int $doubleQuote = 0x22;

/// Character `#`.
const int $hash = 0x23;

/// Character `$`.
const int $dollar = 0x24;

/// Character "'".
const int $singleQuote = 0x27;

/// Character `\`.
const int $backslash = 0x5c;

/// Character `` ` ``.
const int $backquote = 0x60;
