В дополнение к классам, записи в таблице синтаксиса могут указывать флаги. Существует восемь возможных флагов, представленных символами ‘1’, ‘2’, ‘3’, ‘4’, ‘b’, ‘c’, ‘n’, и ‘p’.
Все флаги, кроме ‘p’, используются для описания разделителей комментариев. Цифровые флаги используются для разделителей комментариев, состоящих из 2 символов. Они указывают на то, что символ может также быть частью последовательности комментария, в дополнение к синтаксическим свойствам, связанным с его классом. Флаги независимы от класса и друг от друга в отношении таких символов, как ‘*’ в режиме C, который является пунктуационным символом, и второго символа последовательности начала комментария (‘/*’), и первого символа последовательности конца комментария (‘*/’). Флаги ‘b’, ‘c’, и ‘n’ используются для квалификации соответствующего разделителя комментария.
Ниже представлена таблица возможных флагов для символа c и их значения:
Emacs поддерживает несколько стилей комментариев одновременно в любой таблице синтаксиса. Стиль комментария — это набор флагов ‘b’, ‘c’, и ‘n’, поэтому может быть до 8 различных стилей комментариев, каждый из которых называется набором своих флагов. Каждый разделитель комментария имеет стиль и соответствует только разделителям комментариев того же стиля. Таким образом, если комментарий начинается с последовательности начала комментария стиля “bn”, он будет продолжаться до следующей соответствующей последовательности конца комментария стиля “bn”. Когда набор флагов не содержит флага ‘b’ и флага ‘c’, результирующий стиль называется стилем “a”.
Подходящие настройки синтаксиса комментариев для C++ могут быть следующими:
‘124’
‘23b’
‘>’
Это определяет четыре последовательности, разграничивающие комментарии:
Это последовательность начала комментария для стиля “b”, потому что второй символ, ‘*’, имеет флаг ‘b’.
Это последовательность начала комментария для стиля “a”, потому что второй символ, ‘/’, не имеет флага ‘b’.
Это последовательность конца комментария для стиля “b”, потому что первый символ, ‘*’, имеет флаг ‘b’.
Это последовательность конца комментария для стиля “a”, потому что символ перевода строки не имеет флага ‘b’.
Функция backward-prefix-chars перемещается назад по этим символам, а также по символам, основной синтаксический класс которых — префикс (‘'’). См. Движение и синтаксис.