CLIPPER - это созданная фирмой Nantucket Corp. система
программирования приложений в среде БД, включающая в себя быст-
рый компилятор программ, написанных на языке, близком к языку
СУБД dBaseIII PLUS, редактор связей, развитый интерактивный
символический отладчик, обладающий пользовательским интрефейсом
в стиле меню, который можно связать с разрабатываемой програм-
мой для облегчения ее отладки, большую библиотеку объектных мо-
дулей системных функций, а также ряд служебных программ (ути-
лит).
Система Clipper представляет собой, по существу, СУБД
компилирующего типа с автонотным (self-contained) языком, в
значительной мере совместимую по входному языку программирова-
ния и организации базы данных с СУБД dBaseIII PLUS. Основная
цель разработки этого програмного продукта - достижение более
высокой производительности прикладных систем по сравнению с
созданными с помощью средств dBaseIII PLUS. Эта задачп решается
благодаря использованию на стадии исполнения заранее скомпили-
рованного кода вместо интерпретации исходных программ, а также
за счет более эффективных механизмов индексирования файлов БД.
Clipper работает в среде операционной системы MS DOS
версии 2.0 и выше. В результате компиляции текстов программ на
исходном языке он порождает загрузочные программные модули, не
требующие каких-либо системных срдств на стадии исполнения.
Тем самым разработанная п/п полностью "отчуждается" от
инструментальных средств его разработки, может распространяться
независимо от них, и пользователь такой п/п избавляестя от не-
обходимости изучать этот инструментарий.
Допускается декомпозиция программных модулей на
составные части, из которых на стадии редактирования можно
сформировать модули оверлейной структуры. Разработка крупных
приложений значительно облегчается благодаря технологии сепа-
ратной компиляции их компонентов.
Clipper обеспечивает высокую скорость не только при
исполнении программ, но и на стадии их компиляции. Система
польностью совместима с системой dBaseIII PLUS по организации
файлов БД. Однако индексные файлы в системе Clipper имеют иную
более эффективную организацию, что наряду с компиляцией
способствует существенному повышению производительности прог-
рамм на стадии исполнения. Индексные файлы dBaseIII PLUS подме-
няются файлами системы Clipper аналогичного назначения автома-
тически на стадии исполнения либо заблаговременно с помощью
специальной утилиты.
В языке программирования системы Clipper отсутствуют
такие полноэкранные команды языка dBase, как ASSIST, BROWSE,
EDIT, имеются ограничения на использование функции макроподста-
новки (&). Значением сторковой переменной, к которой применя-
ется эта функция, не может быть, в частности, полная команда
или фраза команды с ключевым словом, а также список имен полей
записи файла БД или других объектов языка с разделителями-запя-
тыми. Вместе с тем в язык введены многие расширения. К их числу
(в летней версии 1987 г.) относятся возможности работы с масси-
вами переменных, которые могут объявляться при необходитости
глобальными величинами, спецификации эункций, определяемых
пользователем, возможности обращения к функциям на языках Си и
ассемблере с передачей им параметров, средства программирования
пользовательских интерфейсов, построенных в стиле меню, сохра-
нения и восстановления изображений, показанных на экране, боль-
шое количество новых функций различного назначения, в част-
ности, для операцийнад строками.
В языке Clipper предусматриваются средства блокирова-
ния файлов и записей файлов БД, необходимые для использования
программ на этом языке в мультипользовательской среде сетевых
систем БД. Введены новые синтаксические конструкщии, например
циклы FOR...NEXT, новая фраза VALID для верификации данных,
вводимых с помощью команды GET, и ряд других.
К пользовательской программе можно легко подключить
процедуру HELP, обеспечивающую глобальную и контекстно-зависи-
мую помощь. Эта процедура вызывается на стадии исполнения тра-
диционным нажатием функциональной клавиши F1. При этом ей авто-
матически передаются необходимые параметры.
Clipper включает, как уже указывалось, весьма богатые
системные библиотеки функций различного характера, существенно
обогащающих язык, позволяющих значительно сокращать затраты
времени на прикладное программирование и уменьшать объем исход-
ного кода. В летней версии 1987 г. предусмотрено около ста раз-
личных функций для анализа состояния системы, операций с масси-
вами, для вычисления элементарных математических функций, опе-
раций над строками, редактирования данных, для создания файлов
DOS и выполнения операций над ними, работы со значениями полей
типа Memo в записях фаийлов БД и для других целей.
Кроме того, пользователь имеет возможность создавать и
использовать собственные библиотеки функций.
Что касается системных библиотек, то Nantucket Corp.
постоянно расширяет их состав. В 1988 г. был дополнительно
включен ряд новых функций, кроме того, фирма начала поставлять
пакет Clipper предназначенного для использования совместно с
системой Clipper. Пакет содержит большую новую структуризован-
ную библиотеку функций и расширенный драйвер экранов и клавиа-
туры, призванный заменить имеющийся в системе Clipper драйвер.
Эти функции и драйвер могут вкючалься в приложение на стадии
редактирования.
Все функции библиотеки обладают высокой производитель-
ностью и предъявляют минимальные требования к оперативной памя-
ти. Они реализованиы на языке ассемблера и оптимизированы. Биб-
лиотека пакета включает ряд функций для конструирования многоо-
конных пользовательских интерфейсов, для непосредственной рабо-
ты с оборудованием, подлюченным к последовательному интерфейсу
ПЭВМ, минуя BIOS и обращиния к DOS.
Предусмотрена большая группа строковых функций, функ-
ций для преобразования числовых значений и битовых операций,
операций над датами и временем, установки системных переключа-
телей и получения информации об их состоянии, а также о харак-
теристиках и состиянии операционной обстановки, видеофункций,
функций для работы с дисками, файлами БД и принтером. Всего
библиотека пакета включает более 270 различных функций.
Важным достоинством системы Clipper является возмож-
ность использования дополнительной (свыше 640 Кбайт) памяти
персонального компьютера при исполнении разработанных его
средствами п/п.
Вместе с тем система Clipper обладает и существенным
недостатком - порождаемые ею загрузочные модули довольно велики
по объему. Один из способов преодоления этого изъяна - при-
доставляемые пакетом возможности конструирования программных
модулей с оверлейной структурой. Однако как "цельнотянутый"
загрузочный модуль, так и корневой сегмент модуля с оверлейной
структурой не могут быть размером менее 110Кбайт, поскольку в
них включаются все необходимые элементы системной среды и функ-
ции стадии исполнения.
К числу недостатков этого продукта следует, вероятно,
отнести также отсутствие комфортной среды для эффективной раз-
работки и отладки Clipper-программ. Имеется в виду среда подоб-
ная той, которой обладают, например, Турбосистемы программиро-
вания фирмы Borland Int. Входящий в состав системы Clipper сим-
валический отладчик является лишь одной из составных частей та-
кой среды.
Проблему сокращения объема требуемой оперативной памя-
ти и уменьшения размеров загрузочных модулей фирма Nantucket
Corp. решила в новой версии системы - Clipper 5.0. Для этой це-
ли в состав нового программного продукта включается динами-
ческий редактор связей - загрузчик, основанный на механизмах
виртуальной памяти и тем самым вообще исключающий необходитость
использвания оверлейной структуры при создании больших прог-
раммных модулей.
Версия Clipper 5.0 обладает и другими важными досто-
инствами. Пользователь (программист-разработчик прикладных
систем) может расширять язык новыми командами и благодаря этому
формировать множества команд, удобные для программирования спе-
цифических классов задач. Предусматриваются новые типы перемен-
ных, а также многомерные массивы. Разработана машино-ориентиро-
ванная документация, к которой возможен доступ в режиме on-line
с помощью Guide to Clipper или Norton Guide.