|
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: 13312 (0x3400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Feuille, seg_0497d4
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Bounded_String, Text_Io; package body Feuille is function Which (Acell : in Cell) return Tcell is begin return Acell.Kind; end Which; procedure Image (Acell : in Cell) is begin Text_Io.Put ("Type du noeud : "); Text_Io.Put_Line (Tcell'Image (Acell.Kind)); Text_Io.Put ("Contient :"); case Acell.Kind is when Verbe | Complement | Objet | Piece_Courante | Hero | Pnj | Direction | Enum => Text_Io.Put_Line (Bounded_String.Image (Acell.Idattrib)); when Iter => Text_Io.Put_Line (Bounded_String.Image (Struct_Component.Liste_Attribut.Cellvalue (Acell.Aiter). Name)); when Iter_S => Text_Io.Put_Line (Bounded_String.Image (Struct_Component.Liste_Structure.Cellvalue (Acell.Aiter_S).Name)); when Chaine => Text_Io.Put_Line (Bounded_String.Image (Acell.Phrase)); when Entier => Text_Io.Put_Line (Natural'Image (Acell.Nbr)); when Instruction => Image (Acell.Listeinst); Text_Io.New_Line; when Booleen => Text_Io.Put_Line (Boolean'Image (Acell.Bool)); when others => Text_Io.Put_Line (""); end case; if Acell.Left /= null then Text_Io.Put_Line ("<== Gauche."); Feuille.Image (Acell.Left.all); end if; if Acell.Right /= null then Text_Io.Put_Line ("Droite ==>"); Feuille.Image (Acell.Right.all); end if; end Image; function Permute (List : in Liste_Instr.List) return Liste_Instr.List is Tmp_List : Liste_Instr.List; Iterator : Liste_Instr.Listiter; Tmptree : Pcell; begin Iterator := Liste_Instr.Makelistiter (List); while (Liste_Instr.More (Iterator)) loop Liste_Instr.Next (Iterator, Tmptree); Liste_Instr.Attach (Tmptree, Tmp_List); end loop; return Tmp_List; end Permute; function Permute (List : in Liste_Instr_Locale.List) return Liste_Instr_Locale.List is Tmp_List : Liste_Instr_Locale.List; Iterator : Liste_Instr_Locale.Listiter; Tmplocale : Instr_Locale; begin Iterator := Liste_Instr_Locale.Makelistiter (List); while (Liste_Instr_Locale.More (Iterator)) loop Liste_Instr_Locale.Next (Iterator, Tmplocale); Liste_Instr_Locale.Attach (Tmplocale, Tmp_List); end loop; return Tmp_List; end Permute; procedure Image (Alist : Liste_Instr.List) is Tmpiter : Liste_Instr.Listiter; Tmptree : Pcell; begin Tmpiter := Liste_Instr.Makelistiter (Alist); while (Liste_Instr.More (Tmpiter)) loop Liste_Instr.Next (Tmpiter, Tmptree); Image (Tmptree.all); end loop; end Image; procedure Image (Alist : Liste_Instr_Locale.List) is Tmpiter : Liste_Instr_Locale.Listiter; Tmplocale : Instr_Locale; begin Tmpiter := Liste_Instr_Locale.Makelistiter (Alist); while (Liste_Instr_Locale.More (Tmpiter)) loop Text_Io.Put_Line ("Dans Piece : " & Bounded_String.Image (Liste_Instr_Locale.Cellvalue (Tmpiter).Piece)); Liste_Instr_Locale.Next (Tmpiter, Tmplocale); Image (Tmplocale.Liste); end loop; end Image; procedure Addleft (Pere : in out Cell; Fils : in Pcell) is begin Pere.Left := Fils; end Addleft; procedure Addright (Pere : in out Cell; Fils : in Pcell) is begin Pere.Right := Fils; end Addright; function Create (What : Tcell) return Pcell is Tmpcell : Feuille.Pcell; begin Tmpcell := new Feuille.Cell (What); Tmpcell.Left := null; Tmpcell.Right := null; return Tmpcell; end Create; function Create (What : Tcell; Abool : Boolean) return Pcell is Tmpcell : Feuille.Pcell; begin Tmpcell := new Feuille.Cell (What); Tmpcell.Left := null; Tmpcell.Right := null; if What = Booleen then Tmpcell.Bool := Abool; end if; return Tmpcell; end Create; function Create (What : Tcell; Anat : Natural) return Pcell is Tmpcell : Feuille.Pcell; begin Tmpcell := new Feuille.Cell (What); Tmpcell.Left := null; Tmpcell.Right := null; if What = Entier then Tmpcell.Nbr := Anat; end if; return Tmpcell; end Create; function Create (What : Tcell; Astring : String_Table.I_String) return Pcell is Tmpcell : Feuille.Pcell; begin Tmpcell := new Feuille.Cell (What); Tmpcell.Left := null; Tmpcell.Right := null; case What is when Chaine => Bounded_String.Copy (Tmpcell.Phrase, Astring); when Objet | Direction | Piece_Courante | Complement | Hero | Pnj | Verbe | Enum => Bounded_String.Copy (Tmpcell.Idattrib, Astring); when others => null; end case; return Tmpcell; end Create; function Create (What : Tcell; Theiter : Struct_Component.Liste_Attribut.Listiter) return Pcell is Tmpcell : Feuille.Pcell; begin Tmpcell := new Feuille.Cell (What); Tmpcell.Left := null; Tmpcell.Right := null; Tmpcell.Aiter := Theiter; return Tmpcell; end Create; function Create (What : Tcell; Theiter : Struct_Component.Liste_Structure.Listiter) return Pcell is Tmpcell : Feuille.Pcell; begin Tmpcell := new Feuille.Cell (What); Tmpcell.Left := null; Tmpcell.Right := null; Tmpcell.Aiter_S := Theiter; return Tmpcell; end Create; function Create (What : Tcell; Thelist : Liste_Instr.List) return Pcell is Tmpcell : Feuille.Pcell; begin Tmpcell := new Feuille.Cell (What); Tmpcell.Left := null; Tmpcell.Right := null; Tmpcell.Listeinst := Thelist; return Tmpcell; end Create; end Feuille;
nblk1=c nid=b hdr6=12 [0x00] rec0=1b rec1=00 rec2=01 rec3=036 [0x01] rec0=1a rec1=00 rec2=07 rec3=002 [0x02] rec0=01 rec1=00 rec2=04 rec3=012 [0x03] rec0=1b rec1=00 rec2=0a rec3=03c [0x04] rec0=1d rec1=00 rec2=09 rec3=024 [0x05] rec0=06 rec1=00 rec2=08 rec3=01a [0x06] rec0=21 rec1=00 rec2=06 rec3=012 [0x07] rec0=1e rec1=00 rec2=05 rec3=06c [0x08] rec0=16 rec1=00 rec2=03 rec3=000 [0x09] rec0=16 rec1=00 rec2=03 rec3=000 [0x0a] rec0=aa rec1=18 rec2=a0 rec3=000 [0x0b] rec0=9c rec1=80 rec2=00 rec3=000 tail 0x2174de31a865e68b47375 0x42a00088462060003 Free Block Chain: 0xb: 0000 00 02 00 04 80 01 20 01 02 00 00 00 00 03 78 cd ┆ x ┆ 0x2: 0000 00 0c 03 fc 80 10 20 20 77 68 65 6e 20 6f 74 68 ┆ when oth┆ 0xc: 0000 00 00 00 3a 80 2a 64 5f 53 74 72 69 6e 67 2e 43 ┆ : *d_String.C┆