DuAL

DuAL
DuAL
Семантика:

Предметно-ориентированный язык программирования

Появился в:

2004

Автор(ы):

Тимченко Максим

Типизация данных:

динамическая

Испытал влияние:

Structured Query Language, ActionScript

DuAL (англ. Document Access Language — «язык доступа к документам»)  — сверхвысокоуровневый язык программирования с динамической типизацией, сочетающий в себе возможности языка структурированных запросов — SQL и объектно-ориентированного программирования. Главная особенность языка, это возможность управления содержимым форматированных электронных документов. Обработчик данных реализован на С++. В основе лежит принцип обработки списка правил, в соответствии с которыми происходит изменение содержания документа. Задачи, на решение которых ориентирован язык: изменение вида отображаемой в электронном документе информации, декомпозиция содержания документа, преобразование списков документов из одного типа в другой, прямой доступ к служебным данным документа, печать выбранных фрагментов из списка документов.

Содержание

История

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

  • сложность и трудоёмкость написания управляющих команд модификации данных;
  • ориентированность на фиксированное логическое содержание документа, набор команд может быть применён только к документу имеющему предварительно подготовленную внутреннюю структуру;
  • жесткая привязка к определённому формату документа, не позволяющая использовать имеющийся код для документов в форматах отличных от тех, для которых он был написан.

Для преодоления этих недостатков был предложен новый принцип обработки данных, основанный на объектной модели управления текстом. Одним из его ключевых особенностей является анализ списка правил предоставляемых человеком, в соответствии с которыми происходит изменение внутреннего содержания документа. Реализация данного метода позволила решить следующие задачи:

  • изменение вида отображаемой в электронном документе информации;
  • декомпозиция содержания документа с целью её использования в электронных учебных курсах и Интернет ресурсах;
  • преобразование списков документов из одного типа в другой;
  • прямой доступ к служебным данным документа;
  • печать фрагментов данных из списка исходных документов.

Характеристика языка

Основные концепции

Человек, читая текст, воспринимает отдельные символы, используя пробелы, объединяет их в слова, точки воспринимает как разделители предложений, предложения обобщает в главы. Сложность в оперировании машиной текстовыми блоками, заключается в том, что при одинаковой логике, вариантов компоновки этих блоков бесчисленное множество. Решением этой проблемы является технология обработки данных, оперирующая логическими единицами документа — текстовыми объектами, такими как: символ, слово, предложение, абзац, глава, раздел. К одной из её ключевых особенностей относится возможность анализа списка правил предоставляемых пользователем, в соответствии с которыми происходит изменение внутреннего содержания документа.

Обрабатываются не единичные объекты, а все объекты отвечающие заданным критериям:

  1. Минимальная структурная единица — символ или объект, который невозможно разделить на более мелкие части;
  2. Наборы структурных единиц — слова, таблицы и составные объекты;
  3. Логические элементы текста — абзацы, параграфы, главы, документы.

