Консольный режим компилятора VIP Назад В начало Вперед

Компиляция программ на языке VIP ( см. "Средство разработки Атлантис. Описание языка VIP") выполняется компилятором VIP:

vip [<компилируемый-файл>] [<ключи>]

<компилируемый-файл> - файл проекта, описание словаря, интерфейс, FCOM-отчет, меню, другие программы на языке VIP. В имени файла допускается использовать маски: *.vip, staff*.* и т.п. В этом случае будут откомпилированы все файлы, соответствующие заданной маске.

<ключи> - ключи, управляющие режимом компиляции:

/? - выдать подсказку по параметрам компилятора.

/c:<файл-конфигурации> - задать файл конфигурации компилятора. Например:

/c:"%RPP_HOME%\support.cfg"
/c:galaktika.cfg

В первом случае имя файла конфигурации заключено в кавычки, т.к. в %RPP_HOME% могут встретиться имена с пробелами.

/env:<имя-окружения> - переключить на время компиляции имя системы с текущего на <имя-окружения>. Это позволяет автоматически подцеплять необходимые ресурсы на стадии компиляции программы. Имя задается в кавычках. Например:

/env:"galnet"

При запуске vip.exe с данным ключом при компиляции интерфейсов система переключается на указанную при каждой компиляции в рамках сессии. Ресурсы, зарегистрированные в репозитарии для данной системы, становятся доступными компилятору. Система должна присутствовать в репозитарии с непустым корректным путем.

После компиляции восстанавливается исходная система.

Если указанную систему не удалось найти в репозитарии или в репозитарии для нее не задан путь, то компилятор выдает ошибку.

В интерактивном режиме данную опцию можно сбросить, нажав кнопку [Сброс] в диалоге выбора системы (меню "Сервис"->"Установить среду для последующей операции").

Имя системы можно также задать директивой компилятора #setCurEnv (см. "Средство разработки Атлантис. Описание языка VIP"), командой меню "Сервис"->"Установить среду для последующей операции" (см. "Инструментальный комплекс Support. Компилятор интерфейсов") или командой меню "Компиляция формы"->"Система..." (см. "Инструментальный комплекс Support. Редактор отчетов FCOM").

Данный ключ доступен начиная с Атлантис 5.3.05.

/<параметр-файла-конфигурации> - параметры, прописываемые в файле конфигурации, могут быть заданы и в командной строке. Параметры задаются в виде <секция>.<параметр>=<значение>. Для многих параметров имеются краткие синонимы. Например, можно задать /Compilers.Run=on или /r - в обоих случаях после компиляции исходных файлов компилятор перейдет в режим исполнения (интерактивный режим).

Результат компиляции записывается в ресурсный файл. В дальнейшем программа, откомпилированная в ресурсный файл, интерпретируется исполняющей средой Атлантис. Для этого можно запустить компилятор VIP в интерактивном режиме (ключ /r). Либо, используя методы библиотек Атлантис, можно написать специальную программу, инициирующую процесс интерпретации. Например, для запуска Галактики используется galnet.exe, а для запуска Support - support.exe.

По умолчанию в результате компиляции создается ресурсный файл с именем Atlantis_%USER%.res в текущей директории. Имя ресурсного файла можно поменять параметром Compilers.OutputResourceName.

Начиная с Атлантис 5.2.10 добавлена продвинутая поддержка версионности ресурсов, обеспечивающая возможность хранения ресурсных элементов разных версий в одном ресурсном файле.

Протокол компиляции записывается в файл Vip_Res.log в текущей директории.

Параметры работы компилятора задаются в конфигурационном файле. По умолчанию используется файл vip.cfg в текущей директории. Конфигурационный файл можно задать явно с помощью ключа /c.

В составе инструментального комплекса Support имеется модуль Компилятор интерфейсов, позволяющий писать, компилировать и отлаживать программы на языке VIP. Фактически, возможности этого модуля совпадают с возможностями компилятора VIP в интерактивном режиме ( см. "Инструментальный комплекс Support. Компилятор интерфейсов").

Также в составе Атлантис имеется интерактивная среда разработки Viper. В ней для компиляции используется консольный режим компилятора VIP ( см. "Средство разработки Атлантис. Среда разработки Viper").

Примеры

vip.exe *.vip /r /c:support.cfg
vip.exe app.prj /Compilers.Run=on /c: support.cfg

Версия

Атлантис 5.2.10 - добавлена продвинутая поддержка версионности ресурсов.

Атлантис 5.3.05 - добавлен ключ /env.