Jump to content

Ada Programming/Libraries/Standard/Apex

From Wikibooks, open books for an open world

Please note that you cannot actually compile this package.

 package Standard is
    type *Universal_Integer* is [universal_integer];
    type *Universal_Real* is [universal_real];
    type *Universal_Fixed* is [universal_fixed];
    type Boolean is (False, True);
    type Integer is range -2147483648 .. 2147483647;
    type *Root_Integer* is range -2147483648 .. 2147483647;
    type Short_Integer is range -32768 .. 32767;
    type Short_Short_Integer is range -128 .. 127;
    type Long_Integer is range -2147483648 .. 2147483647;
    type Float is digits 6 range -16#FFFFF.F#E+27 .. 16#FFFFF.F#E+27;
    type Short_Float is digits 6 range -16#FFFFF.F#E+27 .. 16#FFFFF.F#E+27;
    type Long_Float is digits 15 range -16#FFFFFFFFFFFFF.8#E+243 ..
                                          16#FFFFFFFFFFFFF.8#E+243;
    type *Root_Real* is digits 15 range -16#FFFFFFFFFFFFF.8#E+243 ..
                                           16#FFFFFFFFFFFFF.8#E+243;
    subtype Natural is Integer range 0 .. 2147483647;
    subtype Positive is Integer range 1 .. 2147483647;
    type Duration is delta 0.0001 range -214748.3648 .. 214748.3647;
    for Duration'Small use 0.0001;
    type Character is (ASCII.NUL, ASCII.SOH, ASCII.STX, ASCII.ETX, ASCII.EOT,
                       ASCII.ENQ, ASCII.ACK, ASCII.BEL, ASCII.BS, ASCII.HT,
                       ASCII.LF, ASCII.VT, ASCII.FF, ASCII.CR, ASCII.SO,
                       ASCII.SI, ASCII.DLE, ASCII.DC1, ASCII.DC2, ASCII.DC3,
                       ASCII.DC4, ASCII.NAK, ASCII.SYN, ASCII.ETB, ASCII.CAN,
                       ASCII.EM, ASCII.SUB, ASCII.ESC, ASCII.FS, ASCII.GS,
                       ASCII.RS, ASCII.US, ' ', '!', '"', '#', '$', '%', '&',
                       ''', '(', ')', '*', '+', ',', '-', '.', '/', '0',
                       '1', '2', '3', '4', '5', '6', '7', '8', '9', ':',
                       ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D',
                       'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
                       'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
                       'Y', 'Z', '[', '\', ']', '^', '_', '`', 'a', 'b',
                       'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
                       'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
                       'w', 'x', 'y', 'z', '{', '|', '}', '~', ASCII.DEL,
                       LATIN_1.CHAR_80, LATIN_1.CHAR_81, LATIN_1.CHAR_82,
                       LATIN_1.CHAR_83, LATIN_1.CHAR_84, LATIN_1.CHAR_85,
                       LATIN_1.CHAR_86, LATIN_1.CHAR_87, LATIN_1.CHAR_88,
                       LATIN_1.CHAR_89, LATIN_1.CHAR_8A, LATIN_1.CHAR_8B,
                       LATIN_1.CHAR_8C, LATIN_1.CHAR_8D, LATIN_1.CHAR_8E,
                       LATIN_1.CHAR_8F, LATIN_1.CHAR_90, LATIN_1.CHAR_91,
                       LATIN_1.CHAR_92, LATIN_1.CHAR_93, LATIN_1.CHAR_94,
                       LATIN_1.CHAR_95, LATIN_1.CHAR_96, LATIN_1.CHAR_97,
                       LATIN_1.CHAR_98, LATIN_1.CHAR_99, LATIN_1.CHAR_9A,
                       LATIN_1.CHAR_9B, LATIN_1.CHAR_9C, LATIN_1.CHAR_9D,
                       LATIN_1.CHAR_9E, LATIN_1.CHAR_9F, ' ', '¡', '¢', '£',
                       '€', '¥', 'Š', '§', 'š', '©', 'ª', '«', '¬', '­', '®',
                       '¯', '°', '±', '²', '³', 'Ž', 'µ', '¶', '·', 'ž', '¹',
                       'º', '»', 'Œ', 'œ', 'Ÿ', '¿', 'À', 'Á', 'Â', 'Ã',
                       'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í',
                       'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×',
                       'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á',
                       'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë',
                       'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ',
                       'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ');
    type Wide_Character is (ASCII.NUL, ASCII.SOH, ASCII.STX, ASCII.ETX,
                            ASCII.EOT, ASCII.ENQ, ASCII.ACK, ASCII.BEL,
                            ASCII.BS, ASCII.HT, ASCII.LF, ASCII.VT, ASCII.FF,
                            ASCII.CR, ASCII.SO, ASCII.SI, ASCII.DLE, ASCII.DC1,
                            ASCII.DC2, ASCII.DC3, ASCII.DC4, ASCII.NAK,
                            ASCII.SYN, ASCII.ETB, ASCII.CAN, ASCII.EM,
                            ASCII.SUB, ASCII.ESC, ASCII.FS, ASCII.GS, ASCII.RS,
                            ASCII.US, ' ', '!', '"', '#', '$', '%', '&', ''',
                            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1',
                            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';',
                            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E',
                            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
                            'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
                            'X', 'Y', 'Z', '[', '\', ']', '^', '_', '`',
                            'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
                            'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
                            's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{',
                            '|', '}', '~', ASCII.DEL, LATIN_1.CHAR_80,
                            LATIN_1.CHAR_81, LATIN_1.CHAR_82, LATIN_1.CHAR_83,
                            LATIN_1.CHAR_84, LATIN_1.CHAR_85, LATIN_1.CHAR_86,
                            LATIN_1.CHAR_87, LATIN_1.CHAR_88, LATIN_1.CHAR_89,
                            LATIN_1.CHAR_8A, LATIN_1.CHAR_8B, LATIN_1.CHAR_8C,
                            LATIN_1.CHAR_8D, LATIN_1.CHAR_8E, LATIN_1.CHAR_8F,
                            LATIN_1.CHAR_90, LATIN_1.CHAR_91, LATIN_1.CHAR_92,
                            LATIN_1.CHAR_93, LATIN_1.CHAR_94, LATIN_1.CHAR_95,
                            LATIN_1.CHAR_96, LATIN_1.CHAR_97, LATIN_1.CHAR_98,
                            LATIN_1.CHAR_99, LATIN_1.CHAR_9A, LATIN_1.CHAR_9B,
                            LATIN_1.CHAR_9C, LATIN_1.CHAR_9D, LATIN_1.CHAR_9E,
                            LATIN_1.CHAR_9F, ' ', '¡', '¢', '£', '€', '¥',
                            'Š', '§', 'š', '©', 'ª', '«', '¬', '­', '®',
                            '¯', '°', '±', '²', '³', 'Ž', 'µ', '¶', '·',
                            'ž', '¹', 'º', '»', 'Œ', 'œ', 'Ÿ', '¿', 'À',
                            'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É',
                            'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò',
                            'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û',
                            'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä',
                            'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í',
                            'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö',
                            '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ',
                            '["100"]', '["101"]', '["102"]', '["103"]',
                            '["104"]', '["105"]', '["106"]', '["107"]',
                            '["108"]', '["109"]', '["10A"]', '["10B"]',
                            '["10C"]', '["10D"]', '["10E"]', '["10F"]',
                            ...
                            ... -- Removed from wide character '["110"]' to '["FFEF"]'
                            ...
                            '["FFF0"]', '["FFF1"]', '["FFF2"]', '["FFF3"]',
                            '["FFF4"]', '["FFF5"]', '["FFF6"]', '["FFF7"]',
                            '["FFF8"]', '["FFF9"]', '["FFFA"]', '["FFFB"]',
                            '["FFFC"]', '["FFFD"]', '["FFFE"]', '["FFFF"]');
    package Ascii is
        Nul : constant Character := *NUL*;
        Soh : constant Character := *SOH*;
        Stx : constant Character := *STX*;
        Etx : constant Character := *ETX*;
        Eot : constant Character := *EOT*;
        Enq : constant Character := *ENQ*;
        Ack : constant Character := *ACK*;
        Bel : constant Character := *BEL*;
        Bs : constant Character := *BS*;
        Ht : constant Character := *HT*;
        Lf : constant Character := *LF*;
        Vt : constant Character := *VT*;
        Ff : constant Character := *FF*;
        Cr : constant Character := *CR*;
        So : constant Character := *SO*;
        Si : constant Character := *SI*;
        Dle : constant Character := *DLE*;
        Dc1 : constant Character := *DC1*;
        Dc2 : constant Character := *DC2*;
        Dc3 : constant Character := *DC3*;
        Dc4 : constant Character := *DC4*;
        Nak : constant Character := *NAK*;
        Syn : constant Character := *SYN*;
        Etb : constant Character := *ETB*;
        Can : constant Character := *CAN*;
        Em : constant Character := *EM*;
        Sub : constant Character := *SUB*;
        Esc : constant Character := *ESC*;
        Fs : constant Character := *FS*;
        Gs : constant Character := *GS*;
        Rs : constant Character := *RS*;
        Us : constant Character := *US*;
        Del : constant Character := *DEL*;
        Exclam : constant Character := '!';
        Sharp : constant Character := '#';
        Percent : constant Character := '%';
        Colon : constant Character := ':';
        Query : constant Character := '?';
        L_Bracket : constant Character := '[';
        R_Bracket : constant Character := ']';
        Underline : constant Character := '_';
        L_Brace : constant Character := '{';
        R_Brace : constant Character := '}';
        Quotation : constant Character := '"';
        Dollar : constant Character := '$';
        Ampersand : constant Character := '&';
        Semicolon : constant Character := ';';
        At_Sign : constant Character := '@';
        Back_Slash : constant Character := '\';
        Circumflex : constant Character := '^';
        Grave : constant Character := '`';
        Bar : constant Character := '|';
        Tilde : constant Character := '~';
        Lc_A : constant Character := 'a';
        Lc_B : constant Character := 'b';
        Lc_C : constant Character := 'c';
        Lc_D : constant Character := 'd';
        Lc_E : constant Character := 'e';
        Lc_F : constant Character := 'f';
        Lc_G : constant Character := 'g';
        Lc_H : constant Character := 'h';
        Lc_I : constant Character := 'i';
        Lc_J : constant Character := 'j';
        Lc_K : constant Character := 'k';
        Lc_L : constant Character := 'l';
        Lc_M : constant Character := 'm';
        Lc_N : constant Character := 'n';
        Lc_O : constant Character := 'o';
        Lc_P : constant Character := 'p';
        Lc_Q : constant Character := 'q';
        Lc_R : constant Character := 'r';
        Lc_S : constant Character := 's';
        Lc_T : constant Character := 't';
        Lc_U : constant Character := 'u';
        Lc_V : constant Character := 'v';
        Lc_W : constant Character := 'w';
        Lc_X : constant Character := 'x';
        Lc_Y : constant Character := 'y';
        Lc_Z : constant Character := 'z';
    end Ascii;
    type String is array (Positive range <>) of Character;
    type Wide_String is array (Positive range <>) of Wide_Character;
    Constraint_Error : exception;
    Numeric_Error : exception renames Constraint_Error;
    Storage_Error : exception;
    Tasking_Error : exception;
    Program_Error : exception;
    type *Anytype* is
        record
            null;
        end record;
 end Standard;