|
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: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Liste_Des_Antecedents, seg_04824a, seg_048c41, seg_048caf, seg_048de0
└─⟦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 Antecedent; with Lex; with Follow; with Synchro; with Error; with Traduction_Scenario; package body Liste_Des_Antecedents is procedure Une_Autre_Expression_Conditionnelle (Ok : out Boolean; Value : in out Condition.T_Condition) is use Lex; Correct : Boolean; Val : Condition.T_Condition; begin Correct := False; case Lex.Get_Token is when L_Non => if not (Lex.Next_Token = L_Left_Bracket) then Synchro.Is_On (Error.Antecedent, Follow.Antecedent); else Lex.Next; Parse (Correct, Val); Value := Condition.Make_Node (Op => Condition.Non, Neg_Node => Val); if Correct then if not (Lex.Get_Token = L_Right_Bracket) then Synchro.Is_On (Error.Antecedent, Follow.Antecedent); else Correct := True; Lex.Next; end if; end if; end if; when L_Left_Bracket => Lex.Next; Parse (Correct, Val); Value := Val; if Correct then if not (Lex.Get_Token = L_Right_Bracket) then Synchro.Is_On (Error.Antecedent, Follow.Antecedent); else Correct := True; Lex.Next; end if; end if; when others => Antecedent.Parse (Correct); Value := Condition.Make_Node (The_Expression => Traduction_Scenario.Get_Condition); if not Correct then Synchro.Is_On (Error.Antecedent, Follow.Antecedent); end if; end case; Ok := Correct; end Une_Autre_Expression_Conditionnelle; procedure Expression_Conditionnelle_Bis (Ok : out Boolean; Value : in out Condition.T_Condition) is use Lex; Correct : Boolean; Val, Val1, Val2 : Condition.T_Condition; begin Correct := True; Val1 := Value; case Lex.Get_Token is when L_Et => while (Correct and (Lex.Get_Token = L_Et)) loop Lex.Next; Une_Autre_Expression_Conditionnelle (Correct, Val2); Val := Condition.Make_Node (Op => Condition.Et, Left_Node => Val1, Right_Node => Val2); Val1 := Val; end loop; Value := Val; when others => Correct := True; end case; Ok := Correct; end Expression_Conditionnelle_Bis; procedure Expression_Conditionnelle (Ok : out Boolean; Value : in out Condition.T_Condition) is Correct : Boolean; begin Une_Autre_Expression_Conditionnelle (Correct, Value); if Correct then Expression_Conditionnelle_Bis (Correct, Value); end if; Ok := Correct; end Expression_Conditionnelle; procedure Liste_Des_Antecedents_Bis (Ok : out Boolean; Value : in out Condition.T_Condition) is use Lex; Correct : Boolean; Val, Val1, Val2 : Condition.T_Condition; begin Correct := True; Val1 := Value; case Lex.Get_Token is when L_Ou => while (Correct and (Lex.Get_Token = L_Ou)) loop Lex.Next; Expression_Conditionnelle (Correct, Val2); Val := Condition.Make_Node (Op => Condition.Ou, Left_Node => Val1, Right_Node => Val2); Val1 := Val; end loop; Value := Val; when others => Correct := True; end case; Ok := Correct; end Liste_Des_Antecedents_Bis; procedure Parse (Ok : out Boolean; Value : in out Condition.T_Condition) is Correct : Boolean; begin Expression_Conditionnelle (Correct, Value); if Correct then Liste_Des_Antecedents_Bis (Correct, Value); end if; Ok := Correct; end Parse; end Liste_Des_Antecedents;
nblk1=6 nid=0 hdr6=c [0x00] rec0=1d rec1=00 rec2=01 rec3=092 [0x01] rec0=00 rec1=00 rec2=06 rec3=006 [0x02] rec0=1b rec1=00 rec2=04 rec3=04a [0x03] rec0=1b rec1=00 rec2=05 rec3=034 [0x04] rec0=22 rec1=00 rec2=02 rec3=04c [0x05] rec0=1f rec1=00 rec2=03 rec3=000 tail 0x2174c3a2e86587a9192a5 0x42a00088462060003