Scarlet Line home page Scarlet Line - SOFTWARE DESIGN & DEVELOPMENT

[Home]->[Documentation]->[Syntac Universal Parser]->[Programming Languages]->[Lisp]->[Symbols]->[dispatch_macro]

Expand All
Collapse All
Contents

Lisp::dispatch_macro Locate in Contents

Declaration Locate in Contents

<dispatch macro> ::=
            "#"    (
                "\\" <single escaped> <token rest>*    /* character object*/
            |    "'" <object>    /* function abbreviation*/
            |    '[0-9]*' "(" object* ")"    /* simple vector*/
            |    '[0-9]*' "*" bdigit+    /* bit-vector*/
            |    ":"    symbol /* uninterned symbol*/
            |    "."    object /* read-time evaluation*/
            |    ","    object /* load-time evaluation*/
            |    '[Bb]' <binary-rational>    /* binary rational*/
            |    '[Oo]' <octal-rational>    /* octal rational*/
            |    '[Xx]' <hexadecimal-rational>    /* hexadecimal rational*/
            |    '[0-9]+' '[Rr]'    '[0-9A-Za-z]+' /* radix-n rational*/
            |    '[0-9]+' '[Aa]'    object /* array*/
            |    '[Ss]' object    /* structure*/
            |    '[Pp]' <simple-string>    /* pathname*/
            |    '[0-9]+' "=" object    /* label following object*/
            |    '[0-9]+' "#"    /* reference to #= label*/
            |    "+"    object lws object /* read-time conditional*/
            |    "-"    object lws object /* read-time conditional*/
            |    "|"    ( '[^|#]' | '|[^#]' | '#[^|]' | <balanced comment> )* "|#" /* balanced comment*/
            |    '[Cc]' "(" lws? number lws number lws? ")"    /* complex number*/
            |    '["$%&;>@^_`~/D-NQQ-WYZd-nqt-wyz\b]'    /* undefined*/
            |    <user dispatch macro>
            )

Composition Locate in Contents

object dispatch_macro Concatenation Node '#' Alternation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node Concatenation Node '[\\b user_dispatch_macro '\\\\' single_escaped Iteration Node ''' object Iteration Node '(' Iteration Node ')' Iteration Node '*' Concatenation Node ':' symbol '\\.' object ',' object '[Bb]' binary_rational '[Oo]' octal_rational '[Xx]' hexadecimal_rational Concatenation Node '[Rr]' Concatenation Node Concatenation Node '[Aa]' object '[Ss]' object '[Pp]' simple_string Concatenation Node '=' object Concatenation Node '#' '+' object lws object '\\-' object lws object '|' Iteration Node Concatenation Node '[Cc]' '(' Alternation Node number lws number Alternation Node ')' token_rest '[0-9]' object '[0-9]' bdigit Iteration Node '[0-9]' Iteration Node '[0-9A-Za-z]' Iteration Node '[0-9]' Iteration Node '[0-9]' Iteration Node '[0-9]' Iteration Node Alternation Node '|' '#' lws @ lws @ bdigit '[0-9]' '[0-9A-Za-z]' '[0-9]' '[0-9]' '[0-9]' '[^\\z#|]' Concatenation Node Concatenation Node balanced_comment '|' '[^\\z#]' '#' '[^\\z|]'

State Machine Locate in Contents

start:191:$0 final:192:$0 user_dispatch_macro|{249|$92|250} single_escaped|{193|$5|194} object|{136|$10|137} symbol|{223|$24|224} object|{136|$27|137} object|{136|$30|137} binary_rational|{228|$33|229} octal_rational|{231|$36|232} hexadecimal_rational|{236|$39|237} object|{136|$50|137} simple_string|{243|$53|244} object|{136|$63|137} object|{136|$68|137} balanced_comment|{163|$78|164} token_rest|{213|$7|214} lws|{142|$64|143} lws|{142|$69|143} balanced_comment|{163|$78|164} lws|{142|$84|143} object|{136|$15|137} bdigit|{221|$21|222} token_rest|{213|$7|214} object|{136|$47|137} object|{136|$57|137} object|{136|$65|137} object|{136|$70|137} number|{167|$85|168} object|{136|$15|137} bdigit|{221|$21|222} lws|{142|$86|143} bdigit|{221|$21|222} number|{167|$87|168} lws|{142|$89|143}