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

/// Declare integer constants for each ASCII character.
///
/// The constants all start with "$" to avoid conflicting with other constants.
///
/// For characters that are valid in an identifier, the character iteself
/// follows the "$". For other characters, a symbolic name is used.
/// In some cases, multiple alternative symbolic names are provided.
/// Please stick to using one name per character in your code.
///
/// The symbolic names are, where applicable, the name of the symbol without
/// any "mark", "symbol" "sign" or "accent" suffix.
/// Examples: [$exclamation], [$pipe], [$dollar] and [$grave].
/// For less common symbols, a selection of common names are used.
///
/// For parenthetical markers, there is both a short name, [$lparen]/[$rparen],
/// and a long name, [$open_paren]/ [$close_paren].
///
/// For common HTML entities, the entity names are also useable as symbolic
/// names: [$apos], [$quot], [$lt], [$gt], and [$amp].
library charcode.ascii.dollar_lowercase;

// Control characters.

/// "Null character" control character.
const int $nul = 0x00;

/// "Start of Header" control character.
const int $soh = 0x01;

/// "Start of Text" control character.
const int $stx = 0x02;

/// "End of Text" control character.
const int $etx = 0x03;

/// "End of Transmission" control character.
const int $eot = 0x04;

/// "Enquiry" control character.
const int $enq = 0x05;

/// "Acknowledgment" control character.
const int $ack = 0x06;

/// "Bell" control character.
const int $bel = 0x07;

/// "Backspace" control character.
const int $bs = 0x08;

/// "Horizontal Tab" control character.
const int $ht = 0x09;

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

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

/// "Vertical Tab" control character.
const int $vt = 0x0B;

/// "Form feed" control character.
const int $ff = 0x0C;

/// "Carriage return" control character.
const int $cr = 0x0D;

/// "Shift Out" control character.
const int $so = 0x0E;

/// "Shift In" control character.
const int $si = 0x0F;

/// "Data Link Escape" control character.
const int $dle = 0x10;

/// "Device Control 1" control character (oft. XON).
const int $dc1 = 0x11;

/// "Device Control 2" control character.
const int $dc2 = 0x12;

/// "Device Control 3" control character (oft. XOFF).
const int $dc3 = 0x13;

/// "Device Control 4" control character.
const int $dc4 = 0x14;

/// "Negative Acknowledgment" control character.
const int $nak = 0x15;

/// "Synchronous idle" control character.
const int $syn = 0x16;

/// "End of Transmission Block" control character.
const int $etb = 0x17;

/// "Cancel" control character.
const int $can = 0x18;

/// "End of Medium" control character.
const int $em = 0x19;

/// "Substitute" control character.
const int $sub = 0x1A;

/// "Escape" control character.
const int $esc = 0x1B;

/// "File Separator" control character.
const int $fs = 0x1C;

/// "Group Separator" control character.
const int $gs = 0x1D;

/// "Record Separator" control character.
const int $rs = 0x1E;

/// "Unit Separator" control character.
const int $us = 0x1F;

/// "Delete" control character.
const int $del = 0x7F;

// Visible characters.

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

/// Character '!'.
const int $exclamation = 0x21;

/// Character '"', short name.
const int $quot = 0x22;

/// Character '"'.
const int $quote = 0x22;

/// Character '"'.
const int $double_quote = 0x22;

/// Character '"'.
const int $quotation = 0x22;

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

/// Character '$'.
const int $$ = 0x24;

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

/// Character '%'.
const int $percent = 0x25;

/// Character '&', short name.
const int $amp = 0x26;

/// Character '&'.
const int $ampersand = 0x26;

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

/// Character '''.
const int $apostrophe = 0x27;

/// Character '''.
const int $single_quote = 0x27;

/// Character '('.
const int $lparen = 0x28;

/// Character '('.
const int $open_paren = 0x28;

/// Character '('.
const int $open_parenthesis = 0x28;

/// Character ')'.
const int $rparen = 0x29;

/// Character ')'.
const int $close_paren = 0x29;

/// Character ')'.
const int $close_parenthesis = 0x29;

/// Character '*'.
const int $asterisk = 0x2A;

/// Character '+'.
const int $plus = 0x2B;

/// Character ','.
const int $comma = 0x2C;

/// Character '-'.
const int $minus = 0x2D;

/// Character '-'.
const int $dash = 0x2D;

/// Character '.'.
const int $dot = 0x2E;

/// Character '.'.
const int $fullstop = 0x2E;

/// Character '/'.
const int $slash = 0x2F;

/// Character '/'.
const int $solidus = 0x2F;

/// Character '/'.
const int $division = 0x2F;

/// Character '0'.
const int $0 = 0x30;

/// Character '1'.
const int $1 = 0x31;

/// Character '2'.
const int $2 = 0x32;

/// Character '3'.
const int $3 = 0x33;

/// Character '4'.
const int $4 = 0x34;

