|
|
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: 2534 (0x9e6)
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⟧
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦e24fb53b7⟧
└─⟦this⟧
separate (Generic_Expression)
package body Binary_Expression is
function Make (The_Operator : System_Defined.Operators;
The_Left_Operand : Generic_Expression.Object;
The_Right_Operand : Generic_Expression.Object)
return Object is
begin
return Object'(Owner => System,
The_System_Operator => The_Operator,
The_Left_Operand => The_Left_Operand,
The_Right_Operand => The_Right_Operand);
end Make;
function Make (The_Operator : User_Defined_Operators;
The_Left_Operand : Generic_Expression.Object;
The_Right_Operand : Generic_Expression.Object)
return Object is
begin
return Object'(Owner => User,
The_User_Operator => The_Operator,
The_Left_Operand => The_Left_Operand,
The_Right_Operand => The_Right_Operand);
end Make;
procedure Put (The_Object : Object; Where : Output_Stream.Object) is
use Output_Stream;
begin
Put (The_Object.The_Left_Operand, Where);
case The_Object.Owner is
when System =>
Put (" " &
System_Defined.Image (The_Object.The_System_Operator) &
" ", Where);
when User =>
Put (" " & User_Defined_Image (The_Object.The_User_Operator) &
" ", Where);
end case;
Put (The_Object.The_Right_Operand, Where);
end Put;
function Evaluate (The_Object : Object) return Integer is
The_Left_Value, The_Right_Value : Integer;
begin
The_Left_Value := Evaluate (The_Object.The_Left_Operand);
The_Right_Value := Evaluate (The_Object.The_Right_Operand);
case The_Object.Owner is
when System =>
return System_Defined.Evaluate
(Using_Operator => The_Object.The_System_Operator,
Left => The_Left_Value,
Right => The_Right_Value);
when User =>
return User_Defined_Evaluate
(Using_Operator => The_Object.The_User_Operator,
Left => The_Left_Value,
Right => The_Right_Value);
end case;
end Evaluate;
end Binary_Expression;