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