|
|
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 Parse, seg_02f363
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Lex;
--use Lex;
with Text_Io;
package body Parse is
procedure Error is
begin
Text_Io.Put ("Error ...");
Text_Io.Put_Line (" ");
end Error;
procedure Value is
begin
case Lex.Get_Token is
when (Lex.Id) =>
Lex.Next;
when Lex.Token'(Lex.Int) =>
Lex.Next;
when Lex.Token'(Lex.Hour) =>
Lex.Next;
when others =>
Error;
end case;
end Value;
procedure Factor;
procedure Term is
begin
Factor;
while Lex.Current_Token_Is (Lex.'*') loop
Lex.Next;
Factor;
end loop;
end Term;
procedure Expression is
use Lex;
begin
Term;
while (Lex.Current_Token_In ((Lex.'+', Lex.'-'))) loop
case Lex.Get_Token is
when Lex.'+' =>
Lex.Next;
Term;
when Lex.Token'(Lex.'-') =>
Lex.Next;
Term;
when others =>
Error;
end case;
end loop;
end Expression;
procedure Factor is
S1, S2 : Lex.Token;
begin
S1 := Lex.Get_Token;
S2 := Lex.'(';
if Lex."=" (S1, Lex.'(') then
Lex.Next;
Expression;
if (Lex.Get_Token = Lex.Token'(Lex.')')) then
Lex.Next;
else
Error;
end if;
else
Value;
end if;
end Factor;
procedure Affect is
begin
if (Lex.Get_Token = Lex.Token'(Lex.Id)) then
Lex.Next;
if (Lex.Get_Token = Lex.Token'(Lex.Let)) then
Lex.Next;
Expression;
else
Error;
end if;
else
Error;
end if;
end Affect;
procedure Liste is
begin
while (Lex.Get_Token /= Lex.Token'(Lex.'}')) loop
Affect;
end loop;
end Liste;
procedure Corps is
begin
if (Lex.Get_Token = Lex.Token'(Lex.'{')) then
Lex.Next;
Liste;
if (Lex.Get_Token = Lex.Token'(Lex.'}')) then
Lex.Next;
else
Error;
end if;
end if;
end Corps;
procedure Start is
begin
Lex.Next;
Expression;
end Start;
end Parse;
nblk1=4
nid=2
hdr6=6
[0x00] rec0=31 rec1=00 rec2=01 rec3=012
[0x01] rec0=29 rec1=00 rec2=04 rec3=01c
[0x02] rec0=23 rec1=00 rec2=03 rec3=000
[0x03] rec0=26 rec1=00 rec2=04 rec3=000
tail 0x215284312848c789b49f6 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 00 00 0e 80 07 6f 6b 65 6e 20 69 73 07 00 01 ┆ oken is ┆