clip является препроцессором, компилятором и сборщиком программ,
написанных на xBase диалектах, в частности clipper (tm). Для нормальной
работы компилятора необходимо в переменной окружения CLIPROOT указать
путь до каталога, где лежат необходимые для компиляции и сборки каталоги:
charsets, include, lib, bin, keymaps, locale.po, locale.mo.
clip в соотвествии с [options] зачитывает файлы с исходными текстами,
объектными модулями, библиотеками и создает объектные модули или исполняемые файлы.
OPTIONS
<-h>
help page. Страница помощи.
<-H>
help about acceptable environment variables. Страница помощи
о переменных окружения.
<-V>
print clip version. Выдать версию программы.
<-v[level]>
set verbose level (default==1), уровень подробности выдаваемых
сообщений при компиляции и сборке.
<-a>
auto memvar variables. Любая переменная, включенная в в
операторы PUBLIC, PRIVATE или PARAMETERS автоматически объявляется
как MEMVAR.
<-w>
warning about implicit var declaration. Генерировать
предупреждающие сообщения о некорректных объявлениях и использовании
необъявленных переменных.
<-e>
generate executable file. Из всех перечисленных [fileN] собрать
исполняемый файл.
<-c>
stop after generation C code. Результатом работы будет C- программа.
<-g,-b>
generate debug info. Включить в результат работы компилятора
информацию для отладчика.
<-t>
print program syntax tree
<-o[name]>
set output file name. Результат работы вывести в файл [name]
<-O>
make optimisations. Использовать при компиляции оптимизирующие
алгоритмы.
<-M>
use first [file1] as start program point. Сгенерировать
процедуру MAIN из первого указанного PRG-файла. Использовать
эту опцию следует только в случае если процедура MAIN явно
не указана ни в одном из перечисленных fileN.
<-n>
don't declare module procedure. Не будет создавать процедуру с
тем же именем что и имя модуля .prg.
<-p>
generate pseudocode module. Результатом работы компилятора
будет файл с байт-кодом.
<-l>
compile C-pseudocode module. Результатом работы компилятора
будет файл с программой на языке С.
<-s>
compile into shared object. Собрать программу с динамически
подключенной библиотекой CLIPROOT/lib/libclip.so
<-I[path]>
add include search path. При компиляции использовать заголовочные
файлы из указанного каталога.
<-L[path]>
add library path. При сборке программ использовать библиотеки из
указанного каталога.
<-D[name]>
define macro name. Назначить препроцессору идентификатор, аналогично
описанному в тексте программы через команду #define.
<-D[name=value]>
define macro name as [value]. назначить идентификатор со значением.
<-U[filename]>
use alternate (or none) standard include file (default==std.ch).
При компиляции использовать вместо std.ch указанный файл.
<-S[charset]>
define source charset of string constants. При компиляции
считать что все строковые константы имеют charset кодировку.
<-T[charset]>
define target charset of string constants. Все строковые константы
вложить в объектный файл в charset кодировке.
<-P>
preprocess only. Результатом работы компилятора бедут текст программы
после препроцессора.
<-C>
print command definitions. Вывести все описанные команды, в
соответсвии с текущим состоянием и опциями.
<-E[name=value]>
exact to set same environ variable(see -H for details).
Установить переменную окружения [name] в значение [value] на
время работы компилятора.
<filename>
files to process. Список файлов для обработки компилятором.
Все перечисленные опции можно прописать в файле .cliprc для использования
этих значений по-умолчанию.
< +option >
means disable feature (if possible). Отменить ранее указанную
опцию - применяется для отмены опций указанных в .cliprc.
ENVIRONMENT VARIABLES
<CC>
name of C compiler (default=='gcc')
<CFLAGS>
options for C compiler (default=='')
<COMPILE_FLAG>
'compile-only' flag for C compiler (default=='-c')
<COPT>
optimisation flag for C compiler (default=='-O2')
<CDBG>
debug flag for C compiler (default=='-g')
<OUT_FLAG>
output flag for C compiler (default=='-o')
<INCLUDE_FLAG>
include flag for C compiler (default=='-I')
<OBJSUF>
suffix for output object files (default=='.o')
<SOBJSUF>
suffix for output shared files (default=='.so')
<LIBSUF>
suffix for library files (default=='.a')
<SLIBSUF>
suffix for shared library files (default=='.so')
<SFLAGS>
options for C compiler - shared version (default=='-shared')
<CLIPLIB>
runtime support library (default=='libclip.a')
<CLIPSLIB>
runtime support shared library (default=='libclip.so')
<CLIPLIBS>
additional libs (default=='')
<CLIPROOT>
root for all clip related files (default=='/usr/local/clip')
<CLIP_MODULE>
current locale module (default=='doc')
<CLIP_CMDSTR>
comma-separated list of command-line options
PREDEFINED MACROS
<__FILE__>
string - name of current compile file
<__BASE_FILE__>
string - name of root compile file
<__LINE__>
numeric - number of current line in current file
<__VERSION__>
string - version of clip
<__CLIP__>
string - version of clip
<__SYSTEM__>
string - name of operating system
<__DATE__>
string - date in format 'MON DD YYYY'
<__TIME__>
string - current time in format 'HH:MM::SS'
USAGE
clip можно использовать как препроцессор, компилятор, сборщик
программ, написанных на диалектах xBase при наличии соответсвующих этим
диалектам описания std.ch и библиотек.
При помощи clip можно создавать программы не только для терминального
пользовательского интерфейса, но и скрипты для обработки текстовых и т.п.
данных, в том числе для cgi, sql и т.п. скрипты.