DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦1e8f529cb⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Enumeration_Value, seg_022cdf, seg_027c5e, seg_027cf9

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with String_Utilities;
procedure Enumeration_Value (S : String;
                             Result : out Enumeration;
                             Prefix : out Boolean;
                             Unique : out Boolean) is
    Already_Matched : Boolean := False;
    Exact : Boolean;
    Match : Boolean;
    Up_S : constant String := String_Utilities.Upper_Case (S);
begin
    Prefix := False;
    Unique := False;
    Result := Enumeration'Last;
    for Enum in Enumeration loop
        declare
            Enum_Image : constant String := Enumeration'Image (Enum);
        begin
            Match := Up_S'Length <= Enum_Image'Length and then
                        Up_S = Enum_Image (1 .. Up_S'Length);
            Exact := Match and then (Up_S'Length = Enum_Image'Length);
        end;
        if Exact then
            Result := Enum;
            Unique := True;
            Prefix := False;
            return;
        elsif Match then
            Unique := not Already_Matched;
            Already_Matched := True;
            Prefix := True;
            Result := Enum;
        end if;
    end loop;
end Enumeration_Value;

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=1d rec1=00 rec2=01 rec3=022
        [0x01] rec0=07 rec1=00 rec2=02 rec3=000
    tail 0x2171e5ba08396634ce664 0x42a00088462060003