|
|
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: T V
Length: 1675 (0x68b)
Types: TextFile
Names: »V«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
-- This package parses and interprets the following rules:
--
-- rule 0:
-- syntax: <bloc> ::= '{' <arguments> <statements> '}'
-- sementic: bloc.result = statements.result
with Scanner;
with Object;
with Message;
with Symbols;
package Block is
type Node is private;
Empty_Node : constant Node;
procedure Parse (N : in out Node);
procedure Unparse (N : Node);
function Is_First (T : Scanner.Token) return Boolean;
function Interpret (N : Node) return Object.Reference;
function Get_Ident (N : Node) return Message.Unary;
function Get_Kwd (N : Node) return Message.Unary;
function Get_Table (N : Node) return Symbols.Table;
procedure Put_Table (This_Object : Object.Reference;
Named : Object.Tiny_String;
Into : in out Node);
procedure Get_From_Table (Object_Named : Object.Tiny_String;
From_Block : Node;
Into : in out Object.Reference;
Status : out Boolean);
procedure Put_Into_Table (This_Object : Object.Reference;
Named : Object.Tiny_String;
Into_Block : in out Node);
function Get_Current_Node return Node;
function Get_Current_Table return Symbols.Table;
procedure Put_Current_Table (This_Object : Object.Reference;
Named : Object.Tiny_String);
function Get_Parent (N : Node) return Node;
function Is_Nil (N : Node) return Boolean;
private
type Node_Structure;
type Node is access Node_Structure;
Empty_Node : constant Node := null;
end Block;