<> <> <> DIRECTORY IPBasic USING [Any, Identifier, Integer, Marker, Number, Operator, State, Vector]; IPStack: CEDAR DEFINITIONS = BEGIN OPEN IPBasic; Init: PROC[self: State, max: Integer]; <> PushAny: PROC[self: State, x: Any]; <> <> PopAny: PROC[self: State] RETURNS[Any]; <> <> PushBool: PROC[State, BOOL]; PushInteger: PROC[State, Integer]; PushReal: PROC[State, REAL]; PushNumber: PROC[State, Number]; PushIdentifier: PROC[State, Identifier]; PushVector: PROC[State, Vector]; PushOperator: PROC[State, Operator]; PopBool: PROC[State] RETURNS[BOOL]; PopInteger: PROC[State] RETURNS[Integer]; PopReal: PROC[State] RETURNS[REAL]; PopNumber: PROC[State] RETURNS[Number]; PopIdentifier: PROC[State] RETURNS[Identifier]; PopVector: PROC[State] RETURNS[Vector]; PopOperator: PROC[State] RETURNS[Operator]; <<>> Copy: PROC[self: State, n: Integer]; <> <> <> Roll: PROC[self: State, depth, moveFirst: Integer]; <> < depth>> <> Mark: PROC[self: State, n: Integer]; <> <> Unmark: PROC[self: State, n: Integer]; <> <> <> <> <> Count: PROC[self: State] RETURNS[Integer]; <> <> PopToMark: PROC[self: State] RETURNS[Marker]; <> PopMark: PROC[self: State]; <> <> END.