|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 4804 (0x12c4)
Types: TextFile
Names: »B«
└─⟦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⟧
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;