DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦75b1b2c99⟧ TextFile

    Length: 1036 (0x40c)
    Types: TextFile
    Names: »V«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

TextFile

-- This package parses and interprets the following rules:
--
-- rule 0:
--  syntax:   <statements> ::= empty
--  sementic: statements.result = statements.inherited; default: object.void_reference
-- rule 1:
--  syntax:   <statements> ::= <expression> <more_statements>
--  sementic: statements.result = more_statements.result
--            more_statements.inherited = expression.result
-- rule 2:
--  syntax:   <statements> ::= renvoyer <expression>
--  sementic: statements.result = expression.result


with Scanner;
with Object;

package Statements 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;
                        Inherited : Object.Reference := Object.Void_Reference)
                       return Object.Reference;

private
    type Node_Structure;
    type Node is access Node_Structure;
    Empty_Node : constant Node := null;
end Statements;