|
|
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: 1065 (0x429)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
separate (Semantique.Calcul)
function Lirelem (Un_Token : Lexical.Token; Une_Valeur : Integer)
return Ptr_Elt is
C : Character;
Wstr : String (1 .. 3) := "' '";
begin
if Un_Token = L_Ok then
return new Elt'(False, Finop);
elsif (Un_Token = L_Number) or else (Un_Token = L_Id) then
Precoper := False;
return new Elt'(True, new Facteur'(Une_Valeur));
end if;
case Un_Token is
when L_Plus =>
if Precoper then
C := 'p';
else
C := '+';
end if;
when L_Sub =>
if Precoper then
C := 'm';
else
C := '-';
end if;
when L_Star =>
C := '*';
when L_Open =>
C := '(';
when L_Close =>
C := ')';
when others =>
Op_Inconnu := C;
raise Err_Op;
end case;
Precoper := C /= ')';
Wstr (2) := C;
return new Elt'(False, Operateur'Value (Wstr));
end Lirelem;