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 - downloadIndex: ┃ T V ┃
Length: 2673 (0xa71) Types: TextFile Names: »V«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧
with Condition; with Constant_String; with Output_Stream; package Fact is type Name is private; Null_Name : constant Name; type Collection is array (Positive range <>) of Name; subtype Class_Name is Constant_String.Object; Null_Class_Name : Class_Name renames Constant_String.Null_Object; ------------------------------------------------------------------------ Max_Slots : constant := 20; subtype Value_Size is Natural range 0 .. Max_Slots; subtype Slot_Names is Value_Size range 1 .. Max_Slots; type Slots is array (Slot_Names range <>) of Integer; type Frame (Size : Value_Size := 0) is record Class : Class_Name; Value : Slots (1 .. Size); end record; Null_Frame : constant Frame := (Size => 0, Class => Null_Class_Name, Value => (others => 0)); ------------------------------------------------------------------------ type Query_Qualifier is (Find, Check_No); type Patterns is array (Slot_Names range <>) of Condition.Object; type Query (Size : Value_Size := 0) is record Kind : Query_Qualifier; Class : Class_Name; Value : Patterns (1 .. Size); end record; Null_Query : constant Query := Query'(Size => 0, Kind => Find, Class => Null_Class_Name, Value => (others => Condition.Is_Any)); type Queries is array (Positive range <>) of Query; Null_Premiss : constant Queries := (1 .. 0 => Null_Query); ------------------------------------------------------------------------ Overflow : exception; function Get (The_Fact : Name) return Frame; function Get (The_Fact : Name; Slot : Slot_Names) return Integer; function Empty_Collection return Collection; function Retrieve (Filter : Queries) return Collection; procedure Add (The_Fact : Frame); procedure Delete (The_Fact : Name); procedure Change (The_Fact : Name; Value : Frame); procedure Change (The_Fact : Name; The_Slot : Slot_Names; To_Value : Integer); procedure Put (The_Query : Query; Where : Output_Stream.Object); procedure Put (The_Queries : Queries; Where : Output_Stream.Object); procedure Put (The_Fact : Name; Where : Output_Stream.Object); procedure Put (The_Collection : Collection; Where : Output_Stream.Object); procedure Put (Where : Output_Stream.Object); -- The working memory private type Name is new Natural; Null_Name : constant Name := 0; end Fact;