DSL
DSL (Dictionary Specification Language) – язык, разработанный компанией ABBYY для разметки словарных статей в соответствии с технологией показа словарей, принятой в Lingvo. Компилятор языка DSL входит в состав ABBYY Lingvo начиная с 6 версии. Таким образом, любой пользователь словаря может создать и распространять свой собственный словарь.
Основное назначение языка DSL - описание того, как показывать словарную статью. Язык не определяет в точности структуру карточки или возможные типы информации. Например, в языке DSL нет понятия "синоним", "лексическое значение" или "синтаксическая модель", но есть понятия "курсив", "ссылка", "подстатья" и т.д.
Словарь может быть создан прямо на языке DSL в виде простого текстового файла. Этот файл следует сохранить в кодировке ANSI или Unicode, а затем изменить расширение файла на dsl.
Пример содержимого исходного файла и соответствующей ему карточки в Lingvo:
словарный [m1][p][i][c][com][lang id=2]прил.[/p] от[/i] [ref]словарь[/ref][/lang][/com][/c][/m] [m1][trn]lexical; lexicographic[/trn][/m] [m2][*][ex][lang id=2]богатый словарный запас[/lang] — copious vocabulary[/ex][/*][/m] [m2][*]- [ref]словарный состав[/ref][/*][/m]
Создание DSL-словарей
Рассмотрим создание DSL-словаря на примере марийско-русского словаря на основе Словаря марийского языка в 10-томах (1990-2005), изданного «Марийским научно-исследовательским институтом языка, литературы и истории имени В.М. Васильева» (МарНИИЯЛИ). Пользователю, работающему в Unix-подобных системах (Linux, Mac OS и т.д.), удобнее работать с текстами в UTF-8, текстовый редактор может быть любым, например, gedit. После того, как закончили редактировать текст будущего dsl-словаря, например, marirus.txt, сохраните его с расширением .dsl в кодировке UTF-16: