MorePfsNames.mesa
Copyright Ó 1990 by Xerox Corporation. All rights reserved.
Last tweaked by Mike Spreitzer on October 5, 1990 8:42:14 am PDT
DIRECTORY PFSNames, RopeParts, Rope;
MorePfsNames: CEDAR DEFINITIONS
= {
ROPE: TYPE ~ Rope.ROPE;
RopePart: TYPE ~ RopeParts.RopePart;
Version: TYPE ~ PFSNames.Version;
Component: TYPE ~ PFSNames.Component;
PATH: TYPE ~ PFSNames.PATH;
NamePart: TYPE ~ RECORD [base: ROPE, start: INT ← 0, len: INTINT.LAST];
Like a RopePart, but without the invariant.
ConsComponent: PROC [name: RopePart, version: Version ← [none]] RETURNS [Component];
ConstructComponent: PROC [name: NamePart, version: Version ← [none]] RETURNS [Component];
ComponentName: PROC [Component] RETURNS [RopePart];
Result does not include the version.
ComponentToRope: PROC [Component] RETURNS [ROPE];
VersionToRope: PROC [Version] RETURNS [ROPE];
Replace: PROC [base: PATH, start: INT ← 0, len: INTINT.LAST, with: PATH] RETURNS [PATH];
Cons1: PROC [component: Component, absolute, directory: BOOLFALSE, unparsed: REFNIL] RETURNS [name: PATH];
Make a PATH with exactly 1 component.
}.