<<>> <> <> <> DIRECTORY TextFind USING [XCHAR, Text, WildType]; TextFindPrivate: CEDAR DEFINITIONS ~ BEGIN OPEN TextFind; Name: TYPE ~ REF NameRep; NameRep: TYPE ~ RECORD [PACKED SEQUENCE length: NAT OF XCHAR]; Target: TYPE ~ REF TargetRep; TargetRep: TYPE ~ RECORD [text: Text, pattern: SEQUENCE size: NAT OF Item]; Item: TYPE ~ REF ItemRep; ItemRep: TYPE ~ RECORD [ SELECT tag: * FROM string => [start, len: INT], char => [eq: BOOL, index: INT], one, min, max => [type: WildType, index: INT], startName, endName => [name: Name], leftSel, rightSel => [], leftBoundary, rightBoundary => [], ENDCASE ]; Subs: TYPE ~ REF SubsRep; SubsRep: TYPE ~ RECORD [text: Text, subs: SEQUENCE size: NAT OF Sub]; Sub: TYPE ~ REF SubRep; SubRep: TYPE ~ RECORD [name: Name, start, len: INT]; <<>> END.