<> <> <<>> DIRECTORY IO USING [STREAM], PFSNames USING [Component, PATH, Version], Rope USING [ROPE]; PFSCanonicalNames: CEDAR DEFINITIONS SHARES PFSNames ~ BEGIN OPEN PFSNames; ROPE: TYPE = Rope.ROPE; UnparseName: PROC[name: PATH] RETURNS [fullFName: ROPE]; <> <<[/]component0/component1/.../componentComponentCount-1[/]>> <> UnparseComponent: PROC [component: Component] RETURNS [ROPE]; <> <> <> UnparseVersion: PUBLIC PROC [version: Version] RETURNS [ROPE]; <> <> <<>> ParseName: PROC [name: ROPE] RETURNS [parsedName: PATH]; <> <<>> ParseComponent: PROC [name: ROPE, first: NAT _ 0] RETURNS [component: Component, next: NAT]; <> <> ParseVersion: PROC [v: ROPE, first: NAT _ 0] RETURNS [version: Version, next: NAT]; <> ParseNameFromStream: PROC [s: IO.STREAM] RETURNS [name: PATH]; <> END.