SVS(1)

НАЗВАНИЕ
svs - запуск системы SVS FORTRAN

СИНТАКСИС


	/util/svs  [+a] [-a] [+b] [-b] [+c72] [+charequ] [+d] [-d] [+dc] [-dc] [

	    [+eфайл] [+f] [-f] [+int2] [+iфайл] [+log2] [+lфайл] [+p] [-p] [+q] 

	    [+x] файл ...

ОПИСАНИЕ
/util/svs является shell-процедурой для запуска системы SVS FORTRAN.

Входной язык системы SVS FORTRAN является стандартным Фортраном-77. Компиляция SVS-программ обычно проходит в четыре фазы: получение промежуточного кода, получение объектного кода SVS, получение объектного файла обычного формата, получение выполняемой программы. Для получения выполняемой программы необходимо, чтобы были доступны библиотеки libSVSf.a и libSVSp.a.

Файлы с исходными текстами должны иметь расширение .for. Файл с промежуточным кодом имеет расширение .i (см. ниже опцию -i).

Кроме обычных операторов Фортрана, в исходном тексте могут присутствовать указания компилятору, характеризующиеся символом $ в первой позиции. Перечислим их.

$argcheck, $noargcheck
Трактовать несоответствие формальных и фактических параметров как фатальную ошибку или как предупреждение. Если задана опция +a (только ANSI), то независимо от указаний компилятору несоответствие параметров рассматривается как ошибка.

$binary, $notbinary
Директива позволяет программам, использующим ныне устаревшие "чистые" бесформатные файлы, работать под более новыми версиями системы. Если перед оператором OPEN указана директива $binary, то файл типа UNFORMATTED трактуется как файл типа BINARY. При указании $notbinary UNFORMATTED трактуется как тип файла в соответствии со стандартом ANSI, но файл будет содержать управляющие последовательности и символы конца записи.

$charequ
Разрешить связывать отношением EQUIVALENCE переменные числовых и символьных типов.

$col72
Обрезать входные строки до 72 символов. По умолчанию строки обрезаются до 120 символов. Кроме того, действует ограничение на суммарное количество символов в операторе - 1360, что соответствует 20 строкам по 66 символов.

$debug
Включить/выключить генерацию таблицы для отладчика SVS.

$f66do
При указании этой опции DO-циклы всегда выполняются по крайней мере один раз.

$float, $nofloat
Генерировать код для сопроцессора арифметики вещественных чисел или для эмулятора. См. также опции командной строки +f и -f.

$include файл
Вставить файл в данное место текста. Допускается до пяти уровней вложенности включаемых файлов.

$int2
По умолчанию считать тип INTEGER совпадающим с INTEGER*2, тип LOGICAL - с LOGICAL*1.

$log2 По умолчанию считать тип LOGICAL совпадающим с LOGICAL*2.

$system
В идентификаторах разрешается использовать символы _ и %.

$xref
Генерировать таблицу перекрестных ссылок.

В командной строке допускаются следующие опции:

+a -a
Рассматривать использование несоответствующих стандарту ANSI возможностей как ошибку (+a) или нет (-a). По умолчанию используется -a. Установка +a вызывает автоматическую установку флага -c72, ограничивающего длину строки до 72 символов. При указании флага +a компилятор позволяет все же указывать директивы $include, $xref, $col72, $float, $nofloat, $debug, $nodebug и $notbinary. При этом недопустимы директивы $system, $f66do, $int2, $charequ и $binary.

+b -b
Управление интерпретацией типа файла UNFORMATTED в операторе OPEN. По умолчанию полагается опция -b, соответствующая директиве $notbinary, при указании которой тип файла не является "чистым" бесформатным, а соответствует стандарту ANSI.

+c72
Обрезать входные строки до 72 символов.

+charequ
Разрешить связывать отношением EQUIVALENCE переменные числовых и символьных типов.

+d -d
Генерировать (+d) или нет (-d) таблицу для SVS отладчика.

+dc -dc
Условная компиляция строк, содержащих в первой позиции символ D или d.

+e -e
Стандартные соглашения системы SVS FORTRAN таковы, что параметры подпрограмм и функций забираются со стека вызванной подпрограммой (функцией), перед возвратом. В то же время соглашения C-компилятора иные: параметры забирает со стека вызывающая функция. Опция -e заставляет SVS-компилятор придерживаться соглашений, принятых в реализации языка C. Если нужно вызывать из Фортран-программы C-функции, следует употребить опцию -e, что и делается при компиляции средствами редактора РК. Отметим, что если имя подпрограммы или функции начинается с символа %, она будет скомпилирована по стандартным соглашениям SVS FORTRAN.

+eфайл
Вывести все сообщения об ошибках компиляции в файл.

+f -f
Генерировать код для сопроцессора арифметики вещественных чисел (+f) или для эмулятора (-f).

+int2
По умолчанию считать описание INTEGER эквивалентным INTEGER*2, а LOGICAL - LOGICAL*1.

+iфайл
Назвать .i-файл именем файл.

+log2
По умолчанию считать описание LOGICAL эквивалентным LOGICAL*2.

+lфайл
Сгенерировать листинг и поместить его в файл.

+p -p
Выводить (+p) или не выводить (-p) запрос при обнаружении ошибок. При компиляции средствами редактора РК используется опция -p.

+q -q
Выводить больше (-q) или меньше (+q) информации о работе компилятора. По умолчанию -q.

+x
Генерировать таблицу перекрестных ссылок.

ФАЙЛЫ


	/usr/lib/libSVSf.a

	/usr/lib/libSVSp.a  Библиотеки времени выполнения.

	/usr/bin/fortran    Компилятор.

	/usr/bin/jcode      Генератор объектного кода SVS.

	/usr/bin/jlinker    Генератор объектных файлов обычного

	              	    формата.

	/usr/lib/ftncterrs  Перечень ошибок времени компиляции.

	/usr/lib/ftnrterrs  Перечень ошибок времени выполнения.

СМ. ТАКЖЕ
cc(1), f77(1).

ДИАГНОСТИКА
Система SVS FORTRAN содержит файл сообщений об ошибках компиляции, а также файл сообщений об ошибках времени выполнения. Компилятор выдает номера ошибок и сообщения о них.