Spec-Zone.ru › Elisp

Таблица классов синтаксиса

Ниже приведена таблица классов синтаксиса, символов, их обозначений, значений и примеров их использования.

Символы пробелов: ‘’ или ‘-’

Символы, разделяющие символы и слова друг от друга. Обычно символы пробелов не имеют другого синтаксического значения, и несколько символов пробелов синтаксически эквивалентны одному. Пробел, табуляция и разрыв страницы классифицируются как пробелы почти во всех основных режимах.

Этот класс синтаксиса может обозначаться либо ‘’ либо ‘-’. Оба обозначения эквивалентны.

Составные части слов: ‘w’

Части слов в человеческих языках. Обычно они используются в именах переменных и команд в программах. Все прописные и строчные буквы, а также цифры обычно являются составными частями слов.

Составные части символов: ‘_’

Дополнительные символы, используемые в именах переменных и команд вместе с составными частями слов. Примеры включают символы ‘$&*+-_<>’ в режиме Lisp, которые могут быть частью имени символа, даже если они не являются частью английских слов. В стандартном C единственным символом, не являющимся частью слова, который допустим в символах, является нижнее подчёркивание (‘_’).

Знаки препинания: ‘.’

Символы, используемые как знаки препинания в человеческом языке или в языке программирования для разделения символов друг от друга. Некоторые режимы языков программирования, такие как режим Emacs Lisp, не имеют символов в этом классе, так как несколько символов, которые не являются составными частями символов или слов, имеют другие функции. Другие режимы языков программирования, такие как режим C, используют синтаксис знаков препинания для операторов.

Символы открывающей скобки: ‘(’
Символы закрывающей скобки: ‘)’

Символы, используемые в несхожих парах для заключения предложений или выражений. Такое группирование начинается с символа открывающей скобки и завершается символом закрывающей скобки. Каждая открывающая скобка соответствует определённой закрывающей скобке и наоборот. Обычно Emacs временно указывает соответствующую открывающую скобку, когда вы вставляете закрывающую скобку. См. Мигание.

В человеческих языках и в коде C пары скобок являются ‘()’, ‘[]’ и ‘{}’. В Emacs Lisp разделители списков и векторов (‘()’ и ‘[]’) классифицируются как символы скобок.

Кавычки для строк: ‘"’

Символы, используемые для обозначения строковых констант. Один и тот же символ кавычек появляется в начале и в конце строки. Такие строки в кавычках не вложены.

Средства разбора Emacs рассматривают строку как один токен. Обычные синтаксические значения символов в строке подавляются.

Режим Lisp имеет два символа кавычек для строк: двойную кавычку (‘"’) и вертикальную черту (‘|’). ‘|’ не используется в Emacs Lisp, но используется в Common Lisp. C также имеет два символа кавычек для строк: двойную кавычку для строк и апостроф (‘'’) для символьных констант.

В человеческом тексте нет символов кавычек для строк. Мы не хотим, чтобы кавычки отключали обычные синтаксические свойства других символов в кавычках.

Символы синтаксического экранирования: ‘\’

Символы, начинающие последовательность экранирования, например, используемую в строковых и символьных константах. Символ ‘\’ принадлежит к этому классу как в C, так и в Lisp. (В C он используется только внутри строк, но оказывается, что это не вызывает проблем, если его обрабатывать таким образом во всём коде C.)

Символы в этом классе учитываются как часть слов, если words-include-escapes не nil. См. Движение слов.

Символы кавычек для символов: ‘/’

Символы, используемые для цитирования следующего символа, чтобы он потерял своё обычное синтаксическое значение. Это отличается от символа экранирования тем, что только непосредственно следующий символ всегда затрагивается.

Символы в этом классе учитываются как часть слов, если words-include-escapes не nil. См. Движение слов.

Этот класс используется для обратной косой черты в режиме TeX.

Парные разделители: ‘$’

Подобны символам кавычек для строк, за исключением того, что синтаксические свойства символов между разделителями не подавляются. В настоящее время режим TeX использует парный разделитель — ‘$’, который как входит, так и выходит из математического режима.

Префиксы выражений: ‘'’

Символы, используемые для синтаксических операторов, которые рассматриваются как часть выражения, если они появляются рядом с ним. В режимах Lisp эти символы включают апостроф, ‘'’ (используемый для цитирования), запятую, ‘,’ (используемую в макросах) и ‘#’ (используемый в синтаксисе чтения для определённых типов данных).

Начало комментария: ‘<’
Конец комментария: ‘>’

Символы, используемые в различных языках для обозначения комментариев. В человеческом тексте нет символов комментариев. В Lisp точка с запятой (‘;’) начинает комментарий, а новая строка или разрыв страницы завершают его.

Наследовать стандартный синтаксис: ‘@’

Этот класс синтаксиса не определяет конкретный синтаксис. Он говорит о том, чтобы искать синтаксис этого символа в родительской таблице синтаксиса.

Обобщённые разделители комментариев: ‘!’

(Этот класс синтаксиса также известен как «разделитель комментария».) Символы, начинающие или завершающие особый вид комментария. Любой обобщённый разделитель комментариев соответствует любому обобщённому разделителю комментариев, но они не могут соответствовать началу или концу комментария; обобщённые разделители комментариев могут соответствовать только друг другу.

Этот класс синтаксиса предназначен в первую очередь для использования со свойством текста syntax-table (см. Свойства синтаксиса). Вы можете пометить любой диапазон символов как формирующие комментарий, задав первому и последнему символам диапазона свойства syntax-table, идентифицирующие их как обобщённые разделители комментариев.

Обобщённые разделители строк: ‘|’

(Этот класс синтаксиса также известен как «разделитель строки».) Символы, начинающие или завершающие строку. Этот класс отличается от класса символов кавычек для строк тем, что любой обобщённый разделитель строки может соответствовать любому другому обобщённому разделителю строки; но они не соответствуют обычным символам кавычек для строк.

Этот класс синтаксиса предназначен в первую очередь для использования со свойством текста syntax-table (см. Свойства синтаксиса). Вы можете пометить любой диапазон символов как формирующие строковую константу, задав первому и последнему символам диапазона свойства syntax-table, идентифицирующие их как обобщённые разделители строк.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Syntax-Class-Table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API