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