|
|
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: 1086 (0x43e)
Types: TextFile
Names: »V«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦this⟧
WITH Unbounded;
PACKAGE Lines IS
-- This is the abstraction defining and manipulating lines of text.
SUBTYPE Line IS String;
-- Defines a single line of text.
TYPE Lines_Type IS PRIVATE;
-- Defines an abstraction for an ordered set of lines of text.
FUNCTION Make RETURN Lines_Type;
-- Returns an empty set of lines.
PROCEDURE Add (New_Line : Line; To : IN OUT Lines_Type);
-- Adds a new line to the end of the indicated lines.
TYPE Line_Iterator IS PRIVATE;
-- For iterating over each line in a set of lines (in order).
FUNCTION Initialize (Lines : Lines_Type) RETURN Line_Iterator;
FUNCTION Value (Iterator : Line_Iterator) RETURN Line;
PROCEDURE Next (Iterator : IN OUT Line_Iterator);
FUNCTION Is_Done (Iterator : Line_Iterator) RETURN Boolean;
PRIVATE
TYPE Lines_Record;
TYPE Lines_Type IS ACCESS Lines_Record;
TYPE Lines_Record IS
RECORD
My_Line : Unbounded.Variable_String;
Next : Lines_Type;
END RECORD;
TYPE Line_Iterator IS NEW Lines_Type;
END Lines;