/// Character '5'.
const int $5 = 0x35;

/// Character '6'.
const int $6 = 0x36;

/// Character '7'.
const int $7 = 0x37;

/// Character '8'.
const int $8 = 0x38;

/// Character '9'.
const int $9 = 0x39;

/// Character ':'.
const int $colon = 0x3A;

/// Character ';'.
const int $semicolon = 0x3B;

/// Character '<'.
const int $lt = 0x3C;

/// Character '<'.
const int $less_than = 0x3C;

/// Character '<'.
const int $langle = 0x3C;

/// Character '<'.
const int $open_angle = 0x3C;

/// Character '='.
const int $equal = 0x3D;

/// Character '>'.
const int $gt = 0x3E;

/// Character '>'.
const int $greater_than = 0x3E;

/// Character '>'.
const int $rangle = 0x3E;

/// Character '>'.
const int $close_angle = 0x3E;

/// Character '?'.
const int $question = 0x3F;

/// Character '@'.
const int $at = 0x40;

/// Character 'A'.
const int $A = 0x41;

/// Character 'B'.
const int $B = 0x42;

/// Character 'C'.
const int $C = 0x43;

/// Character 'D'.
const int $D = 0x44;

/// Character 'E'.
const int $E = 0x45;

/// Character 'F'.
const int $F = 0x46;

/// Character 'G'.
const int $G = 0x47;

/// Character 'H'.
const int $H = 0x48;

/// Character 'I'.
const int $I = 0x49;

/// Character 'J'.
const int $J = 0x4A;

/// Character 'K'.
const int $K = 0x4B;

/// Character 'L'.
const int $L = 0x4C;

/// Character 'M'.
const int $M = 0x4D;

/// Character 'N'.
const int $N = 0x4E;

/// Character 'O'.
const int $O = 0x4F;

/// Character 'P'.
const int $P = 0x50;

/// Character 'Q'.
const int $Q = 0x51;

/// Character 'R'.
const int $R = 0x52;

/// Character 'S'.
const int $S = 0x53;

/// Character 'T'.
const int $T = 0x54;

/// Character 'U'.
const int $U = 0x55;

/// Character 'V'.
const int $V = 0x56;

/// Character 'W'.
const int $W = 0x57;

/// Character 'X'.
const int $X = 0x58;

/// Character 'Y'.
const int $Y = 0x59;

/// Character 'Z'.
const int $Z = 0x5A;

/// Character '['.
const int $lbracket = 0x5B;

/// Character '['.
const int $open_bracket = 0x5B;

/// Character '\'.
const int $backslash = 0x5C;

/// Character ']'.
const int $rbracket = 0x5D;

/// Character ']'.
const int $close_bracket = 0x5D;

/// Character '^'.
const int $circumflex = 0x5E;

/// Character '^'.
const int $caret = 0x5E;

/// Character '^'.
const int $hat = 0x5E;

/// Character '_'.
const int $_ = 0x5F;

/// Character '_'.
const int $underscore = 0x5F;

/// Character '_'.
const int $underline = 0x5F;

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

/// Character '`'.
const int $grave = 0x60;

/// Character 'a'.
const int $a = 0x61;

/// Character 'b'.
const int $b = 0x62;

/// Character 'c'.
const int $c = 0x63;

/// Character 'd'.
const int $d = 0x64;

/// Character 'e'.
const int $e = 0x65;

/// Character 'f'.
const int $f = 0x66;

/// Character 'g'.
const int $g = 0x67;

/// Character 'h'.
const int $h = 0x68;

/// Character 'i'.
const int $i = 0x69;

/// Character 'j'.
const int $j = 0x6A;

/// Character 'k'.
const int $k = 0x6B;

/// Character 'l'.
const int $l = 0x6C;

/// Character 'm'.
const int $m = 0x6D;

/// Character 'n'.
const int $n = 0x6E;

/// Character 'o'.
const int $o = 0x6F;

/// Character 'p'.
const int $p = 0x70;

/// Character 'q'.
const int $q = 0x71;

/// Character 'r'.
const int $r = 0x72;

/// Character 's'.
const int $s = 0x73;

/// Character 't'.
const int $t = 0x74;

/// Character 'u'.
const int $u = 0x75;

/// Character 'v'.
const int $v = 0x76;

/// Character 'w'.
const int $w = 0x77;

/// Character 'x'.
const int $x = 0x78;

/// Character 'y'.
const int $y = 0x79;

/// Character 'z'.
const int $z = 0x7A;

/// Character '{'.
const int $lbrace = 0x7B;

/// Character '{'.
const int $open_brace = 0x7B;

/// Character '|'.
const int $pipe = 0x7C;

/// Character '|'.
const int $bar = 0x7C;

/// Character '}'.
const int $rbrace = 0x7D;

/// Character '}'.
const int $close_brace = 0x7D;

/// Character '~'.
const int $tilde = 0x7E;
