Класс синтаксиса символа описывает его синтаксическую роль. Каждая таблица синтаксиса определяет класс синтаксиса каждого символа. Нет обязательной связи между классом символа в одной таблице синтаксиса и его классом в любой другой таблице.
Каждый класс синтаксиса обозначается мнемоническим символом, который служит именем класса, когда вам необходимо указать класс. Обычно этот обозначающий символ — тот, который часто присваивается этому классу; однако его значение как обозначения не меняется и не зависит от того, какой синтаксис этот символ имеет в данный момент. Таким образом, ‘\’ как обозначающий символ всегда означает синтаксис символа экранирования, независимо от того, имеет ли символ ‘\’ фактически этот синтаксис в текущей таблице синтаксиса. См. Таблица классов синтаксиса, для списка классов синтаксиса и их обозначающих символов.
Дескриптор синтаксиса — это строка Lisp, которая описывает
класс синтаксиса и другие синтаксические свойства символа. Когда вы хотите
изменить синтаксис символа, это делается вызовом функции
modify-syntax-entry и передачей дескриптора синтаксиса
в качестве одного из ее аргументов (см. Функции таблиц синтаксиса).
Первый символ в дескрипторе синтаксиса должен быть обозначающим символом класса синтаксиса. Второй символ, если он присутствует, указывает на соответствующий символ (например, в Lisp соответствующий символ для ‘(’ — ‘)’); пробел указывает, что соответствующего символа нет. Затем следуют символы, указывающие на дополнительные синтаксические свойства (см. Флаги синтаксиса).
Если соответствующий символ или флаги не требуются, достаточно только одного символа (указывающего на класс синтаксиса).
Например, дескриптор синтаксиса для символа ‘*’
в режиме C — ". 23" (т.е. пунктуация, слот
соответствующего символа не используется, первый символ начала комментария,
первый символ конца комментария), а для ‘/’ —
‘. 14’ (т.е. пунктуация,
слот соответствующего символа не используется, первый символ начала
комментария, второй символ конца комментария).
Emacs также определяет сырые дескрипторы синтаксиса, которые используются для описания классов синтаксиса на более низком уровне. См. Внутреннее устройство таблиц синтаксиса.