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

⟦f97ec13b2⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Automate, seg_03d06e

Derivation

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

E3 Source Code



package body Automate is


    type Class is (C_Space, C_Point, C_Digit, C_Alpha, C_Oper, C_Unk);
    type Afd is array (Token range <>, Class range <>) of Token;

    Transition : constant Afd (L_Ok .. L_Unk, C_Space .. C_Unk) :=

       -- C_ **         SPACE   ,POINT  ,DIGIT  ,ALPHA   ,OPER  ,UNK
       (

        (L_Ok, L_Ok, L_Ok, L_Ok, L_Unk, L_Unk),  --L_OK

        (L_Start, L_Unk, L_Int, L_Id, L_Oper, L_Unk), --L_START

        (L_Ok, L_Real, L_Int, L_Ok, L_Ok, L_Unk), --L_INT

        (L_Ok, L_Ok, L_Real, L_Ok, L_Ok, L_Unk), --L_REAL

        (L_Ok, L_Ok, L_Ok, L_Ok, L_Ok, L_Unk), --L_OPER

        (L_Ok, L_Ok, L_Id, L_Id, L_Ok, L_Unk), --L_ID

        (L_Ok, L_Ok, L_Ok, L_Ok, L_Ok, L_Ok)  --L_UNK
        );


    function Classthechar (Car : in Character) return Class is
    begin
        case Car is

            when 'a' .. 'z' | 'A' .. 'Z' | '_' | '#' =>
                return C_Alpha;
            when '0' .. '9' =>                 return C_Digit;
            when Ascii.Cr | Ascii.Ht | ' ' =>
                return C_Space;
            when '.' =>
                return C_Point;
            when '+' | '-' =>
                return C_Oper;
            when others =>
                return C_Unk;
        end case;
    end Classthechar;


    function Getstate (Jeton : in Token; Car : in Character) return Token is
    begin
        return Transition (Jeton, Classthechar (Car));
    end Getstate;


    function Iskeyword (Str : in String) return Boolean is
        T : Token;
    begin
        T := Token'Value (Str);
        return (True);
    exception
        when Constraint_Error =>
            return False;
    end Iskeyword;


    function Keywordtotoken (Word : in String) return Token is
    begin
        if Iskeyword (Word) then
            return Token'Value (Word);
        else
            return L_Id;
        end if;
    end Keywordtotoken;


end Automate;  

E3 Meta Data

    nblk1=4
    nid=2
    hdr6=6
        [0x00] rec0=24 rec1=00 rec2=01 rec3=002
        [0x01] rec0=25 rec1=00 rec2=03 rec3=028
        [0x02] rec0=04 rec1=00 rec2=04 rec3=000
        [0x03] rec0=03 rec1=00 rec2=02 rec3=000
    tail 0x21535883685f56de03e83 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 00 00 04 00 01 20 01 0f 65 6e 64 20 41 75 74  ┆         end Aut┆