|
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 - metrics - download
Length: 3072 (0xc00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Calculateur, seg_037157, seg_037184, seg_03902d, seg_039083, separate Semantique.Calcul
└─⟦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⟧
separate (Semantique.Calcul) procedure Calculateur (Un_Elem : Ptr_Elt) is R1, R2 : Integer; Err_Affect, Par_Ouvr : exception; begin if Un_Elem.Isfact then Pilfact.Push (Un_Elem.Fact, Pile); elsif Un_Elem.Op = Finop then null; else Getval (R2); case Un_Elem.Op is when 'p' => null; when 'm' => R2 := -R2; when others => Getval (R1); case Un_Elem.Op is when '+' => R2 := R1 + R2; when '-' => R2 := R1 - R2; when '*' => R2 := R1 * R2; when others => raise Par_Ouvr; end case; end case; Pilfact.Push (new Facteur'(R2), Pile); end if; exception when Var_Undef => null; when Err_Affect => Erreurs.Ajouter ("Affectation hors context"); when Par_Ouvr => Erreurs.Ajouter ("Parenthese non fermee."); when Pilfact.Underflow => Erreurs.Ajouter ("Operande manquant pour l'operateur: "); Put (Un_Elem.Op); when Numeric_Error => Erreurs.Ajouter ("Operande manquant pour l'operateur: "); Put (Un_Elem.Op); when others => Erreurs.Ajouter ("Erreur dans l'evaluateur."); end Calculateur;
nblk1=2 nid=0 hdr6=4 [0x00] rec0=24 rec1=00 rec2=01 rec3=00c [0x01] rec0=0e rec1=00 rec2=02 rec3=001 tail 0x21734590c84e24a7eb7d3 0x42a00088462060003