|
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 Arbre_Verbes, seg_04957e
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Binary_Trees_Pkg, Our_String, Text_Io; use Our_String; package body Arbre_Verbes is Current_Verb : Verb; function Compare (Verbe1, Verbe2 : Verb) return Integer is begin if Image (Verbe1.Name) < Image (Verbe2.Name) then return -1; else if Image (Verbe1.Name) = Image (Verbe2.Name) then return 0; else return 1; end if; end if; end Compare; procedure Write (Verbe : Verb) is begin Text_Io.Put_Line ("name->" & Image (Verbe.Name) & " base->" & Image (Verbe.Base)); end Write; procedure Show is new Verbs_Tree.Visit (Write); function Affect_Verb (Name, Base : String) return Verb is Tmp_Verbe : Verb; begin Our_String.Free (Tmp_Verbe.Name); Our_String.Free (Tmp_Verbe.Base); Our_String.Copy (Tmp_Verbe.Name, Name); Our_String.Copy (Tmp_Verbe.Base, Base); return Tmp_Verbe; end Affect_Verb; procedure Create (Dico : in out Object) is begin Dico.Root := Verbs_Tree.Create; end Create; procedure Destroy (Dico : in out Object) is begin Verbs_Tree.Destroy (Dico.Root); end Destroy; function Exist (Verbe : String; Dico : Object) return Boolean is begin return Verbs_Tree.Is_Found (Affect_Verb (Verbe, Verbe), Dico.Root); end Exist; procedure Add_New_Verb (Verbe : String; Dico : Object) is begin Current_Verb := Affect_Verb (Verbe, Verbe); Verbs_Tree.Insert (Affect_Verb (Verbe, Verbe), Dico.Root); exception when Verbs_Tree.Duplicate_Value => raise Duplicate_Value; end Add_New_Verb; procedure Add_Synonym (Verbe : String; Dico : Object) is begin Verbs_Tree.Insert (Affect_Verb (Verbe, Image (Current_Verb.Base)), Dico.Root); exception when Verbs_Tree.Duplicate_Value => raise Duplicate_Value; end Add_Synonym; procedure Dump (Dico : Object) is begin Show (Dico.Root, Verbs_Tree.Inorder); end Dump; end Arbre_Verbes;
nblk1=4 nid=4 hdr6=6 [0x00] rec0=24 rec1=00 rec2=01 rec3=01a [0x01] rec0=21 rec1=00 rec2=03 rec3=07c [0x02] rec0=0d rec1=00 rec2=02 rec3=000 [0x03] rec0=0d rec1=00 rec2=02 rec3=000 tail 0x21546b532865e586dce7e 0x42a00088462060003 Free Block Chain: 0x4: 0000 00 00 00 04 80 01 3b 01 02 03 04 00 00 57 26 c5 ┆ ; W& ┆