DIRECTORY IPMaster USING [Op, SequenceType], Rope USING [ROPE]; IPScan: CEDAR DEFINITIONS ~ BEGIN Op: TYPE ~ IPMaster.Op; ROPE: TYPE ~ Rope.ROPE; Seq: TYPE ~ IPMaster.SequenceType; IPRopeFromName: PROC [xeroxName: ROPE] RETURNS [header, ip: ROPE]; ScanProc: TYPE ~ PROC [min, max: INT, op: Op _ nil, seq: Seq _ nil, num: INTEGER _ 0, punt: BOOL _ FALSE] RETURNS [quit: BOOL _ FALSE]; ScanRope: PROC [ip: ROPE, ops: LIST OF Op _ NIL, seqs: LIST OF Seq _ NIL, nums: BOOL _ FALSE, action: ScanProc]; allOps: READONLY LIST OF Op; allSeqs: READONLY LIST OF Seq; END. τIPScan.mesa Copyright Σ 1988 by Xerox Corporation. All rights reserved. Eric Nickell, November 22, 1988 4:00:13 am PST Bob Coleman, April 23, 1990 4:46:17 pm PDT xeroxName is a file name. header is the Interpress header ip is (probably) a RopeFile of the chars in the master Neither header nor ip contain the delimiting space character Scan through the given master, calling back action for the desired ops, seqs, or small numbers. ip is the rope containing the master, a la IPRopeFromName. Κe˜™ Icode™