ГЛАВА 1. 1. Введение в Clipper

ОПИСАНИЕ СОДЕРЖИМОГО РУКОВОДСТВА

Материал разбит на 12 глав и приложения.


* глава 1 содержит введение, включая обзор руководства и
объяснения работы компилятора и интерпретатора.

* глава 2 содержит указания по установке Clipperа и требования к
компьютеру для установки, компилирования и исполнения программ.

* глава 3 описывает преимущества Clipperа включая расширения,
доступные только в Clipperе.

* глава 4 содержит информацию о данной реализации языка Dbase 3
plus.


 


* глава 5 содержит детальное описание всех команд Clipperа.
* глава 6 содержит детальное описание всех функций Clipperа.

* глава 7 содержит указания по компиляции, линковке и запуску
Ваших программ.

* глава 8 содержит материалы по использованию отладчика
Clipperа.

* глава 9 содержит информацию и указания, касающиеся Clipperа и
среды DOS. Рассмотрены командный процессор, файлы и буферы DOSа,
поддержка терминала ANSI и использование памяти компьютера.

* глава 10 содержит информацию и инструкции для написания
программ, работающих в среде локальной сети.

* глава 11 содержит информацию, детализирующую возможности и
использование системы расширения Clipperа.

* глава 12 содержит указания по использованию утилитных
программ.

* приложения




КОМПИЛЯТОР CLIPPER


Clipper - это самостоятельная система, содержащая все средства,
необходимые для разработки прикладных программ. С Clipperом Вы можете

- 5 -
создать программы без помощи ещего программного
обеспечения, не считая текстового редактора. После того, как
программы отлажены, скомпилированы и слинкованы, они могут
непосредственно исполняться на любом компьютере, который поддерживает
PC/MS-DOS версии 2.0 и выше (или версии 3.1 и выше для сетевых
приложений).


Различия между интерпретатором и компилятором


Интерпретатор

Чтобы создать программу, используя интерпретирующий язык, Вы
создаете файл, содержащий необходимые команды и функции. Каждая
строка текста исполняется индивидуально, каждый раз когда Вы
запускаете программу. Интерпретатор "шагает" от строки к строке и,
если не обнаруживает ошибок, преобразует ее к виду понятному машине
(машинный код).
Если перед преобразованием обнаружена ошибка, то выполнение
программы приостанавливается и на экран выдается сообщение об ошибке.
Вы должны исправить ошибку и запустить программу по новой. Этот
процесс повторяется до тех пор, пока в программе есть ошибки. К
сожалению, даже после того, как клиппер-программа отлажена, исполняется она
по прежнему с отнимающей время проверкой каждой строки.
Если на какой-либо строке найдена синтаксическая ошибка, то
исполнение программы прерывается и интерпретатор выдает
соответствующее сообщение об ошибке. Вы должны вернуться в редактор,
исправить текст и снова запустить программу под управлением
интерпретатора. Эта моментальная обратная связь может быть полезной
на начальном этапе разработки программ.
После того, как Вы исправили первую найденную ошибку,
интерпретатор опять проверяет, преобразует и выполняет все строки
программы, начиная с первой. И каждый раз, когда встречается ошибка,
этот цикл повторяется - до тех пор, пока клиппер-программа не станет
совершенной.
К сожалению, Вы не имеете возможности сохранить отлаженный
машинный код, созданный при предыдущем прогоне или отключить механизм
проверки каждой строки. Каждый раз, когда Вы запускаете программу,
интерпретатор "разбирает" каждую строку, что сильно замедляет работу
программы.


Компилятор

Компилятор проверяет каждую строку программы на правила
синтаксиса и т.д. в основном так же, как и интерпретатор. Но, в
отличие от последнего, компилятор просматривает файл с исходным
текстом до конца, выдавая сообщения о каждой найденной ошибке.
Компилятор выполняет промежуточный шаг преобразования исходного
текста в машинный код, переводя текст в объектный код и сохраняя его
в файле объектного кода (.OBJ). Этот файл хранит проверенный и
переведенный исходный текст.
Сам объектный код не исполняется компьютером. Его требуется
"скомпоновать" (слинковать) т.е. связать его с необходимыми
поддерживающими процедурами и, таким путем, получить самостоятельно
исполняемый файл (.EXE). После того как линковка завершилась успешно,

- 6 -
.EXE файл содержит все необходимое для запуска программы
непосредственно из DOSа - просто набрав его имя. Программа
выполняется с максимальной скоростью, поскольку больше нет проверок
каждой строки, как в интерпретаторе.

Использование других языков

Во многих компиляторах есть способность линковать раздельно
скомпилированные или ассемблированные программы, объединяя их в одну.
Преимуществом является то, что можно использовать различные языки -
такие как Си или Ассемблер.

Компоновка программ

При компоновке к объектному файлу присоединяются не только
поддерживающие процедуры, хранящиеся в библиотечном файле, но и ранее
отдельно скомпилированные программы, которые вызывает Ваша клиппер-программа.
Инструкции по компоновке программ смотрите в главе 7.
Заметьте, пожалуйста, что получившийся исполняемый файл (.EXE)
значительно больше объектного (.OBJ), за счет включения процедур из
библиотек и отдельно скомпилированных кусков, позволяющих запускать
программу прямо из под DOSа.

Ошибки, которые могут возникнуть при компоновке

В процессе компоновки могут возникать различные ошибки.
Для примера, могут быть двойные или неопределенные ссылки. Эти ошибки
должны быть исправлены либо пересмотром исходного текста либо
включением тех модулей, которые Вы забыли указать линкеру. Процесс
компиляции и линковки повторяется по мере необходимости.


Ошибки, которые могут возникнуть при выполнении программы

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


Использование оверлеев

Оверлеи позволяют нескольким сегментам .EXE файла использовать
одну область памяти. Разные сегменты подгружаются в нее по мере
необходимости. Использование оверлеев обсуждено в главе 7.


Исполнение скомпилированных программ на любом компьютере,
совместимом с PC и MS-DOS.

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

- 7 -

- PC/MS-DOS 2.0 или выше для однопользовательских программ

- PC/MS-DOS 3.1 или выше для сетевых программ

- поддержка ввода/вывода терминалов IBM/PC или ANSI

- исполняемый (.EXE) файл

- любые файлы нужные для работы программы (базы данных, индексы
и т.д.)