// 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;
