|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Expression_Simple, seg_046858
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Error, Signe, Terme;
package body Expression_Simple is
procedure Parse (Dyn_Node : in out Dynamic_Node.Object) is
use Lexical_Analyzer;
Inherited, Inherited1, Local_Node_Right, Local_Sub_Node_Left :
Dynamic_Node.Object;
begin
Signe.Parse (Inherited);
Terme.Parse (Local_Sub_Node_Left);
if Dynamic_Node.Does_Exists (Inherited) then
Dynamic_Node.Set_Argument (Inherited, Local_Sub_Node_Left);
else
Inherited := Local_Sub_Node_Left;
end if;
Dynamic_Node.Disconnect (Local_Sub_Node_Left);
while ((Lexical_Analyzer.Get_Token = Plus) or
(Lexical_Analyzer.Get_Token = Minus) or
(Lexical_Analyzer.Get_Token = Ou)) loop
case Lexical_Analyzer.Get_Token is
when Plus =>
Dynamic_Node.Create_Binary_Operator
(Inherited1, Dynamic_Node.Add);
when Minus =>
Dynamic_Node.Create_Binary_Operator
(Inherited1, Dynamic_Node.Subtract);
when Ou =>
Dynamic_Node.Create_Binary_Operator
(Inherited1, Dynamic_Node.Logical_Or);
when others =>
null;
end case;
Lexical_Analyzer.Next;
Terme.Parse (Local_Node_Right);
Dynamic_Node.Set_Argument
(Inherited1, Inherited, Dynamic_Node.Left);
Dynamic_Node.Set_Argument
(Inherited1, Local_Node_Right, Dynamic_Node.Right);
Inherited := Inherited1;
Dynamic_Node.Disconnect (Inherited1);
Dynamic_Node.Disconnect (Local_Node_Right);
end loop;
Dyn_Node := Inherited;
end Parse;
function Is_First (Un_Token : Lexical_Analyzer.Tokens) return Boolean is
use Lexical_Analyzer;
begin
return ((Un_Token = Plus) or (Un_Token = Minus) or
(Un_Token = Left_Bracket) or (Un_Token = Non) or
(Un_Token = Integer_Number) or (Un_Token = Identifier) or
(Un_Token = String_Of_Characters) or
(Un_Token = Complement_Or_Verbe) or
(Un_Token = Complement1) or (Un_Token = Complement2));
end Is_First;
end Expression_Simple;
nblk1=4
nid=2
hdr6=6
[0x00] rec0=1e rec1=00 rec2=01 rec3=000
[0x01] rec0=21 rec1=00 rec2=03 rec3=004
[0x02] rec0=0c rec1=00 rec2=04 rec3=000
[0x03] rec0=03 rec1=7e rec2=de rec3=342
tail 0x215433b4486515bd35077 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 00 01 58 80 1d 61 63 6b 65 74 29 20 6f 72 20 ┆ X acket) or ┆