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: ┃ B T

⟦7c82a39b7⟧ TextFile

    Length: 4804 (0x12c4)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Arbre;
package body Table_Symbole is

    package La_Table_Des_Symboles is new Arbre (Item => Pobject);

    L_Arbre : La_Table_Des_Symboles.Object;

    procedure Inserer (Nom : Ptr_String;
                       Element : Pobject;
                       Ok : in out Boolean) is
        Nomt : La_Table_Des_Symboles.Ptr_String;
    begin
        Nomt := new String'(Nom.all);
        La_Table_Des_Symboles.Ajouter (L_Arbre, Nomt, Element, Ok);
    end Inserer;

    procedure Rechercher (Nom : Ptr_String;
                          Element : in out Pobject;
                          Ok : in out Boolean) is
        Nomt : La_Table_Des_Symboles.Ptr_String;
    begin
        Nomt := new String'(Nom.all);
        La_Table_Des_Symboles.Lire (L_Arbre, Nomt, Element, Ok);
    end Rechercher;

    procedure Modifier (Nom : Ptr_String;
                        Element : in out Pobject;
                        Ok : in out Boolean) is
        Nomt : La_Table_Des_Symboles.Ptr_String;
    begin
        Nomt := new String'(Nom.all);
        La_Table_Des_Symboles.Modifier (L_Arbre, Nomt, Element, Ok);
    end Modifier;

    procedure Recherche_Si_Parametre_De (Nom : Ptr_String;
                                         Nom_Param : Ptr_String;
                                         Valeur : in out Pobject;
                                         Ok : in out Boolean) is
        Object : Pobject;
        Nbr_Param : Natural := 0;
        Trouve : Boolean := False;
        I : Natural := 1;
    begin
        Ok := False;
        Rechercher (Nom, Object, Ok);

        if Ok then
            Nbr_Param := Object.Nombre_Parametre;
            while (I <= Nbr_Param) and (not Trouve) loop

                if Nom_Param.all = Object.Parametre (I).Nom.all then
                    Trouve := True;
                    Ok := True;

                    Valeur := Object.Parametre (I);
                end if;
                I := I + 1;
            end loop;
        end if;

    end Recherche_Si_Parametre_De;

    procedure Lire_Parametre_De (Nom : Ptr_String;
                                 Nom_Param : Ptr_String;
                                 Valeur : in out Pobject;
                                 Ok : in out Boolean) is
        Object : Pobject;
        Nbr_Param : Natural := 0;
        Trouve : Boolean := False;
        I : Natural := 1;
    begin
        Ok := False;
        Rechercher (Nom, Object, Ok);

        if Ok then
            Nbr_Param := Object.Nombre_Parametre;
            while (I <= Nbr_Param) and (not Trouve) loop

                if Nom_Param.all = Object.Parametre (I).Nom.all then
                    Trouve := True;
                    Ok := True;

                    Valeur := Object.Parametre (I);
                end if;
                I := I + 1;
            end loop;
        end if;

    end Lire_Parametre_De;

    procedure Lire_Parametre_De (Nom : Ptr_String;
                                 Num_Param : Natural;
                                 Valeur : in out Pobject;
                                 Ok : in out Boolean) is
        Object : Pobject;
    begin
        Ok := False;
        Rechercher (Nom, Object, Ok);

        if Ok then

            if Num_Param <= Object.Nombre_Parametre then
                Valeur := Object.Parametre (Num_Param);
            end if;


        end if;

    end Lire_Parametre_De;

    procedure Modifier_Parametre_De (Nom : Ptr_String;
                                     Num_Param : Natural;
                                     Valeur : in out Pobject;
                                     Ok : in out Boolean) is
        Object : Pobject;
    begin
        Ok := False;
        Rechercher (Nom, Object, Ok);

        if Ok then

            if Num_Param <= Object.Nombre_Parametre then
                Object.Parametre (Num_Param) := Valeur;
            end if;


        end if;

    end Modifier_Parametre_De;

    procedure Modifier_Parametre_De (Nom : Ptr_String;
                                     Nom_Param : Ptr_String;
                                     Valeur : in out Pobject;
                                     Ok : in out Boolean) is
        Object : Pobject;
        Nbr_Param : Natural := 0;
        Trouve : Boolean := False;
        I : Natural := 1;
    begin
        Ok := False;
        Rechercher (Nom, Object, Ok);

        if Ok then
            Nbr_Param := Object.Nombre_Parametre;
            while (I <= Nbr_Param) and (not Trouve) loop

                if Nom_Param.all = Object.Parametre (I).Nom.all then
                    Trouve := True;
                    Ok := True;

                    Object.Parametre (I) := Valeur;
                end if;
                I := I + 1;
            end loop;
        end if;

    end Modifier_Parametre_De;



end Table_Symbole;