### NAME

C L I P - clipper (tm) совместимый компилятор.

### SYNOPSIS

clip [options] [file1] [..fileN]

### DESCRIPTION

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 и т.п. скрипты.

### SEE ALSO

gcc(1), ar(1)

### AUTHOR

Paul Lasarev <paul@itk.ru>, 2000

### LICENSE