|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Automate, seg_03d06e
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
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;
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┆