Site Menu Project Specification Implementation Recommendations Reference Needs Updating Work in Progress Wastebasket Wiki Manual |
OO StackSpec.OOStack HistoryHide minor edits - Show changes to output 2010-01-11 10:51
by -
Added lines 13-22:
(* or should this be something like ... Stack = RECORD (* field declarations *) END; or perhaps ... Stack = OPAQUE RECORD; *) 2010-01-11 07:28
by -
Changed lines 14-24 from:
PROCEDURE ( self : Stack ) PROCEDURE ( self : Stack ) PROCEDURE ( self : Stack ) pop ( stack PROCEDURE ( self : Stack ) PROCEDURE ( self : Stack ) numberOfEntries ( stack : Stack ) : LONGCARD; PROCEDURE ( self : Stack ) dispose ( VAR stack : Stack ) to:
PROCEDURE ( self : Stack ) New ( initialSize : LONGCARD; VAR status : Status ) : Stack; PROCEDURE ( self : Stack ) Push ( value : CollectionData; VAR status : Status ); PROCEDURE ( self : Stack ) Pop ( VAR status : Status ) : CollectionData; PROCEDURE ( self : Stack ) Capacity : LONGCARD; PROCEDURE ( self : Stack ) NumberOfEntries : LONGCARD; PROCEDURE ( self : Stack ) Dispose; 2010-01-11 07:02
by - object oriented version of Stack
Added lines 1-26:
[@DEFINITION MODULE Stack; (* Object oriented version of Stack *) FROM Collections IMPORT CollectionData, Status; CONST defaultSize = <implementation defined>; maximumSize = <implementation defined>; TYPE Stack = OPAQUE; PROCEDURE ( self : Stack ) new ( initialSize : LONGCARD; VAR status : Status ) : Stack; PROCEDURE ( self : Stack ) push ( stack : Stack; value : CollectionData; VAR status : Status ); PROCEDURE ( self : Stack ) pop ( stack : Stack; VAR status : Status ) : CollectionData; PROCEDURE ( self : Stack ) capacity ( stack : Stack) : LONGCARD; PROCEDURE ( self : Stack ) numberOfEntries ( stack : Stack ) : LONGCARD; PROCEDURE ( self : Stack ) dispose ( VAR stack : Stack ); END Stack.@] |