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 содержит файл сообщений об ошибках
компиляции, а также файл сообщений об ошибках времени
выполнения. Компилятор выдает номера ошибок и сообщения
о них.