Syntax of Logical Pathname Namestrings (original) (raw)

ANSI Common Lisp 19 Filenames 19.3 Logical Pathnames

19.3.1 Syntax of Logical Pathname Namestrings

The syntax of a logical pathname namestring is as follows. (Note that unlike many notational descriptions in this document, this is a syntactic description of character sequences, not a structural description of objects.)

logical-pathname::= [host _host-marker_]
[_relative-directory-marker_]{directory directory-marker}*
[name] [_type-marker_ type [_version-marker_ version]]

host::= word

directory::= word | wildcard-word | wild-inferiors-word

name::= word | wildcard-word

type::= word | wildcard-word

version::= pos-int | newest-word | wildcard-version

host-marker - a colon.

relative-directory-marker - a semicolon.

directory-marker - a semicolon.

type-marker - a dot.

version-marker - a dot.

wild-inferiors-word - The two character sequence "**" (two asterisks).

newest-word - The six character sequence "newest" or the six character sequence "NEWEST".

wildcard-version - an asterisk.

wildcard-word - one or more asterisks, uppercase letters, digits, and hyphens, including at least one asterisk, with no two asterisks adjacent.

word - one or more uppercase letters, digits, and hyphens.

pos-int - a positive integer.

19.3.1.1 Additional Information about Parsing Logical Pathname Namestrings