- DuAL
-
DuAL Семантика: Появился в: Автор(ы): Тимченко Максим
Типизация данных: Испытал влияние: DuAL (англ. Document Access Language — «язык доступа к документам») — сверхвысокоуровневый язык программирования с динамической типизацией, сочетающий в себе возможности языка структурированных запросов — SQL и объектно-ориентированного программирования. Главная особенность языка, это возможность управления содержимым форматированных электронных документов. Обработчик данных реализован на С++. В основе лежит принцип обработки списка правил, в соответствии с которыми происходит изменение содержания документа. Задачи, на решение которых ориентирован язык: изменение вида отображаемой в электронном документе информации, декомпозиция содержания документа, преобразование списков документов из одного типа в другой, прямой доступ к служебным данным документа, печать выбранных фрагментов из списка документов.
Содержание
История
Основным недостатком текстовых редакторов/процессоров является низкая автоматизация процесса обработки текста. На практике, при возникновении у пользователя необходимости разделить большой документ на части или изменить формат некоторых его составляющих, то весь этот процесс пользователю необходимо провести вручную. Языки программирования встроенные в текстовые редакторы частично позволяют решить проблему автоматизированной обработки данных, но имеют ряд существенных недостатков, делающих невозможным их широкое использование, основными из них являются:
- сложность и трудоёмкость написания управляющих команд модификации данных;
- ориентированность на фиксированное логическое содержание документа, набор команд может быть применён только к документу имеющему предварительно подготовленную внутреннюю структуру;
- жесткая привязка к определённому формату документа, не позволяющая использовать имеющийся код для документов в форматах отличных от тех, для которых он был написан.
Для преодоления этих недостатков был предложен новый принцип обработки данных, основанный на объектной модели управления текстом. Одним из его ключевых особенностей является анализ списка правил предоставляемых человеком, в соответствии с которыми происходит изменение внутреннего содержания документа. Реализация данного метода позволила решить следующие задачи:
- изменение вида отображаемой в электронном документе информации;
- декомпозиция содержания документа с целью её использования в электронных учебных курсах и Интернет ресурсах;
- преобразование списков документов из одного типа в другой;
- прямой доступ к служебным данным документа;
- печать фрагментов данных из списка исходных документов.
Характеристика языка
Основные концепции
Человек, читая текст, воспринимает отдельные символы, используя пробелы, объединяет их в слова, точки воспринимает как разделители предложений, предложения обобщает в главы. Сложность в оперировании машиной текстовыми блоками, заключается в том, что при одинаковой логике, вариантов компоновки этих блоков бесчисленное множество. Решением этой проблемы является технология обработки данных, оперирующая логическими единицами документа — текстовыми объектами, такими как: символ, слово, предложение, абзац, глава, раздел. К одной из её ключевых особенностей относится возможность анализа списка правил предоставляемых пользователем, в соответствии с которыми происходит изменение внутреннего содержания документа.
Обрабатываются не единичные объекты, а все объекты отвечающие заданным критериям:
- Минимальная структурная единица — символ или объект, который невозможно разделить на более мелкие части;
- Наборы структурных единиц — слова, таблицы и составные объекты;
- Логические элементы текста — абзацы, параграфы, главы, документы.
Особенности синтаксиса
- ключевые функции, системные константы и логические указатели методов пишутся заглавными буквами.
- методы и указатели описывающие параметры пишутся с большой буквы
- имена объектов пишутся с маленькой буквы;
- символ . разделитель метода объекта;
- символ ` комментарии;
- символ " текстовые данные. Для использования кавычек в тексте используется косая наклонная черта /;
- символ в начале строки # обозначает директивы препроцессора (Зарезервировано).
Правило — это логически законченная конструкция языка, записываемая компактно, состоит из:
- управляющей функции;
- параметры обработки данных;
- логического указателя направления вывода;
- основного объекта.
Схема:
- ФУНКЦИЯ параметры УКАЗАТЕЛЬ объект
Пример использования
'Загрузка файлов 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.
См. также
Ссылки
- Main Page (англ.). — домашняя страница проекта. Архивировано из первоисточника 12 мая 2012. Проверено 4 февраля 201.
Для улучшения этой статьи желательно?: - Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
- Проставить интервики в рамках проекта Интервики.
Основные языки программирования (сравнение • IDE • история • хронология) Используемые
в разработкеАда • APL • Язык ассемблера • ActionScript • ABAP/4 • AutoIt • AWK • Бейсик • Си • Кобол • C++ • C# • Cω • Clarion • Clojure • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • Euphoria • F# • Форт • Фортран • Gambas • Go • Groovy • HAL/S • Haskell • Icon • Java • JavaScript • Limbo • Lua • Модула-3 • Object Pascal • Objective-C • OCaml • Oz • Parser • Паскаль • Компонентный Паскаль • Perl • PHP • PowerBASIC • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic (.NET)
Академические IEC 61131-3 Instruction List • ST • FBD • Ladder Diagram (LD) • SFC
Прочие Эзотерические Визуальные На эту статью не ссылаются другие статьи Википедии. Пожалуйста, воспользуйтесь подсказкой и установите ссылки в соответствии с принятыми рекомендациями.Категории:- Появились в 2004 году
- Языки программирования по алфавиту
- Языки программирования платформы .NET
- Языки программирования семейства ML
- Объектно-ориентированные языки программирования
- Свободные компиляторы и интерпретаторы
Wikimedia Foundation. 2010.