|
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 - download
Length: 5120 (0x1400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Lexical, seg_03d070
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Bounded_String, Source, Automate, Text_Io; use Automate, Bounded_String; package body Lexical is Currentvalue : Variable_String (80); Currenttoken : Token; procedure Init is begin Source.Init; end Init; function Gettoken return Token is begin return Currenttoken; end Gettoken; function Getvalue return String is begin return Bounded_String.Image (Currentvalue); end Getvalue; function Atend (Handle : in T_File) return Boolean is begin return Source.Atend (Handle); end Atend; procedure Next (Handle : in T_File) is Nextstate : Token := L_Start; begin Bounded_String.Free (Currentvalue); Currenttoken := Nextstate; Search_Token: loop case Nextstate is when L_Ok => Source.Unget; exit Search_Token; when L_Start => Source.Next (Handle); if (Source.Value = Source.Eof) then Nextstate := L_Ok; Currenttoken := L_Eof; else Currenttoken := Nextstate; Nextstate := Automate.Getstate (Currenttoken, Source.Value); end if; when L_Unk => Currenttoken := L_Unk; Bounded_String.Append (Currentvalue, Source.Value); exit Search_Token; when others => Bounded_String.Append (Currentvalue, Source.Value); Source.Next (Handle); if (Source.Value = Source.Eof) then Nextstate := L_Ok; else Currenttoken := Nextstate; Nextstate := Automate.Getstate (Currenttoken, Source.Value); if (Nextstate = L_Unk) then Nextstate := L_Ok; end if; end if; end case; end loop Search_Token; if (Currenttoken = L_Id) then Currenttoken := Automate.Keywordtotoken (Bounded_String.Image (Currentvalue)); end if; end Next; end Lexical;
nblk1=4 nid=2 hdr6=6 [0x00] rec0=35 rec1=00 rec2=01 rec3=00e [0x01] rec0=13 rec1=00 rec2=03 rec3=046 [0x02] rec0=1e rec1=00 rec2=04 rec3=000 [0x03] rec0=0a rec1=00 rec2=03 rec3=000 tail 0x21535885485f56de17583 0x42a00088462060003 Free Block Chain: 0x2: 0000 00 00 00 10 80 0a 64 20 4c 65 78 69 63 61 6c 3b ┆ d Lexical;┆