DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ A

⟦bd4856f4c⟧

    Length: 13152 (0x3360)
    Names: »ADS«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

Hex Dump

0x0000…0020 67 65 6e 65 72 69 63 0d 0a 20 20 74 79 70 65 20 65 6c 65 6d 65 6e 74 20 69 73 20 70 72 69 76 61   ┆generic    type element is priva┆
0x0020…0040 74 65 3b 0d 0a 20 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 5f 6b 65 79   ┆te;    with function compare_key┆
0x0040…0060 28 65 6c 65 6d 65 6e 74 31 2c 20 65 6c 65 6d 65 6e 74 32 20 3a 20 65 6c 65 6d 65 6e 74 29 20 72   ┆(element1, element2 : element) r┆
0x0060…0080 65 74 75 72 6e 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 70 61 63 6b 61 67 65 20 67 65 6e 65 72 69   ┆eturn integer;    package generi┆
0x0080…00a0 63 5f 74 72 65 65 20 69 73 0d 0a 0d 0a 20 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 70 72   ┆c_tree is      type object is pr┆
0x00a0…00c0 69 76 61 74 65 3b 0d 0a 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 69 6e 73 65 72 74 5f 65 6c 65   ┆ivate;      procedure insert_ele┆
0x00c0…00e0 6d 65 6e 74 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65 63 74   ┆ment (the_object : in out object┆
0x00e0…0100 3b 20 74 68 65 5f 65 6c 65 6d 65 6e 74 20 3a 20 65 6c 65 6d 65 6e 74 29 3b 0d 0a 20 20 70 72 6f   ┆; the_element : element);    pro┆
0x0100…0120 63 65 64 75 72 65 20 73 65 61 72 63 68 5f 65 6c 65 6d 65 6e 74 28 74 68 65 5f 6f 62 6a 65 63 74   ┆cedure search_element(the_object┆
0x0120…0140 20 3a 20 6f 62 6a 65 63 74 3b 20 74 68 65 5f 65 6c 65 6d 65 6e 74 20 3a 20 69 6e 20 6f 75 74 20   ┆ : object; the_element : in out ┆
0x0140…0160 65 6c 65 6d 65 6e 74 29 3b 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 63 68 61 6e 67 65 5f 65 6c   ┆element);    procedure change_el┆
0x0160…0180 65 6d 65 6e 74 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65 63 74   ┆ement(the_object : in out object┆
0x0180…01a0 3b 20 74 68 65 5f 65 6c 65 6d 65 6e 74 20 3a 20 65 6c 65 6d 65 6e 74 29 3b 0d 0a 20 20 66 75 6e   ┆; the_element : element);    fun┆
0x01a0…01c0 63 74 69 6f 6e 20 20 63 72 65 61 74 65 5f 6e 65 77 5f 74 72 65 65 20 72 65 74 75 72 6e 20 6f 62   ┆ction  create_new_tree return ob┆
0x01c0…01e0 6a 65 63 74 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 20 65 6c 65 6d 65 6e 74 5f 65 78 69 73 74   ┆ject;    function  element_exist┆
0x01e0…0200 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 3b 20 74 68 65 5f 65 6c 65 6d 65 6e   ┆(the_object : object; the_elemen┆
0x0200…0220 74 20 3a 20 65 6c 65 6d 65 6e 74 29 0d 0a 09 20 20 20 20 72 65 74 75 72 6e 20 62 6f 6f 6c 65 61   ┆t : element)       return boolea┆
0x0220…0240 6e 3b 0d 0a 0d 0a 20 20 70 72 69 76 61 74 65 0d 0a 20 20 20 20 74 79 70 65 20 6f 62 6a 65 63 74   ┆n;      private      type object┆
0x0240…0260 3b 0d 0a 0d 0a 20 20 20 20 74 79 70 65 20 6e 6f 64 65 20 69 73 20 72 65 63 6f 72 64 0d 0a 20 20   ┆;        type node is record    ┆
0x0260…0280 20 20 20 20 63 6f 6e 74 61 69 6e 20 3a 20 65 6c 65 6d 65 6e 74 3b 0d 0a 20 20 20 20 20 20 6c 65   ┆    contain : element;        le┆
0x0280…02a0 66 74 20 20 20 20 3a 20 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 20 20 72 69 67 68 74 20 20 20 3a   ┆ft    : object;        right   :┆
0x02a0…02c0 20 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 65 6e 64 20 72 65 63 6f 72 64 3b 0d 0a 0d 0a 20 20 20   ┆ object;      end record;       ┆
0x02c0…02e0 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 61 63 63 65 73 73 20 6e 6f 64 65 3b 0d 0a 0d 0a   ┆ type object is access node;    ┆
0x02e0…0300 20 20 20 20 76 6f 69 64 5f 74 72 65 65 20 3a 20 63 6f 6e 73 74 61 6e 74 20 6f 62 6a 65 63 74 20   ┆    void_tree : constant object ┆
0x0300…0320 3a 3d 20 6e 75 6c 6c 3b 0d 0a 0d 0a 65 6e 64 20 67 65 6e 65 72 69 63 5f 74 72 65 65 3b 0d 0a 70   ┆:= null;    end generic_tree;  p┆
0x0320…0340 61 63 6b 61 67 65 20 54 41 44 5f 41 43 54 4f 52 20 69 73 0d 0a 0d 0a 20 20 74 79 70 65 20 6f 62   ┆ackage TAD_ACTOR is      type ob┆
0x0340…0360 6a 65 63 74 20 69 73 20 70 72 69 76 61 74 65 3b 0d 0a 20 20 74 79 70 65 20 74 79 70 65 5f 61 63   ┆ject is private;    type type_ac┆
0x0360…0380 74 6f 72 20 69 73 20 28 6e 6f 5f 74 79 70 65 2c 20 66 75 67 69 74 69 66 2c 20 62 69 6e 61 69 72   ┆tor is (no_type, fugitif, binair┆
0x0380…03a0 65 2c 20 64 69 73 63 72 65 74 2c 20 74 65 6d 70 6f 72 65 6c 29 3b 0d 0a 20 20 74 79 70 65 20 70   ┆e, discret, temporel);    type p┆
0x03a0…03c0 6e 61 74 75 72 61 6c 20 69 73 20 61 63 63 65 73 73 20 6e 61 74 75 72 61 6c 3b 0d 0a 0d 0a 20 20   ┆natural is access natural;      ┆
0x03c0…03e0 70 72 6f 63 65 64 75 72 65 20 43 72 65 61 74 65 5f 4e 65 77 5f 41 63 74 6f 72 20 28 74 68 65 5f   ┆procedure Create_New_Actor (the_┆
0x03e0…0400 6f 62 6a 65 63 74 20 3a 20 6f 75 74 20 6f 62 6a 65 63 74 3b 20 0d 0a 09 09 09 20 20 20 20 20 20   ┆object : out object;            ┆
0x0400…0420 74 68 65 5f 4e 61 6d 65 20 3a 20 73 74 72 69 6e 67 3b 20 0d 0a 09 09 09 20 20 20 20 20 20 74 68   ┆the_Name : string;            th┆
0x0420…0440 65 5f 61 64 64 72 65 73 73 20 3a 20 6e 61 74 75 72 61 6c 20 3a 3d 20 30 29 3b 0d 0a 20 20 70 72   ┆e_address : natural := 0);    pr┆
0x0440…0460 6f 63 65 64 75 72 65 20 61 64 64 5f 74 79 70 65 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69   ┆ocedure add_type (the_object : i┆
0x0460…0480 6e 20 6f 75 74 20 6f 62 6a 65 63 74 3b 20 74 68 65 5f 74 79 70 65 20 3a 20 74 79 70 65 5f 61 63   ┆n out object; the_type : type_ac┆
0x0480…04a0 74 6f 72 29 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 5f 6e 61 6d 65   ┆tor);      function compare_name┆
0x04a0…04c0 20 28 6f 62 6a 65 63 74 31 2c 20 6f 62 6a 65 63 74 32 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74   ┆ (object1, object2 : object) ret┆
0x04c0…04e0 75 72 6e 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 77 68 61 74 5f   ┆urn integer;      function what_┆
0x04e0…0500 6e 61 6d 65 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72   ┆name (the_object : object) retur┆
0x0500…0520 6e 20 73 74 72 69 6e 67 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 77 68 61 74 5f 74 79 70 65 20   ┆n string;    function what_type ┆
0x0520…0540 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 74 79 70   ┆(the_object : object) return typ┆
0x0540…0560 65 5f 61 63 74 6f 72 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 77 68 61 74 5f 61 64 64 72 65 73   ┆e_actor;    function what_addres┆
0x0560…0580 73 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 6e   ┆s (the_object : object) return n┆
0x0580…05a0 61 74 75 72 61 6c 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 6f 72 74 5f 61 64 64   ┆atural;      function export_add┆
0x05a0…05c0 72 65 73 73 5f 70 6f 69 6e 74 65 72 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74   ┆ress_pointer(the_object : object┆
0x05c0…05e0 29 20 72 65 74 75 72 6e 20 70 6e 61 74 75 72 61 6c 3b 0d 0a 0d 0a 20 20 70 72 69 76 61 74 65 0d   ┆) return pnatural;      private ┆
0x05e0…0600 0a 20 20 20 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 72 65 63 6f 72 64 0d 0a 20 20 20 20   ┆     type object is record      ┆
0x0600…0620 20 20 6e 61 6d 65 20 3a 20 73 74 72 69 6e 67 28 31 2e 2e 32 30 29 3b 0d 0a 20 20 20 20 20 20 61   ┆  name : string(1..20);        a┆
0x0620…0640 63 74 6f 72 5f 74 79 70 65 20 3a 20 74 79 70 65 5f 61 63 74 6f 72 3b 0d 0a 20 20 20 20 20 20 61   ┆ctor_type : type_actor;        a┆
0x0640…0660 63 74 6f 72 5f 61 64 64 72 65 73 73 20 3a 20 6e 61 74 75 72 61 6c 3b 0d 0a 20 20 20 20 65 6e 64   ┆ctor_address : natural;      end┆
0x0660…0680 20 72 65 63 6f 72 64 3b 0d 0a 0d 0a 65 6e 64 20 54 41 44 5f 41 43 54 4f 52 3b 0d 0a 77 69 74 68   ┆ record;    end TAD_ACTOR;  with┆
0x0680…06a0 20 61 63 74 6f 72 5f 74 72 65 65 3b 0d 0a 0d 0a 70 61 63 6b 61 67 65 20 74 61 64 5f 6d 61 74 65   ┆ actor_tree;    package tad_mate┆
0x06a0…06c0 72 69 61 6c 20 69 73 0d 0a 0d 0a 20 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 70 72 69 76   ┆rial is      type object is priv┆
0x06c0…06e0 61 74 65 3b 0d 0a 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 43 72 65 61 74 65 5f 4e 65 77 5f 4d   ┆ate;      procedure Create_New_M┆
0x06e0…0700 61 74 65 72 69 61 6c 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 75 74 20 6f 62 6a 65 63 74   ┆aterial (the_object : out object┆
0x0700…0720 3b 0d 0a 09 09 09 20 20 20 20 20 20 74 68 65 5f 4e 61 6d 65 20 3a 20 73 74 72 69 6e 67 29 3b 0d   ┆;           the_Name : string); ┆
0x0720…0740 0a 20 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 5f 61 63 74 6f 72 73 20 28 74 68 65 5f 6f 62 6a   ┆   procedure set_actors (the_obj┆
0x0740…0760 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65 63 74 3b 0d 0a 09 09 09 74 68 65 5f 61 63 74   ┆ect : in out object;     the_act┆
0x0760…0780 6f 72 73 20 3a 20 61 63 74 6f 72 5f 74 72 65 65 2e 6f 62 6a 65 63 74 29 3b 0d 0a 20 20 70 72 6f   ┆ors : actor_tree.object);    pro┆
0x0780…07a0 63 65 64 75 72 65 20 67 65 74 5f 61 63 74 6f 72 73 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20   ┆cedure get_actors (the_object : ┆
0x07a0…07c0 6f 62 6a 65 63 74 3b 0d 0a 09 09 09 74 68 65 5f 61 63 74 6f 72 73 20 3a 20 6f 75 74 20 61 63 74   ┆object;     the_actors : out act┆
0x07c0…07e0 6f 72 5f 74 72 65 65 2e 6f 62 6a 65 63 74 29 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d   ┆or_tree.object);    function com┆
0x07e0…0800 70 61 72 65 5f 6e 61 6d 65 20 28 6f 62 6a 65 63 74 31 2c 20 6f 62 6a 65 63 74 32 20 3a 20 6f 62   ┆pare_name (object1, object2 : ob┆
0x0800…0820 6a 65 63 74 29 20 72 65 74 75 72 6e 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74   ┆ject) return integer;      funct┆
0x0820…0840 69 6f 6e 20 77 68 61 74 5f 6e 61 6d 65 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65   ┆ion what_name (the_object : obje┆
0x0840…0860 63 74 29 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 3b 0d 0a 0d 0a 20 20 70 72 69 76 61 74 65 0d   ┆ct) return string;      private ┆
0x0860…0880 0a 20 20 20 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 72 65 63 6f 72 64 0d 0a 20 20 20 20   ┆     type object is record      ┆
0x0880…08a0 20 20 6e 61 6d 65 20 3a 20 73 74 72 69 6e 67 28 31 2e 2e 32 30 29 3b 0d 0a 20 20 20 20 20 20 61   ┆  name : string(1..20);        a┆
0x08a0…08c0 63 74 6f 72 73 20 3a 20 61 63 74 6f 72 5f 74 72 65 65 2e 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20   ┆ctors : actor_tree.object;      ┆
0x08c0…08e0 65 6e 64 20 72 65 63 6f 72 64 3b 0d 0a 0d 0a 65 6e 64 20 74 61 64 5f 6d 61 74 65 72 69 61 6c 3b   ┆end record;    end tad_material;┆
0x08e0…0900 0d 0a 77 69 74 68 20 74 61 64 5f 6d 61 74 65 72 69 61 6c 3b 0d 0a 0d 0a 70 61 63 6b 61 67 65 20   ┆  with tad_material;    package ┆
0x0900…0920 74 61 64 5f 67 6c 6f 62 61 6c 20 69 73 0d 0a 0d 0a 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73   ┆tad_global is     type object is┆
0x0920…0940 20 70 72 69 76 61 74 65 3b 0d 0a 20 74 79 70 65 20 70 6e 61 74 75 72 61 6c 20 69 73 20 61 63 63   ┆ private;   type pnatural is acc┆
0x0940…0960 65 73 73 20 6e 61 74 75 72 61 6c 3b 0d 0a 20 74 79 70 65 20 70 73 74 72 69 6e 67 20 69 73 20 61   ┆ess natural;   type pstring is a┆
0x0960…0980 63 63 65 73 73 20 73 74 72 69 6e 67 3b 0d 0a 0d 0a 20 70 72 6f 63 65 64 75 72 65 20 63 72 65 61   ┆ccess string;     procedure crea┆
0x0980…09a0 74 65 5f 6e 65 77 5f 73 74 61 74 69 6f 6e 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 75 74   ┆te_new_station (the_object : out┆
0x09a0…09c0 20 6f 62 6a 65 63 74 3b 20 74 68 65 5f 6e 61 6d 65 20 3a 20 73 74 72 69 6e 67 29 3b 0d 0a 20 70   ┆ object; the_name : string);   p┆
0x09c0…09e0 72 6f 63 65 64 75 72 65 20 73 65 74 5f 6d 61 74 65 72 69 61 6c 5f 74 79 70 65 20 28 74 68 65 5f   ┆rocedure set_material_type (the_┆
0x09e0…0a00 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65 63 74 3b 0d 0a 09 09 09 20 20 20 20   ┆object : in out object;         ┆
0x0a00…0a20 20 20 6d 61 74 65 72 69 61 6c 5f 74 79 70 65 20 3a 20 74 61 64 5f 6d 61 74 65 72 69 61 6c 2e 6f   ┆  material_type : tad_material.o┆
0x0a20…0a40 62 6a 65 63 74 29 3b 0d 0a 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 5f 73 74 61 74 69 6f 6e 5f   ┆bject);   procedure set_station_┆
0x0a40…0a60 6e 75 6d 62 65 72 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65   ┆number (the_object : in out obje┆
0x0a60…0a80 63 74 3b 0d 0a 09 09 09 09 20 20 74 68 65 5f 61 64 64 72 65 73 73 20 3a 20 6e 61 74 75 72 61 6c   ┆ct;        the_address : natural┆
0x0a80…0aa0 29 3b 0d 0a 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 5f 73 74 61 74 69 6f 6e 5f 6e 75 6d 62 65 72   ┆);   function get_station_number┆
0x0aa0…0ac0 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 6e 61   ┆ (the_object : object) return na┆
0x0ac0…0ae0 74 75 72 61 6c 3b 0d 0a 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 5f 6d 61 74 65 72 69 61 6c 5f   ┆tural;   procedure get_material_┆
0x0ae0…0b00 74 79 70 65 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 3b 0d 0a 09 09 09 20   ┆type (the_object : object;      ┆
0x0b00…0b20 20 20 20 20 20 74 68 65 5f 6d 61 74 65 72 69 61 6c 5f 74 79 70 65 20 3a 20 6f 75 74 20 74 61 64   ┆     the_material_type : out tad┆
0x0b20…0b40 5f 6d 61 74 65 72 69 61 6c 2e 6f 62 6a 65 63 74 29 3b 0d 0a 20 66 75 6e 63 74 69 6f 6e 20 63 6f   ┆_material.object);   function co┆
0x0b40…0b60 6d 70 61 72 65 5f 6e 61 6d 65 28 6f 62 6a 65 63 74 31 2c 20 6f 62 6a 65 63 74 32 20 3a 20 6f 62   ┆mpare_name(object1, object2 : ob┆
0x0b60…0b80 6a 65 63 74 29 20 72 65 74 75 72 6e 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 20 66 75 6e 63 74 69   ┆ject) return integer;     functi┆
0x0b80…0ba0 6f 6e 20 65 78 70 6f 72 74 5f 61 64 64 72 65 73 73 5f 70 6f 69 6e 74 65 72 28 74 68 65 5f 6f 62   ┆on export_address_pointer(the_ob┆
0x0ba0…0bc0 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 70 6e 61 74 75 72 61 6c 3b 0d   ┆ject : object) return pnatural; ┆
0x0bc0…0be0 0a 0d 0a 0d 0a 20 70 72 69 76 61 74 65 0d 0a 20 20 20 74 79 70 65 20 70 6d 61 74 20 69 73 20 61   ┆      private     type pmat is a┆
0x0be0…0c00 63 63 65 73 73 20 74 61 64 5f 6d 61 74 65 72 69 61 6c 2e 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 74   ┆ccess tad_material.object;     t┆
0x0c00…0c20 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 72 65 63 6f 72 64 0d 0a 20 20 20 20 20 6e 61 6d 65 20   ┆ype object is record       name ┆
0x0c20…0c40 3a 20 73 74 72 69 6e 67 28 31 2e 2e 32 30 29 3b 0d 0a 20 20 20 20 20 73 74 61 74 69 6f 6e 20 3a   ┆: string(1..20);       station :┆
0x0c40…0c60 20 6e 61 74 75 72 61 6c 3b 0d 0a 20 20 20 20 20 6d 61 74 65 72 69 61 6c 5f 74 79 70 65 20 3a 20   ┆ natural;       material_type : ┆
0x0c60…0c80 70 6d 61 74 3b 0d 0a 20 20 20 65 6e 64 20 72 65 63 6f 72 64 3b 0d 0a 0d 0a 65 6e 64 20 74 61 64   ┆pmat;     end record;    end tad┆
0x0c80…0ca0 5f 67 6c 6f 62 61 6c 3b 0d 0a 77 69 74 68 20 67 72 6f 75 70 5f 74 72 65 65 3b 0d 0a 0d 0a 70 61   ┆_global;  with group_tree;    pa┆
0x0ca0…0cc0 63 6b 61 67 65 20 74 61 64 5f 6c 6f 63 61 6c 20 69 73 0d 0a 0d 0a 20 20 74 79 70 65 20 6f 62 6a   ┆ckage tad_local is      type obj┆
0x0cc0…0ce0 65 63 74 20 69 73 20 70 72 69 76 61 74 65 3b 0d 0a 20 20 74 79 70 65 20 76 61 72 5f 74 79 70 65   ┆ect is private;    type var_type┆
0x0ce0…0d00 20 69 73 20 28 6e 6f 74 79 70 65 2c 20 74 65 6d 70 2c 20 6e 75 6d 2c 20 67 72 6f 75 70 65 29 3b   ┆ is (notype, temp, num, groupe);┆
0x0d00…0d20 0d 0a 20 20 74 79 70 65 20 70 76 61 72 5f 74 79 70 65 20 69 73 20 61 63 63 65 73 73 20 76 61 72   ┆    type pvar_type is access var┆
0x0d20…0d40 5f 74 79 70 65 3b 0d 0a 20 20 74 79 70 65 20 70 6e 61 74 75 72 61 6c 20 69 73 20 61 63 63 65 73   ┆_type;    type pnatural is acces┆
0x0d40…0d60 73 20 6e 61 74 75 72 61 6c 3b 0d 0a 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 43 72 65 61 74 65   ┆s natural;      procedure Create┆
0x0d60…0d80 5f 6e 65 77 5f 6c 6f 63 61 6c 5f 76 61 72 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 75 74   ┆_new_local_var (the_object : out┆
0x0d80…0da0 20 6f 62 6a 65 63 74 3b 0d 0a 09 09 09 09 20 20 74 68 65 5f 6e 61 6d 65 20 3a 20 73 74 72 69 6e   ┆ object;        the_name : strin┆
0x0da0…0dc0 67 29 3b 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 5f 74 79 70 65 20 28 74 68 65 5f 6f   ┆g);    procedure set_type (the_o┆
0x0dc0…0de0 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65 63 74 3b 0d 0a 09 09 20 20 20 20 20 20   ┆bject : in out object;          ┆
0x0de0…0e00 74 68 65 5f 74 79 70 65 20 3a 20 76 61 72 5f 74 79 70 65 29 3b 0d 0a 20 20 70 72 6f 63 65 64 75   ┆the_type : var_type);    procedu┆
0x0e00…0e20 72 65 20 73 65 74 5f 76 61 6c 75 65 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75   ┆re set_value (the_object : in ou┆
0x0e20…0e40 74 20 6f 62 6a 65 63 74 3b 0d 0a 09 09 20 20 20 20 20 20 20 74 68 65 5f 76 61 6c 75 65 20 3a 20   ┆t object;           the_value : ┆
0x0e40…0e60 6e 61 74 75 72 61 6c 29 3b 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 5f 6d 65 6d 62 65   ┆natural);    procedure set_membe┆
0x0e60…0e80 72 73 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65 63 74 3b 0d   ┆rs (the_object : in out object; ┆
0x0e80…0ea0 0a 09 09 09 20 74 68 65 5f 6d 65 6d 62 65 72 73 20 3a 20 67 72 6f 75 70 5f 74 72 65 65 2e 6f 62   ┆     the_members : group_tree.ob┆
0x0ea0…0ec0 6a 65 63 74 29 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 5f 74 79 70 65 20 28 74 68 65   ┆ject);    function get_type (the┆
0x0ec0…0ee0 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 76 61 72 5f 74 79 70   ┆_object : object) return var_typ┆
0x0ee0…0f00 65 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 5f 76 61 6c 75 65 20 28 74 68 65 5f 6f 62   ┆e;    function get_value (the_ob┆
0x0f00…0f20 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 6e 61 74 75 72 61 6c 3b 0d 0a   ┆ject : object) return natural;  ┆
0x0f20…0f40 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 5f 6d 65 6d 62 65 72 73 20 28 74 68 65 5f 6f 62 6a 65   ┆  function get_members (the_obje┆
0x0f40…0f60 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 67 72 6f 75 70 5f 74 72 65 65 2e 6f   ┆ct : object) return group_tree.o┆
0x0f60…0f80 62 6a 65 63 74 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 5f 6e 61 6d   ┆bject;      function compare_nam┆
0x0f80…0fa0 65 28 6f 62 6a 65 63 74 31 2c 20 6f 62 6a 65 63 74 32 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74   ┆e(object1, object2 : object) ret┆
0x0fa0…0fc0 75 72 6e 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 6f 72   ┆urn integer;      function expor┆
0x0fc0…0fe0 74 5f 76 61 6c 75 65 5f 70 6f 69 6e 74 65 72 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a   ┆t_value_pointer(the_object : obj┆
0x0fe0…1000 65 63 74 29 20 72 65 74 75 72 6e 20 70 6e 61 74 75 72 61 6c 3b 0d 0a 20 20 66 75 6e 63 74 69 6f   ┆ect) return pnatural;    functio┆
0x1000…1020 6e 20 65 78 70 6f 72 74 5f 74 79 70 65 5f 70 6f 69 6e 74 65 72 28 74 68 65 5f 6f 62 6a 65 63 74   ┆n export_type_pointer(the_object┆
0x1020…1040 20 3a 20 6f 62 6a 65 63 74 29 20 20 72 65 74 75 72 6e 20 70 76 61 72 5f 74 79 70 65 3b 0d 0a 0d   ┆ : object)  return pvar_type;   ┆
0x1040…1060 0a 20 20 70 72 69 76 61 74 65 0d 0a 20 20 20 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 72   ┆   private      type object is r┆
0x1060…1080 65 63 6f 72 64 0d 0a 20 20 20 20 20 20 6e 61 6d 65 20 20 3a 20 73 74 72 69 6e 67 20 28 31 2e 2e   ┆ecord        name  : string (1..┆
0x1080…10a0 32 30 29 3b 0d 0a 20 20 20 20 20 20 74 68 65 5f 74 79 70 65 20 3a 20 76 61 72 5f 74 79 70 65 3b   ┆20);        the_type : var_type;┆
0x10a0…10c0 0d 0a 20 20 20 20 20 20 76 61 6c 75 65 20 3a 20 6e 61 74 75 72 61 6c 3b 0d 0a 20 20 20 20 20 20   ┆        value : natural;        ┆
0x10c0…10e0 6d 65 6d 62 65 72 73 20 3a 20 67 72 6f 75 70 5f 74 72 65 65 2e 6f 62 6a 65 63 74 3b 0d 0a 20 20   ┆members : group_tree.object;    ┆
0x10e0…1100 20 20 65 6e 64 20 72 65 63 6f 72 64 3b 0d 0a 0d 0a 65 6e 64 20 74 61 64 5f 6c 6f 63 61 6c 3b 0d   ┆  end record;    end tad_local; ┆
0x1100…1120 0a 77 69 74 68 20 74 61 64 5f 67 6c 6f 62 61 6c 3b 0d 0a 0d 0a 70 61 63 6b 61 67 65 20 74 61 64   ┆ with tad_global;    package tad┆
0x1120…1140 5f 67 72 6f 75 70 20 69 73 0d 0a 0d 0a 20 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 70 72   ┆_group is      type object is pr┆
0x1140…1160 69 76 61 74 65 3b 0d 0a 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 43 72 65 61 74 65 5f 4e 65 77   ┆ivate;      procedure Create_New┆
0x1160…1180 5f 47 72 6f 75 70 5f 4d 65 6d 62 65 72 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 75 74 20   ┆_Group_Member (the_object : out ┆
0x1180…11a0 6f 62 6a 65 63 74 3b 0d 0a 09 09 09 09 20 20 20 20 20 74 68 65 5f 4e 61 6d 65 20 3a 20 73 74 72   ┆object;           the_Name : str┆
0x11a0…11c0 69 6e 67 29 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 5f 6e 61 6d 65   ┆ing);      function compare_name┆
0x11c0…11e0 20 28 6f 62 6a 65 63 74 31 2c 20 6f 62 6a 65 63 74 32 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74   ┆ (object1, object2 : object) ret┆
0x11e0…1200 75 72 6e 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 77 68 61 74 5f   ┆urn integer;      function what_┆
0x1200…1220 6e 61 6d 65 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72   ┆name (the_object : object) retur┆
0x1220…1240 6e 20 73 74 72 69 6e 67 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 77 68 61 74 5f 6d 61 74 65 72   ┆n string;    function what_mater┆
0x1240…1260 69 61 6c 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e   ┆ial (the_object : object) return┆
0x1260…1280 20 74 61 64 5f 67 6c 6f 62 61 6c 2e 6f 62 6a 65 63 74 3b 0d 0a 0d 0a 20 20 70 72 69 76 61 74 65   ┆ tad_global.object;      private┆
0x1280…12a0 0d 0a 20 20 20 20 74 79 70 65 20 70 76 61 72 20 69 73 20 61 63 63 65 73 73 20 74 61 64 5f 67 6c   ┆      type pvar is access tad_gl┆
0x12a0…12c0 6f 62 61 6c 2e 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73   ┆obal.object;      type object is┆
0x12c0…12e0 20 72 65 63 6f 72 64 0d 0a 20 20 20 20 20 20 6e 61 6d 65 20 3a 20 73 74 72 69 6e 67 28 31 2e 2e   ┆ record        name : string(1..┆
0x12e0…1300 32 30 29 3b 0d 0a 20 20 20 20 20 20 61 63 63 65 73 73 5f 76 61 72 20 3a 20 70 76 61 72 3b 0d 0a   ┆20);        access_var : pvar;  ┆
0x1300…1320 20 20 20 20 65 6e 64 20 72 65 63 6f 72 64 3b 0d 0a 0d 0a 65 6e 64 20 74 61 64 5f 67 72 6f 75 70   ┆    end record;    end tad_group┆
0x1320…1340 3b 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 77   ┆;                              w┆
0x1340…1360 69 74 68 20 70 61 72 61 6d 65 74 65 72 5f 74 72 65 65 3b 0d 0a 77 69 74 68 20 6c 6f 63 61 6c 5f   ┆ith parameter_tree;  with local_┆
0x1360…1380 74 72 65 65 3b 0d 0a 77 69 74 68 20 74 61 64 5f 61 62 73 74 72 61 63 74 3b 0d 0a 0d 0a 70 61 63   ┆tree;  with tad_abstract;    pac┆
0x1380…13a0 6b 61 67 65 20 74 61 64 5f 65 78 70 65 72 69 65 6e 63 65 20 69 73 0d 0a 0d 0a 20 20 74 79 70 65   ┆kage tad_experience is      type┆
0x13a0…13c0 20 6f 62 6a 65 63 74 20 69 73 20 70 72 69 76 61 74 65 3b 0d 0a 0d 0a 20 20 70 72 6f 63 65 64 75   ┆ object is private;      procedu┆
0x13c0…13e0 72 65 20 63 72 65 61 74 65 5f 6e 65 77 5f 65 78 70 65 72 69 65 6e 63 65 20 28 74 68 65 5f 6f 62   ┆re create_new_experience (the_ob┆
0x13e0…1400 6a 65 63 74 20 3a 20 6f 75 74 20 6f 62 6a 65 63 74 3b 20 74 68 65 5f 6e 61 6d 65 20 3a 20 73 74   ┆ject : out object; the_name : st┆
0x1400…1420 72 69 6e 67 29 3b 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 61 64 64 5f 70 61 72 61 6d 65 74 65   ┆ring);    procedure add_paramete┆
0x1420…1440 72 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65 63 74 3b 0d 0a   ┆r (the_object : in out object;  ┆
0x1440…1460 09 09 09 20 20 20 74 68 65 5f 70 61 72 61 6d 65 74 65 72 20 3a 20 70 61 72 61 6d 65 74 65 72 5f   ┆      the_parameter : parameter_┆
0x1460…1480 74 72 65 65 2e 6f 62 6a 65 63 74 29 3b 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 61 64 64 5f 6c   ┆tree.object);    procedure add_l┆
0x1480…14a0 6f 63 61 6c 5f 76 61 72 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62   ┆ocal_var (the_object : in out ob┆
0x14a0…14c0 6a 65 63 74 3b 0d 0a 09 09 09 20 20 20 74 68 65 5f 6c 6f 63 61 6c 5f 76 61 72 20 3a 20 6c 6f 63   ┆ject;        the_local_var : loc┆
0x14c0…14e0 61 6c 5f 74 72 65 65 2e 6f 62 6a 65 63 74 29 3b 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 61 64   ┆al_tree.object);    procedure ad┆
0x14e0…1500 64 5f 63 6f 64 65 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65   ┆d_code (the_object : in out obje┆
0x1500…1520 63 74 3b 0d 0a 09 09 20 20 20 20 20 20 74 68 65 5f 63 6f 64 65 20 3a 20 74 61 64 5f 61 62 73 74   ┆ct;          the_code : tad_abst┆
0x1520…1540 72 61 63 74 2e 70 6f 62 6a 65 63 74 29 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74   ┆ract.pobject);      function get┆
0x1540…1560 5f 70 61 72 61 6d 65 74 65 72 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29   ┆_parameter (the_object : object)┆
0x1560…1580 20 72 65 74 75 72 6e 20 70 61 72 61 6d 65 74 65 72 5f 74 72 65 65 2e 6f 62 6a 65 63 74 3b 0d 0a   ┆ return parameter_tree.object;  ┆
0x1580…15a0 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 5f 6c 6f 63 61 6c 5f 76 61 72 20 28 74 68 65 5f 6f 62   ┆  function get_local_var (the_ob┆
0x15a0…15c0 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 6c 6f 63 61 6c 5f 74 72 65 65   ┆ject : object) return local_tree┆
0x15c0…15e0 2e 6f 62 6a 65 63 74 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 5f 63 6f 64 65 20 28 74   ┆.object;    function get_code (t┆
0x15e0…1600 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 74 61 64 5f 61   ┆he_object : object) return tad_a┆
0x1600…1620 62 73 74 72 61 63 74 2e 70 6f 62 6a 65 63 74 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 63   ┆bstract.pobject;      function c┆
0x1620…1640 6f 6d 70 61 72 65 5f 6e 61 6d 65 20 28 6f 62 6a 65 63 74 31 2c 20 6f 62 6a 65 63 74 32 20 3a 20   ┆ompare_name (object1, object2 : ┆
0x1640…1660 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 20 20 70 72 69   ┆object) return integer;      pri┆
0x1660…1680 76 61 74 65 0d 0a 20 20 20 20 74 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 72 65 63 6f 72 64 0d   ┆vate      type object is record ┆
0x1680…16a0 0a 20 20 20 20 20 20 6e 61 6d 65 20 3a 20 73 74 72 69 6e 67 28 31 2e 2e 32 30 29 3b 0d 0a 20 20   ┆       name : string(1..20);    ┆
0x16a0…16c0 20 20 20 20 70 61 72 61 6d 73 20 3a 20 70 61 72 61 6d 65 74 65 72 5f 74 72 65 65 2e 6f 62 6a 65   ┆    params : parameter_tree.obje┆
0x16c0…16e0 63 74 3b 0d 0a 20 20 20 20 20 20 6c 6f 63 61 6c 5f 76 61 72 20 3a 20 6c 6f 63 61 6c 5f 74 72 65   ┆ct;        local_var : local_tre┆
0x16e0…1700 65 2e 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 20 20 63 6f 64 65 20 3a 20 74 61 64 5f 61 62 73 74   ┆e.object;        code : tad_abst┆
0x1700…1720 72 61 63 74 2e 70 6f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 65 6e 64 20 72 65 63 6f 72 64 3b 0d 0a   ┆ract.pobject;      end record;  ┆
0x1720…1740 0d 0a 65 6e 64 20 74 61 64 5f 65 78 70 65 72 69 65 6e 63 65 3b 0d 0a 70 61 63 6b 61 67 65 20 74   ┆  end tad_experience;  package t┆
0x1740…1760 61 64 5f 70 61 72 61 6d 65 74 65 72 20 69 73 0d 0a 0d 0a 20 20 74 79 70 65 20 6f 62 6a 65 63 74   ┆ad_parameter is      type object┆
0x1760…1780 20 69 73 20 70 72 69 76 61 74 65 3b 0d 0a 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 63 72 65 61   ┆ is private;      procedure crea┆
0x1780…17a0 74 65 5f 6e 65 77 5f 70 61 72 61 6d 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 75 74 20 6f   ┆te_new_param (the_object : out o┆
0x17a0…17c0 62 6a 65 63 74 3b 0d 0a 09 09 09 20 20 20 20 20 20 74 68 65 5f 6f 72 64 65 72 20 3a 20 6e 61 74   ┆bject;           the_order : nat┆
0x17c0…17e0 75 72 61 6c 29 3b 0d 0a 20 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 5f 6e 61 6d 65 20 28 74 68   ┆ural);    procedure set_name (th┆
0x17e0…1800 65 5f 6f 62 6a 65 63 74 20 3a 20 69 6e 20 6f 75 74 20 6f 62 6a 65 63 74 3b 20 74 68 65 5f 6e 61   ┆e_object : in out object; the_na┆
0x1800…1820 6d 65 20 3a 20 73 74 72 69 6e 67 29 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 5f   ┆me : string);      function get_┆
0x1820…1840 6f 72 64 65 72 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75   ┆order (the_object : object) retu┆
0x1840…1860 72 6e 20 6e 61 74 75 72 61 6c 3b 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 5f 6e 61 6d 65   ┆rn natural;    function get_name┆
0x1860…1880 20 28 74 68 65 5f 6f 62 6a 65 63 74 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74 75 72 6e 20 73 74   ┆ (the_object : object) return st┆
0x1880…18a0 72 69 6e 67 3b 0d 0a 0d 0a 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 5f 6f 72 64 65   ┆ring;      function compare_orde┆
0x18a0…18c0 72 28 6f 62 6a 65 63 74 31 2c 20 6f 62 6a 65 63 74 32 20 3a 20 6f 62 6a 65 63 74 29 20 72 65 74   ┆r(object1, object2 : object) ret┆
0x18c0…18e0 75 72 6e 20 69 6e 74 65 67 65 72 3b 0d 0a 0d 0a 20 20 70 72 69 76 61 74 65 0d 0a 20 20 20 20 74   ┆urn integer;      private      t┆
0x18e0…1900 79 70 65 20 6f 62 6a 65 63 74 20 69 73 20 72 65 63 6f 72 64 0d 0a 20 20 20 20 20 20 6e 61 6d 65   ┆ype object is record        name┆
0x1900…1920 20 3a 20 73 74 72 69 6e 67 28 31 2e 2e 32 30 29 3b 0d 0a 20 20 20 20 20 20 6f 72 64 65 72 20 3a   ┆ : string(1..20);        order :┆
[…truncated at 200 lines…]