Особенности синтаксиса

  • ключевые функции, системные константы и логические указатели методов пишутся заглавными буквами.
  • методы и указатели описывающие параметры пишутся с большой буквы
  • имена объектов пишутся с маленькой буквы;
  • символ . разделитель метода объекта;
  • символ ` комментарии;
  • символ " текстовые данные. Для использования кавычек в тексте используется косая наклонная черта /;
  • символ в начале строки # обозначает директивы препроцессора (Зарезервировано).

Правило — это логически законченная конструкция языка, записываемая компактно, состоит из:

  • управляющей функции;
  • параметры обработки данных;
  • логического указателя направления вывода;
  • основного объекта.

Схема:

ФУНКЦИЯ параметры УКАЗАТЕЛЬ объект

Пример использования

'Загрузка файлов
OPEN Mask("Файл.docx") AS исходные_файлы
'Определяем видимые символы
GRUP исходные_файлы.Symbol(ALL) AS символ
'Группируем символы в слова
GRUP символ.Where(NOSELF, LEFT) FOR символ.Where(NOSELF, RIGHT) AS слово
'Группируем слова в предложения
GRUP слово.Where(новая_строка, EDGE, LEFT) FOR слово.Where(новая_строка, EDGE, RIGHT) AS предложение
'Определяем имя раздела
GRUP предложение.Font(Type "Bold", Size "14", FUZZY) AS имя_главы
'Подсвечиваем имена глав другим цветом
GRUP имя_главы.Apply(Font(Color "Red")) AS имя_главы_красный
'Суммируем указатели
GRUP исходные_файлы.Apply(имя_главы_красный) AS изменённые_файлы
'Сохраняем файл
SAVE изменённые_файлы AS Mask("Документ%.html")

Среда разработки

DuAL Имеет бесплатное и полноценное IDE.

В процессе запуска приложения пользователю выводится окно «Мастера подготовки данных», состоящего из нескольких вложенных окон:

  • первое окно — выбор базового типа обработки документов;
  • настройки местоположения результирующих документов;
  • определения исходных документов, участвующих в обработке;
  • конструктор управляющих правил, устанавливающий параметры текстовых блоков, на основе которых будет строить выборка данных из основной последовательности. Каждый из трёх блоков должен соответствовать текстовому блоку в документе;
  • добавление/замещение текстовых блоков в файлах документов;
  • настройка параметров печати.

По завершению работы окна «Мастер подготовки данных», создаются файлы нового проекта, содержащие в себе правила для обработки исходных документов. Далее выводится окно «Редактор управляющих правил» и «Вывод информации о состоянии процесса обработки» и на основе анализа содержимого файлов созданных мастером, создается дерево проекта со списком документов подлежащих обработке. В окне редактора управляющих правил, каждый логический элемент, для удобства восприятия автоматически подсвечивается соответствующим цветом. Пользователю предоставляется возможность изменить структуру правил в соответствии со своими задачами и личными предпочтениями. Система автоматически отслеживает все изменения, вносимые в структуру правил. На основании этих данных, система изменяет список документов подлежащих обработке, при этом осуществляется контроль правильности логических конструкций и доступность документов поставленных на обработку.

Пользователь инициирует процесс обработки правил, в ходе которого на экран выводится информация о текущем состоянии процесса: количество загруженных документов, сформированные текстовые объекты, выгруженные файлы, дополнительная информация по документам. Выводимая информация представлена в виде отчётов с автоматической группировкой по категориям. По завершению обработки пользователь продолжает работу с документами средствами сторонних производителей или встроенными средствами системы. Результатом является полноценная электронная книга, содержащая в себе: страницы информации и их список в форме древовидной структуры, возможность перемещения по содержанию, текстовый поиск, возможность добавления закладок.

Литература

  • Тимченко М. С., Прохоров С. А.. «Автоматизация процесса формирования электронных учебных пособий с применением технологии объектной обработки текста». Журнал «Качество. Инновации. Образование», Москва, 2010, № 2, стр.53-56.
  • Тимченко М. С., Прохоров С. А.. «Преимущества объектной обработки текста в создании электронных учебных пособий». Международный журнал «Программные продукты и системы», Москва, 2010, № 3, стр. 90-92
  • Тимченко М. С.. «Система поддержки принятий решений при формировании электронных учебных курсов». Журнал «Качество. Инновации. Образование», Москва, 2011, № 1, стр. 83-85.

См. также

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "DuAL" в других словарях:

  • dual — dual …   Dictionnaire des rimes

  • dual — dual, duale [ dɥal; dyal ] adj. • 1948; du bas lat. dualis « deux » 1 ♦ Log., math. Se dit de propriétés qui sont par deux et qui présentent un caractère de réciprocité. Équation, expression duale, qui se déduit d une équation ou d une expression …   Encyclopédie Universelle

  • Dual — may refer to: Dual (mathematics), a notion of paired concepts that mirror one another Dual (category theory), a formalization of mathematical duality . . . see more cases in Category:Duality theories Dual (grammatical number), a… …   Wikipedia

  • dual — Fowler (1926) described dual and (with better reason) dualistic as ‘words of the learned kind’, and warned against using them when alternatives such as double, two, and twofold were available. The danger was illusory, however, and dual causes no… …   Modern English usage

  • Dual — Saltar a navegación, búsqueda Dual puede referirse a: Dual, en lingüística, forma del número gramatical diferente del singular y del plural. Dual, en matemáticas, espacio que refleja de una manera abstracta la relación entre los vectores fila… …   Wikipedia Español

  • dual — DUÁL, duale, s.n. Număr gramatical care indică în unele limbi două obiecte ori fiinţe alcătuind de obicei o pereche. [pr.: du al] – Din fr. duel, lat. dualis. Trimis de ana zecheru, 13.09.2007. Sursa: DEX 98  duál s. n., pl. duále Trimis de… …   Dicționar Român

  • Dual S — Le Dual S est un récepteur/décodeur de programmes télévisés, radios et services multimédias exploité par certaines chaînes à péage (notamment les bouquets Canal+/Canalsat) et adapté à la télédiffusion numérique en Haute Définition via satellite.… …   Wikipédia en Français

  • dual — UK US /ˈdjuːəl/ adjective [before noun] ► having two parts, features, etc.: »In June, he bowed to shareholder pressure and split his dual role as chief executive and chairman. »With more families requiring dual incomes, people have less time to… …   Financial and business terms

  • dual — [do͞o′əl, dyo͞o′əl] adj. [L dualis < duo, TWO] 1. of two 2. having or composed of two parts or kinds, like or unlike; double; twofold [a dual nature] n. Linguis. 1. DUAL NUMBER 2. a word having d …   English World dictionary

  • Dual — Du al, a. [L. dualis, fr. duo two. See {Two}.] Expressing, or consisting of, the number two; belonging to two; as, the dual number of nouns, etc., in Greek. [1913 Webster] Here you have one half of our dual truth. Tyndall. [1913 Webster] …   The Collaborative International Dictionary of English


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»