emacs.d/clones/lisp/www.cs.cmu.edu/Groups/AI/html/cltl/clm/node209.html

86 lines
4.8 KiB
HTML
Raw Normal View History

2022-08-26 19:11:35 +02:00
<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 0.6.5 (Tue Nov 15 1994) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE>23.1.5.1. Syntax of Logical Pathname Namestrings</TITLE>
</HEAD>
<BODY>
<meta name="description" value=" Syntax of Logical Pathname Namestrings">
<meta name="keywords" value="clm">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
<b>Common Lisp the Language, 2nd Edition</b>
<BR> <HR><A NAME=tex2html4172 HREF="node210.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html4170 HREF="node208.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html4164 HREF="node208.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html4174 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html4175 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html4173 HREF="node210.html"> Parsing of Logical </A>
<B>Up:</B> <A NAME=tex2html4171 HREF="node208.html"> Logical Pathnames</A>
<B> Previous:</B> <A NAME=tex2html4165 HREF="node208.html"> Logical Pathnames</A>
<HR> <P>
<H3><A NAME=SECTION002715100000000000000>23.1.5.1. Syntax of Logical Pathname Namestrings</A></H3>
<P>
<img align=bottom alt="change_begin" src="gif/change_begin.gif"><br>
The syntax of a logical pathname namestring is as follows:
<PRE>
<i>logical-namestring</i> ::= [<i>host</i> :] [;] {<i>directory</i> ;}*
[<i>name</i>] [. <i>type</i> [. <i>version</i>]
</PRE>
Note that a logical namestring has no <i>device</i> portion.
<PRE>
<i>host</i> ::= <i>word</i>
<i>directory</i> ::= <i>word</i> | <i>wildcard-word</i> | <i>wildcard-inferiors</i>
<i>name</i> ::= <i>word</i> | <i>wildcard-word</i>
<i>type</i> ::= <i>word</i> | <i>wildcard-word</i>
<i>version</i> ::= <i>word</i> | <i>wildcard-word</i>
<i>word</i> ::= {<i>letter</i> <i>digit</i> -}+
<i>wildcard-word</i> ::= [<i>word</i>] * {<i>word</i> *}* [<i>word</i>]
<i>wildcard-inferiors</i> ::= **
</PRE>
<P>
A <i>word</i> consists of one or more uppercase letters, digits, and hyphens.
<P>
A <i>wildcard word</i> consists of one or more asterisks, uppercase letters,
digits, and hyphens, including at least one asterisk, with no two
asterisks adjacent.
Each asterisk matches a sequence of zero or more
characters. The wildcard word <tt>*</tt> parses as <tt>:wild</tt>; all others parse
as strings.
<P>
Lowercase letters may also appear in a word or wildcard word
occurring in a namestring. Such letters are converted to uppercase
when the namestring is converted to a pathname.
The consequences of using other characters are unspecified.
<P>
The <i>host</i> is a word that has been defined as a logical pathname host by
using <tt>setf</tt> with the function <tt>logical-pathname-translations</tt>.
<P>
There is no device, so the device component of a logical pathname is
always <tt>:unspecific</tt>. No other component of a logical pathname can be <tt>:unspecific</tt>.
<P>
Each <i>directory</i> is a word, a wildcard word, or <tt>**</tt> (which is parsed as <tt>:wild-inferiors</tt>).
If a semicolon precedes the directories, the directory component is
relative; otherwise it is absolute.
<P>
The <i>name</i> is a word or a wildcard word.
<P>
The <i>type</i> is a word or a wildcard word.
<P>
The <i>version</i> is a positive decimal integer or the word <tt>NEWEST</tt> (which is parsed
as <tt>:newest</tt>) or <tt>*</tt> (which is parsed as <tt>:wild</tt>).
The letters in <tt>NEWEST</tt> can be in either alphabetic case.
<P>
The consequences of using any value not specified here as a logical
pathname component are unspecified.
The null string <tt>&quot;&quot;</tt> is not a valid value for any component of a logical pathname,
since the null string is not a word or a wildcard word.
<br><img align=bottom alt="change_end" src="gif/change_end.gif">
<P>
<BR> <HR><A NAME=tex2html4172 HREF="node210.html"><IMG ALIGN=BOTTOM ALT="next" SRC="icons/next_motif.gif"></A> <A NAME=tex2html4170 HREF="node208.html"><IMG ALIGN=BOTTOM ALT="up" SRC="icons/up_motif.gif"></A> <A NAME=tex2html4164 HREF="node208.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="icons/previous_motif.gif"></A> <A NAME=tex2html4174 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="icons/contents_motif.gif"></A> <A NAME=tex2html4175 HREF="index.html"><IMG ALIGN=BOTTOM ALT="index" SRC="icons/index_motif.gif"></A> <BR>
<B> Next:</B> <A NAME=tex2html4173 HREF="node210.html"> Parsing of Logical </A>
<B>Up:</B> <A NAME=tex2html4171 HREF="node208.html"> Logical Pathnames</A>
<B> Previous:</B> <A NAME=tex2html4165 HREF="node208.html"> Logical Pathnames</A>
<HR> <P>
<HR>
<P><ADDRESS>
AI.Repository@cs.cmu.edu
</ADDRESS>
</BODY>