Movatterモバイル変換


[0]ホーム

URL:


[LISPWORKS][Common Lisp HyperSpec (TM)][Previous][Up][Next]


2.4.8 Sharpsign

Sharpsign is anon-terminatingdispatching macro character. It reads an optional sequence of digits and then one more character, and uses that character to select afunction to run as areader macro function.

Thestandard syntax includes constructs introduced by the# character. The syntax of these constructs is as follows: a character that identifies the type of construct is followed by arguments in some form. If the character is a letter, itscase is not important;#O and#o are considered to be equivalent, for example.

Certain# constructs allow an unsigned decimal number to appear between the# and the character.

Thereader macros associated with thedispatching macro character# are described later in this section and summarized in the next figure.

dispatch char  purpose                  dispatch char  purpose                Backspace      signals error            {              undefined*             Tab            signals error            }              undefined*             Newline        signals error            +              read-time conditional  Linefeed       signals error            -              read-time conditional  Page           signals error            .              read-time evaluation   Return         signals error            /              undefined              Space          signals error            A, a           array                  !              undefined*               B, b           binary rational        "              undefined                C, c           complex number         #              reference to = label     D, d           undefined              $              undefined                E, e           undefined              %              undefined                F, f           undefined              &              undefined                G, g           undefined              '              function abbreviation    H, h           undefined              (              simple vector            I, i           undefined              )              signals error            J, j           undefined              *              bit vector               K, k           undefined              ,              undefined                L, l           undefined              :              uninterned symbol        M, m           undefined              ;              undefined                N, n           undefined              <              signals error            O, o           octal rational         =              labels following object  P, p           pathname               >              undefined                Q, q           undefined              ?              undefined*               R, r           radix-n rational       @              undefined                S, s           structure              [              undefined*               T, t           undefined              \              character object         U, u           undefined              ]              undefined*               V, v           undefined              ^              undefined                W, w           undefined              _              undefined                X, x           hexadecimal rational   `              undefined                Y, y           undefined              |              balanced comment         Z, z           undefined              ~              undefined                Rubout         undefined

Figure 2-19. Standard #Dispatching Macro Character Syntax

The combinations marked by an asterisk (*) are explicitly reserved to the user. Noconforming implementation defines them.

Note also thatdigits do not appear in the preceding table. This is because the notations#0,#1, ...,#9 are reserved for another purpose which occupies the same syntactic space. When adigit follows asharpsign, it is not treated as a dispatch character. Instead, an unsigned integer argument is accumulated and passed as anargument to thereader macro for thecharacter that follows the digits. For example,#2A((1 2) (3 4)) is a use of#A with an argument of2.

2.4.8.1 Sharpsign Backslash

2.4.8.2 Sharpsign Single-Quote

2.4.8.3 Sharpsign Left-Parenthesis

2.4.8.4 Sharpsign Asterisk

2.4.8.5 Sharpsign Colon

2.4.8.6 Sharpsign Dot

2.4.8.7 Sharpsign B

2.4.8.8 Sharpsign O

2.4.8.9 Sharpsign X

2.4.8.10 Sharpsign R

2.4.8.11 Sharpsign C

2.4.8.12 Sharpsign A

2.4.8.13 Sharpsign S

2.4.8.14 Sharpsign P

2.4.8.15 Sharpsign Equal-Sign

2.4.8.16 Sharpsign Sharpsign

2.4.8.17 Sharpsign Plus

2.4.8.18 Sharpsign Minus

2.4.8.19 Sharpsign Vertical-Bar

2.4.8.20 Sharpsign Less-Than-Sign

2.4.8.21 Sharpsign Whitespace

2.4.8.22 Sharpsign Right-Parenthesis


The followingX3J13 cleanup issue,not part of the specification, applies to this section:


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996-2005, LispWorks Ltd. All rights reserved.


[8]ページ先頭

©2009-2025 Movatter.jp