Служебные тэги и команды

Тэг {{…}}

Команда (…)

Команда {…}

Команда ~

Команда \

Команда #

Тэг {{…}}

Назначение: Разметка служебных комментариев.

Использование: В любом месте DSL.

Особенности: Зона действия данного тэга может распространяться на несколько строк. Если среди этих строк окажутся заголовки (например, когда открывающая пара скобок располагается в одной карточке, а закрывающая – в другой), то они будут проигнорированы при компилировании.

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

В зоне комментариев не работают любые конструкции языка DSL.

В зоне комментариев не действует даже команда экранирования. Так, например, протест компилятора не вызовет запись {{comment\}}, но вызовет запись {{comment}\}.

При пересечении зон действий какого-либо тэга и комментария, приоритет отдаётся последней. Так, например, при записи <<word {{ word>> comment}}[/m], компилятор сообщит о недопустимом использовании [ внутри ссылки. Объясняется это тем, что тэг ссылки, расположенный левее, в порядке очереди начинает обрабатываться первым, но его закрывающий дескриптор поглощается тэгом комментария, у которого больший приоритет, в результате чего тэг ссылки остаётся незакрытым, и последующие символы «попадают» в зону его действия.

Служебные комментарии отображаются только в исходном файле DSL. При компилировании они игнорируются и в конечный словарь LSD не записываются.

Служебные комментарии :: Запись в DSL

{{ Simple English-Russian dictionary (use LS.COM screen driver to read 
russian text below) }}

order
	порядок

temperature               {{ headword }}
	температура       {{ entry }}

global information structure       {{ phrase as a headword }}
	глобальная информационная структура
	

История: Тэг, по-видимому, используется в Lingvo начиная с самых первых версий. Первое упоминание о нём встречается в демонстрационном, пользовательском словарике к Lingvo 4.

Команда (…)

Назначение: Обработка альтернативной части заголовка.

Использование: Только в заголовках. В теле статей круглые скобки воспринимаются литерально и дополнительными функциями не обладают.

Общее описание: В печатных словарях при помощи круглых скобок принято обозначать факультативную (необязательную) часть заголовка или варианты морфологических/грамматических форм слова/словосочетания. DSL следует этому применению и программно реализует его следующим образом. Круглые скобки в DSL создают несколько вариантов одного заголовка. Так, например, запись (пре)вращать(ся) преобразуется в четыре отдельных заголовка: вращать, вращаться, превращать, превращаться. Все эти варианты будут показаны в списке заголовков главного окна без скобок, а при обращении к одному из них, откроется словарная карточка, в заглавии которой отобразится исходное написание из DSL со скобками. Наглядные примеры см. в главе Заголовок статьи.

Замечание: Чтобы предотвратить специальную обработку круглых скобок в заголовках, их нужно экранировать: \(…\). При такой записи заголовок не будет преобразовываться, но литерально отобразится со скобками как в словарной карточке, так и в общем списке заголовков.

История: Команда, по-видимому, используется в Lingvo начиная с самых первых версий. Первое упоминание о ней встречается в демонстрационном, пользовательском словарике к Lingvo 4.

Команда {…}

Назначение: Обработка несортируемой части заголовка.

Использование: Только в заголовках. В теле статей одинарные фигурные скобки воспринимаются литерально и дополнительными функциями не обладают.

Общее описание: Часть заголовка, заключённая в одинарные фигурные скобки:

  1. не отображается в списке заголовков главного окна;
  2. игнорируется при сортировке списка заголовков главного окна;
  3. не учитывается при поиске перевода слов;
  4. отображается в заглавии словарной карточки, если только это не тэг DSL.

Фигурные скобки используются в случаях, когда часть заголовка необходимо скрыть при его отображении в списке заголовков главного окна, или применить к заголовку дополнительное форматирование при его отображении в словарной карточке. Дополнительные сведения и наглядные примеры см. в главе Заголовок статьи.

Замечание: Чтобы предотвратить специальную обработку фигурных скобок в заголовках, их нужно экранировать: \{…\}. При такой записи заголовок вместе со скобками отобразится без сокращений как в словарной карточке, так и в общем списке заголовков.

История: Команда, по-видимому, используется в Lingvo начиная с самых первых версий. Первое упоминание о ней встречается в демонстрационном, пользовательском словарике к Lingvo 4.

Команда ~

Назначение: Указание места вставки копии заголовочного слова, т.н. клонирование заголовков.

Использование: Только в теле словарных статей.

Общее описание: При компилировании DSL все знаки тильды в теле статей заменяются на копию заголовочного слова.

Использование тильды :: Запись в DSL

дом
	[m1]Здание, строение, предназначенное для жилья.[/m]
	[m2][*]Деревянный ~. Каменный ~. Жилой ~.[/*][/m]

Использование тильды :: Вид в словарной карточке

Пример (Ru-Ru)
дом
Здание, строение, предназначенное для жилья.
Деревянный дом. Каменный дом. Жилой дом.

Замечания: Чтобы предотвратить специальную обработку тильды и литерально отобразить её в словарной карточке, нужно её экранировать: \~.

Если перед тильдой поставить перевёртыш (команду изменения регистра) ^~, регистр первой буквы в клоне заголовка изменится на противоположный. Подробнее об этом см. в главе Команда ^.

История: Команда, по-видимому, используется в Lingvo начиная с самых первых версий. Первое упоминание о ней встречается в демонстрационном, пользовательском словарике к Lingvo 4.

Команда \

Назначение: Экранирование метасимволов.

Использование: В теле словарных статей и в заголовках.

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

Замечание: Для того, чтобы литерально отобразить саму обратную косую черту, нужно её удвоить: \\.

Команда #

Назначение: Указатель директивы предварительной обработки (команды препроцессора).

Использование: В первых строках файлов основного текста, аббревиатур или аннотаций словаря DSL.

Синтаксис: Команда должна располагаться только в начале строки (на первой позиции в строке). Наличие перед командой пробела, табуляции или любого другого символа приведёт к ошибке при компилировании.

Команда может быть употреблена только в сочетании с определённым набором ключевых слов. Её употребление с любыми другими словами вызовет протест компилятора Unknown pre-processor keyword.

Общее описание: См. в разделе Директивы предварительной обработки.

Замечание: Чтобы предотвратить специальную обработку команды и литерально отобразить символ решётки в словарной карточке, нужно его экранировать: \#.

История: В DSL Lingvo 6 команда появляется без упоминания в документации. В справочном руководстве 8.0 обнародуется её полное описание с примерами использования.