|
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: 10240 (0x2800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Variable, seg_046593, seg_046959
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧ └─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Structure_Des_Variables; with Create_Structure; with Nos_Chaines; with Lex; package body Variable is type Attribut is (Contenu, Etat, Possession); procedure Autre_Possession_Contenu_Etat (Ok : in out Boolean; Le_Champ : Attribut; Le_Sens : Structure_Des_Variables.Enum_Sens); procedure Existence_Parse (Ok : in out Boolean) is use Lex; begin if (Lex.Get_Token = L_Est) then Create_Structure.Associate_Existence (True); Lex.Next; Ok := True; else if (Lex.Get_Token = L_Sera) then Create_Structure.Associate_Existence (False); Lex.Next; Ok := True; else Ok := False; end if; end if; end Existence_Parse; procedure Description_Parse (Ok : in out Boolean; Le_Sens : Structure_Des_Variables.Enum_Sens) is use Lex; begin if Lex.Get_Token = L_Description then if Lex.Next_Token = L_Colon then if Lex.Next_Token = L_Text then Create_Structure.Associate_Description (Lex.Get_Value, Le_Sens); Lex.Next; Ok := True; else Ok := False; end if; else Ok := False; end if; else Ok := True; end if; end Description_Parse; procedure Position_Parse (Ok : in out Boolean) is use Lex; begin Ok := False; if Lex.Get_Token = L_Position then if Lex.Next_Token = L_Colon then if Lex.Next_Token = L_Id then Create_Structure.Associate_Position (Lex.Get_Value); Lex.Next; Ok := True; end if; end if; end if; end Position_Parse; procedure Etat_Parse (Ok : in out Boolean; Le_Sens : Structure_Des_Variables.Enum_Sens) is use Lex; begin if Lex.Get_Token = L_Etat then if Lex.Next_Token = L_Colon then if Lex.Next_Token = L_Id then Create_Structure.Associate_Etat (Lex.Get_Value, Le_Sens); Lex.Next; Autre_Possession_Contenu_Etat (Ok, Etat, Le_Sens); else Ok := False; end if; else Ok := False; end if; else Ok := True; end if; end Etat_Parse; procedure Possession_Parse (Ok : in out Boolean) is use Lex; Le_Sens : Structure_Des_Variables.Enum_Sens; begin Le_Sens := Structure_Des_Variables.Pas_De_Sens; if Lex.Get_Token = L_Possession then if Lex.Next_Token = L_Colon then if Lex.Next_Token = L_Id then Create_Structure.Associate_Possession (Lex.Get_Value); Lex.Next; Autre_Possession_Contenu_Etat (Ok, Possession, Le_Sens); else Ok := False; end if; else Ok := False; end if; else Ok := True; end if; end Possession_Parse; procedure Contenu_Parse (Ok : in out Boolean) is use Lex; Le_Sens : Structure_Des_Variables.Enum_Sens; begin Le_Sens := Structure_Des_Variables.Pas_De_Sens; if Lex.Get_Token = L_Contenu then if Lex.Next_Token = L_Colon then if Lex.Next_Token = L_Id then Create_Structure.Associate_Contenu (Lex.Get_Value); Lex.Next; Autre_Possession_Contenu_Etat (Ok, Contenu, Le_Sens); else Ok := False; end if; else Ok := False; end if; else Ok := True; end if; end Contenu_Parse; procedure Autre_Possession_Contenu_Etat (Ok : in out Boolean; Le_Champ : Attribut; Le_Sens : Structure_Des_Variables.Enum_Sens) is use Lex; begin if Lex.Get_Token = L_Coma then if Lex.Next_Token = L_Id then case Le_Champ is when Contenu => Create_Structure.Associate_Contenu (Lex.Get_Value); when Etat => Create_Structure.Associate_Etat (Lex.Get_Value, Le_Sens); when Possession => Create_Structure.Associate_Possession (Lex.Get_Value); end case; Lex.Next; Autre_Possession_Contenu_Etat (Ok, Le_Champ, Le_Sens); else Ok := False; end if; else Ok := True; end if; end Autre_Possession_Contenu_Etat; procedure Valeur_Parse (Ok : in out Boolean) is use Lex; begin if Lex.Get_Token = L_Valeur then if Lex.Next_Token = L_Colon then if Lex.Next_Token = L_Number then Create_Structure.Associate_Valeur (Integer'Value (Nos_Chaines.Infinite_String.Image (Lex.Get_Value))); Lex.Next; Ok := True; else Ok := False; end if; else Ok := False; end if; else Ok := True; end if; end Valeur_Parse; end Variable;
nblk1=9 nid=2 hdr6=e [0x00] rec0=24 rec1=00 rec2=01 rec3=04c [0x01] rec0=1f rec1=00 rec2=05 rec3=012 [0x02] rec0=20 rec1=00 rec2=07 rec3=03a [0x03] rec0=1b rec1=00 rec2=04 rec3=086 [0x04] rec0=1d rec1=00 rec2=09 rec3=04c [0x05] rec0=1d rec1=00 rec2=06 rec3=016 [0x06] rec0=07 rec1=00 rec2=03 rec3=000 [0x07] rec0=1f rec1=00 rec2=09 rec3=001 [0x08] rec0=f5 rec1=18 rec2=00 rec3=004 tail 0x21543089686506788983d 0x42a00088462060003 Free Block Chain: 0x2: 0000 00 08 03 bf 80 21 65 6e 75 5f 45 74 61 74 20 28 ┆ !enu_Etat (┆ 0x8: 0000 00 00 00 04 80 01 4c 01 02 20 4c 05 3a 3d 20 46 ┆ L L := F┆