Lisp programs don't usually work with the elements directly; the Lisp-level syntax table functions usually work with syntax descriptors (see section Syntax Descriptors). Nonetheless, here we document the internal format.
Each element of a syntax table is a cons cell of the form
(syntax-code . matching-char). The CAR,
syntax-code, is an integer that encodes the syntax class, and any
flags. The CDR, matching-char, is non-nil if
a character to match was specified.
This table gives the value of syntax-code which corresponds to each syntactic type.
| Integer Class | Integer Class | Integer Class | |
| 0 whitespace | 5 close parenthesis | 10 character quote | |
| 1 punctuation | 6 expression prefix | 11 comment-start | |
| 2 word | 7 string quote | 12 comment-end | |
| 3 symbol | 8 paired delimiter | 13 inherit | |
| 4 open parenthesis | 9 escape | 14 comment-fence | |
| 15 string-fence |
For example, the usual syntax value for `(' is (4 . 41).
(41 is the character code for `)'.)
The flags are encoded in higher order bits, starting 16 bits from the least significant bit. This table gives the power of two which corresponds to each syntax flag.
| Prefix Flag | Prefix Flag | Prefix Flag | |
| `1' | `3' | `p' | |
| `2' | `4' | `b' |
Go to the first, previous, next, last section, table of contents.