ftnchek - онлайн в хмарі

Це команда ftnchek, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


ftnchek - програма перевірки Fortran 77

СИНТАКСИС


ftnchek [ - аргументи[=список] ] [ -масив[=список] ]
[ -[немає]короткий ] [ -дерево викликів[=список] ] [ -[немає]перевірка ]
[ - колони[=Num] ] [ - загальний[=список] ]
[ -[немає]перехресне посилання[=список] ] [ -[немає]декларувати ]
[ -[немає]поділ ] [ - помилки[=Num] ] [ -[немає]зовнішній ]
[ -[немає]f77[=список] ] [ -[немає]f90[=список] ]
[ -[немає]f95[=список] ] [ -[немає]допомога ]
[ -[немає]ідентифікатор-символи[=список] ] [ -включати=вул ]
[ - внутрішній[=список] ] [ -[немає]бібліотека ] [ -[немає]список ]
[ -makedcls[=список] ] [ -mkhtml[=список] ]
[ -[немає]novice ] [ -вихід=вул ]
[ -розмір вказівника[=Num] ] [ -[немає]портативність[=список] ]
[ -[немає]досить[=список] ] [ -проект[=список] ]
[ -[немає]чистий ] [ -[немає]тихий ] [ -[немає]посилання ]
[ -[немає]ресурси ] [ -[немає]шість символів ] [ -[немає]сортувати ]
[ -Source[=список] ] [ -стиль[=список] ] [ -[немає]symtab ]
[ -[немає]усічення[=список] ] [ -використання[=список] ]
[ -[немає]vcg ] [ -[немає]версія ] [ -[немає]летючий ]
[ -розмір слів[=Num] ] [ -обгортання[=Num] ] [ файли ... ]

ОПИС


ftnchek (скорочено від Fortran checker) призначений для виявлення певних помилок у Fortran
програми, яких компілятор зазвичай не робить. ftnchek в першу чергу не призначений для виявлення
синтаксичні помилки. Його мета — допомогти користувачеві знайти семантичні помилки. Семантичний
помилки є законними в мові Fortran, але є марнотратними або можуть спричинити неправильні
операція. Наприклад, змінні, які ніколи не використовуються, можуть вказувати на деякі пропуски в
програма; Неініціалізовані змінні містять сміття, що може призвести до отримання неправильних результатів
розрахована; а змінні, які не оголошені, можуть не мати призначеного типу. ftnchek
призначений для допомоги користувачам у налагодженні їх програми Fortran. Це не призначено
щоб відловити всі синтаксичні помилки. Це функція компілятора. Перед використанням
ftnchek, користувач повинен переконатися, що програма компілюється правильно.

У цьому документі спочатку коротко описано, як викликати ftnchek. Цей розділ слід прочитати раніше
починає використовувати ftnchek. Далі розділи описують ftnchek's варіанти детальніше, дайте
приклад його використання та поясніть, як інтерпретувати результат. Завершальні розділи
згадати про обмеження та відомі помилки ftnchek.

ЗАКЛЮЧЕННЯ ФТНЧЕК


ftnchek викликається за допомогою команди у вигляді:

$ ftnchek [-опція -опція ...] ім'я файлу [ім'я файлу ...]

Дужки вказують на те, що є необов’язковим. Самі кронштейни не є
фактично набрано. Тут параметрами є перемикачі командного рядка або налаштування, які керують
роботу програми та обсяг інформації, яка буде роздрукована. Якщо ні
якщо вказано параметр, дія за замовчуванням — друк повідомлень про помилки, попереджень та
інформаційні повідомлення, але не список програм чи таблиці символів.

Кожен варіант починається з символу «-». (У системах VAX/VMS або MS-DOS ви можете використовувати
або '/', або '-'.) Задля відповідності все більш поширеній конвенції,
Параметри також можуть починатися з '--'. Варіанти докладніше описані далі
.

ftnchek параметри діляться на дві категорії: перемикачі, які є істинними або хибними, і
параметри, які мають числове або рядкове значення. Ім'я комутатора має префікс "ні"
або "ні-", щоб вимкнути його: напр -нечистий вимкне попередження про нечисті функції.
Префікс «ні» також можна використовувати з числовими налаштуваннями, що має ефект вимкнення
відповідні попередження. Налаштування, які керують списками попереджень, мають спеціальний синтаксис
обговорюється нижче. Тільки перші 3 символи назви параметра (не враховуючи '-')
необхідно надати. Двокрапка може використовуватися замість знака рівності для числового чи рядка
постановка завдань; однак ми показуємо лише форму знаку рівності нижче.

Перемикачі та налаштування, які ftnchek Нижче наведено список тих, хто зараз розпізнає. Для кожного
параметр, за замовчуванням це значення, яке використовується, якщо параметр не вказано явно, тоді як параметр
включення — це значення, яке використовується, якщо параметр дано без призначення йому значення.

-аргументи=список
Контрольні попередження про невідповідності типу підпрограм і аргументів. За замовчуванням = увімкнено
= все.

-масив=список
Керуйте попередженнями при перевірці аргументів масиву підпрограм. За замовчуванням = увімкнено =
все.

- коротко Використовуйте коротший формат для деяких повідомлень про помилки. За замовчуванням = ні.

-дерево виклику=список
Створіть ієрархію викликів підпрограми в одному з 3 форматів: текстове дерево викликів, хто викликає-
хто і VCG. За замовчуванням = немає, увімкнено = дерево, чорнослив, сорт.

Якщо -mkhtml викликається опція та дерево — це застосований параметр дерева виклику, файл
під назвою CallTree.html, буде створено дерево із зображенням дерева у форматі HTML.

- перевірити Виконайте перевірку. За замовчуванням = так.

-стовпці=Num
Установіть максимальну довжину рядка на Num колонки. (Крім цього ігнорується.) Увімкнути = макс =
132. За замовчуванням = 72.

-загальний=список
Установіть ступінь суворості перевірки COMMON блоків. За замовчуванням = увімкнено = все.

-перехресне посилання=список
Друк списку перехресних посилань викликів підпрограм, використання мітки та/або блоку COMMON
використання. За замовчуванням = немає.

- заявити
Надрукуйте список усіх ідентифікаторів, тип даних яких не оголошено явно. За замовчуванням
= ні

-поділ
Попереджати про те, де виконується поділ (крім ділення на константу). За замовчуванням = ні.

-помилки=Num
Встановіть максимальну кількість повідомлень про помилки на каскад. За замовчуванням = увімкнено = 3.

- зовнішній
Попереджати, якщо зовнішні підпрограми, які викликаються, ніколи не визначені. За замовчуванням = так.

-f77=список
Керуйте конкретними попередженнями про підтримувані розширення для стандарту Fortran 77.
За замовчуванням = немає, увімкнено = все.

-f90=список
Керуйте конкретними попередженнями про підтримувані розширення для стандарту Fortran 77
які не були прийняті як частина стандарту Fortran 90. За замовчуванням = немає, увімкнено
= все.

-f95=список
Керуйте конкретними попередженнями про стандартні функції Fortran 77, які були видалені
стандарт Fortran 95. За замовчуванням = немає, увімкнено = все.

-допомога Роздрукувати підсумок команди. За замовчуванням = ні.

-ідентифікатор-символи=список
Визначте небуквенно-цифрові символи, які можна використовувати в ідентифікаторах. За замовчуванням =
включення = знак долара та підкреслення.

-включати=шлях
Визначте каталог для пошуку файлів INCLUDE перед пошуком у всій системі
каталог. Кумулятивний. За замовчуванням = увімкнено = немає.

-внутрішній=список
Контрольна обробка нестандартних внутрішніх функцій. За замовчуванням = всі, крім vms та цінності
Версія Unix, всі крім UNIX для версії VMS, за винятком UNIX та vms для інших
версії. Увімкнути = все.

- бібліотека
Почати режим бібліотеки: не попереджати про визначені підпрограми у файлі, але
ніколи не використовувався. За замовчуванням = ні.

-список Роздрукувати список джерел програми. За замовчуванням = ні.

-makedcls=список
Підготуйте файл декларацій. The список визначає параметри формату this
файл. За замовчуванням = немає, увімкнено = оголошення.

-mkhtml=список
Створюйте окремі файли HTML-документів з аналізу ftnchek і коментарів до коду.
Зазвичай ви також хочете вказати -заклик=дерево щоб створити кореневий файл HTML
CallTree.html. За замовчуванням = немає, увімкнено = документи.

- новачок
Надайте вихід, придатний для початківців користувачів. За замовчуванням = так.

-вихід=ім'я файлу
Надіслати вихід у вказаний файл. За замовчуванням та увімкнення надсилає вихідні дані на екран.
(Розширення імені файлу за замовчуванням є .lis).

-розмір вказівника=Num
Встановіть розмір змінних ``Cray point'' Num байтів. Мін = 1, максимум = 16.
За замовчуванням = увімкнено = 4

-переносність=список
Попереджати про непереносне використання. За замовчуванням = немає, увімкнено = все.

-гарна =список
Дайте попередження щодо можливого оманливого вигляду вихідного коду. За замовчуванням = поворот-
на = все.

-проект=список
Створіть файл проекту (див. пояснення нижче). За замовчуванням = ні.

- чистий Припустимо, що функції чисті, тобто не мають побічних ефектів. За замовчуванням = так.

-спокійно Створюйте менш докладний вихід. За замовчуванням = ні.

-довідка
Надрукувати таблицю підпрограм, на які посилається кожна підпрограма. За замовчуванням = ні.

-ресурси
Роздрукувати кількість ресурсів, використаних під час аналізу програми. За замовчуванням = ні.

-шість символів
Перелік будь-яких імен змінних, які суперечать довжині 6 символів. За замовчуванням = ні.

-сортувати Роздрукувати список підпрограм, відсортований у попередньому порядку. За замовчуванням = ні.

-джерело=список
Виберіть параметри форматування джерела: фіксована або вільна форма, DEC Fortran у форматі вкладки
рядків, оператор INCLUDE у стилі VMS, escape-послідовності в стилі UNIX та
неявна типізація параметрів. За замовчуванням = немає, увімкнено = все.

-стиль=список
Створюйте надзвичайно вибагливі попередження про застаріле або старомодне програмування
конструкцій. За замовчуванням = немає, увімкнено = все.

-симв
Роздрукувати таблицю символів та таблицю етикеток для кожної підпрограми. За замовчуванням = ні.

-усічення=список
Перевірте можливу втрату точності відсіканням. За замовчуванням = увімкнено = все.

-використання=список
Контрольні попередження про невикористані або неініціалізовані змінні, загальні блоки тощо.
За замовчуванням = увімкнено = все.

-vcg Створіть VCG формат графіка викликів.

-версія
Роздрукувати номер версії. За замовчуванням = ні.

- непостійний
Припустимо, що блоки COMMON втрачають визначення між активаціями. За замовчуванням = ні. (Застаріло.
Скористайтесь -загальний=непостійний натомість.)

-wordsize=Num
Встановіть розмір слова за замовчуванням для числових величин Num байтів. За замовчуванням = увімкнено =
4 байт.

-wrap=Num
Встановити стовпець виводу, у який переносити довгі повідомлення про помилки та попередження в наступний
лінія. Якщо встановлено значення 0, вимкніть обгортання. За замовчуванням = увімкнено = 79.

Якщо використовується більше одного параметра, вони повинні бути розділені пробілом, за винятком on
системи, такі як VMS, де параметри починаються з косої риски ( / ). Не можна розміщувати пробіли
навколо знака рівності ( = ) у налаштуваннях. ftnchek "?" створить підсумок команди
перелік усіх параметрів і налаштувань.

Для налаштувань, які беруть список ключових слів, а саме - аргументи, -масив, -дерево викликів, - загальний,
-перехресне посилання, -f77, -f90, -f95, - внутрішній, -makedcls, -mkhtml, - портативність, - гарна,
-проект, -Source, -стиль, -усічення та -використання, список складається з ключових слів
відокремлюються комами або двокрапками. Якщо список ключових слів опущено, ефект встановлюється
опцію його значення включення (у більшості випадків таке саме, як і ``all''). Крім того, якщо список є
опущено, до назви параметра може стояти префікс немає or ні- щоб вимкнути всі параметри
контролю. Наприклад, -f77 вмикає всі попередження про нестандартні конструкції, поки
-nof77 вимикає їх усіх. Три спеціальні ключові слова:

допомога Роздрукуйте всі ключові слова параметрів, які контролюються налаштуванням, разом із коротким описом
пояснення їх значень. Це ключове слово не може бути вказано в списку з іншим
ключові слова.

всі Встановіть усі параметри. Це вмикає всі параметри, керовані цим налаштуванням.

ніхто Очистити всі параметри. Це вимикає всі параметри, керовані цим налаштуванням.

Ці три спеціальні ключові слова необхідно вказати повністю. Для всіх інших ключових слів лише стільки ж
Необхідно вказати літери ключового слова, необхідні для його однозначної ідентифікації, або a
можна використовувати шаблон підстановки. Включення ключового слова в список перетворює відповідне
опція ввімкнена. Наприклад, -f77=внутрішнє вмикає лише попередження про використання
нестандартні внутрішні функції. Додавання префікса до ключового слова ні- вимикає його опцію. Для
наприклад, -доволі = без довгої лінії вимикає попередження про рядки, що перевищують 72 стовпці
довжини, залишаючи всі інші попередження про оманливий вигляд. Якщо
налаштування за замовчуванням ніхто, ви можете ввімкнути всі параметри, крім одного або двох, за допомогою всі
перший. Наприклад, -f77=все,не включати вмикає попередження про всі нестандартні розширення
крім операторів INCLUDE. Якщо параметр за замовчуванням всі, ви можете вимкнути всі попередження
крім одного або двох за допомогою ніхто перший. Наприклад, -усічення = немає, пониження в посаді обернувся б
вимкнути всі попередження, пов’язані з точністю, за винятком зниження в посаді. Шаблони підстановки містять символ
зірочка означає будь-який рядок символів. Якщо використовується шаблон підстановки, усі
попередження, які відповідають йому. Якщо ні- має префікс до шаблону, усі збігаються
попередження вимкнено, інакше всі вони ввімкнені. Мінімальна однозначна довжина
правило не застосовується до зіставлення підстановки. Наприклад, використати -usage=no-*var* вимикати
всі попередження, що стосуються використання змінних (як локальних, так і загальних). (Можливо, користувачам Unix знадобиться
введіть у лапки будь-які параметри, що містять символи підстановки, щоб запобігти спробам оболонки
розширити їх.) Символи підстановки розпізнаються лише в списках ключових слів-попереджень, а не вгорі.
самі варіанти рівня.

Коли ftnchek запускається, він шукає змінні середовища, а також параметри
файл. Будь-які параметри, визначені в середовищі або у файлі налаштувань, використовуються як
за замовчуванням замість вбудованих значень за замовчуванням. Вони перевизначені будь-яким командним рядком
варіанти. Перегляньте розділ про зміну значень за замовчуванням, щоб дізнатися більше про середовище
параметри та файл налаштувань.

При введенні імені вхідного файлу розширення є необов’язковим. Якщо продовження не надано,
ftnchek спочатку шукатиме файл проекту з розширенням .prj, і буде використовувати це, якщо це
існує. Якщо ні, то ftnchek шукатиме вихідний файл Fortran з розширенням .для
для систем VMS, .f для систем UNIX. Можна дати кілька імен файлу ftnchek,
і він оброблятиме модулі в усіх файлах, як якщо б вони були в одному файлі.

У специфікації імен файлів у командному рядку для VMS дозволені символи підстановки
і версії MS-DOS, а також, звичайно, під UNIX та будь-якою іншою системою, яка працює
розширення підстановки в командному процесорі.

Якщо ім'я файлу не вказано, ftnchek зчитує введення зі стандартного введення.

ВАРІАНТИ


У цьому розділі представлено більш детальне обговорення ftnchek параметри командного рядка. Параметри
і імена файлів можуть бути вставлені в командний рядок. Більшість варіантів є позиційними: кожен
Опція залишається в силі з моменту, коли вона зустрічається, доки її не перевизначить a
пізніше змінити. Таким чином, наприклад, список може бути придушений для деяких файлів, а не для
інші. Винятки становлять: - внутрішній, -розмір вказівника та -розмір слів налаштування, які
не можна змінити після початку обробки вхідних файлів; в - аргументи, -масив,
-дерево викликів, - загальний, -перехресне посилання, - зовнішній, -довідка, -ресурси, -сортувати, -vcg та - непостійний
варіанти, де дія залежить лише від значення опціону після обробки
вхідні файли закінчено; і -включати налаштування, яке є кумулятивним.

Назви параметрів у наступному списку розташовані в алфавітному порядку.

-аргументи=список
Керує попередженнями про невідповідності між фактичними та фіктивними аргументами підпрограми,
а також про невідповідності між очікуваним і фактичним типом підпрограми. (Справжній
аргумент — це аргумент, переданий підпрограмі абонентом; фіктивний аргумент
аргумент, отриманий підпрограмою.) За замовчуванням усі попередження ввімкнено.

Команда список складається з ключових слів, розділених комами або двокрапками. З усіх цих
попередження ввімкнено за замовчуванням, включають ключове слово з префіксом ні- щоб вимкнути a
особливе попередження. Є три спеціальні ключові слова: всі щоб увімкнути всі
попередження про суперечки, ніхто щоб вимкнути їх усі, і допомога щоб надрукувати список
всі ключові слова з коротким поясненням кожного. Якщо список пропущено, - аргументи
еквівалентна -аргументи=всі та -ноаргументи еквівалентна -аргументи=немає.
Ключові слова попередження з їхнім значенням такі:

масивність:
попереджати про непослідовне використання аргументів, які є масивами. Ці попередження можуть
підлягати подальшому контролю з боку -масив варіант.

тип:
попереджати про фіктивні аргументи типу даних, відмінних від фактичних аргументів.

тип функції:
попереджати, якщо виклик передбачає, що повертається значення функції є іншого типу
ніж є насправді. Також попереджає, якщо функція викликається як підпрограма або
навпаки.

номер:
попереджає про виклик підпрограми з іншою кількістю аргументів, ніж
підпрограма очікує.

Для сумісності з попередніми версіями ftnchek, числова форма цього
також прийнято налаштування: the список замінюється числом від 0 до 3. Значення
0 вимикає всі попередження, 1 вмикає лише номер, 2 оберти на всіх, крім номер,
і 3 вмикає всі попередження.

Це налаштування не стосується перевірки викликів внутрішніх функцій або
функції оператора, які можна вимкнути лише за допомогою -ночека варіант.

Див також: -масив, - бібліотека, -використання.

-масив=список
Контролює ступінь суворості перевірки узгодженості між фактичним і фіктивним
аргументи підпрограми, які є масивами. Попередження, керовані цим налаштуванням
для конструкцій, які могли б законно використовувати досвідчений програміст,
але це часто свідчить про помилки програмування. За замовчуванням усі попередження включені
далі.

Команда список складається з ключових слів, розділених комами або двокрапками. З усіх цих
попередження ввімкнено за замовчуванням, включають ключове слово з префіксом ні- щоб вимкнути a
особливе попередження. Є три спеціальні ключові слова: всі щоб увімкнути всі
попередження про аргументи масиву, ніхто щоб вимкнути їх усі, і допомога для друку
список усіх ключових слів із коротким поясненням кожного. Якщо список пропущено,
-масив еквівалентна -масив = все та -noarray еквівалентна -масив = немає,
Ключові слова попередження з їхнім значенням такі:

розміри:
попереджати, якщо аргументи відрізняються за кількістю вимірів, або якщо фактичні
Аргумент - це елемент масиву, а фіктивний аргумент - цілий масив.

розмір:
попереджати, якщо обидва аргументи є масивами, але вони відрізняються за кількістю елементів.

Для сумісності з попередніми версіями ftnchek, числова форма цього
також прийнято налаштування: the список замінюється числом від 0 до 3. Значення
0 вимикає всі попередження, 1 вмикає лише розміри, лише 2 оберти розмір та
3 вмикає всі попередження.

Примітка. Попередження завжди надається незалежно від цього параметра, якщо фактичний аргумент
є масивом, тоді як фіктивний аргумент є скалярною змінною, або, якщо фактичним
Аргумент - це скалярна змінна або вираз, а фіктивний аргумент - це масив.
Ці випадки рідко бувають навмисними. (Щоб вимкнути навіть ці попередження, використовуйте
-аргументи=без масиву.) Попередження ніколи не надається, якщо фактичним аргументом є an
елемент масиву, а фіктивний аргумент є скалярною змінною. Змінні розміри
масиви та масиви з розмірами 1 або зірочкою відповідають будь-якій кількості масиву
елементів. Немає перевірки, чи узгоджуються багатовимірні масиви за розміром
кожного виміру окремо.

Див також: - аргументи, - бібліотека, -використання.

- коротко
Вибирає коротший формат для деяких попереджувальних повідомлень. Наразі єдині попередження
контрольованими цим прапором є ті, які друкуються в кінці обробки кожного
підпрограма. До них належать попередження про змінні, які встановлені, але не використовуються або
використовувані до встановлення, імена змінних, які не відповідають стандарту Fortran 77,
тощо (Ці попередження можуть бути повністю придушені залежно від інших прапорців, наприклад
-використання or -f77 прапори.) У форматі за замовчуванням кожна змінна вказана на a
окремий рядок разом із номером рядка, де оголошена змінна, встановіть або
використовується відповідно до характеру попередження. У короткому форматі просто перераховано все
змінних, до яких застосовується попередження, до 4 змінних у рядку.

Див також: -спокійно.

-дерево виклику=список
Проєкти ftnchek щоб роздрукувати структуру виклику повної програми.

Команда список складається з ключових слів, розділених комами або двокрапками. Є дві спеціальні
ключові слова: ніхто щоб вимкнути всі параметри, і допомога щоб надрукувати список усіх
ключові слова з коротким поясненням кожного. (Ключове слово всі вмикає всі
параметри, але зазвичай не слід використовувати, оскільки має бути лише один формат
вказано.) Якщо список пропущено, -дерево викликів еквівалентна -calltree=дерево та
-nocalltree еквівалентна -дерево виклику = немає. За замовчуванням графік викликів не друкується.

Якщо активовано параметр -mkhtml та дерево — це застосований параметр дерева виклику, файл
під назвою CallTree.html, також буде створено дерево із зображенням дерева у форматі HTML. Це
файл корисний як відправна точка для перегляду HTML-файлів, що описують кожен
компонент програми.

Ключові слова, які визначають, який формат використовується, є такими:

дерево:
створити графік викликів у форматі дерева.

посилання:
створіть діаграму викликів у форматі хто-дзвонить-хто (так само, як -довідка перемикач).

vcg:
створити графік викликів у форматі VCG (те саме, що -vcg перемикач).

Тільки один із форматів дерево, посиланняабо vcg може бути вказано.

Наступні ключові слова керують параметрами, що впливають на вихід:

чорнослив:
обрізати повторювані піддерева (застосовується тільки з дерево). Це значення за замовчуванням.

сортувати:
сортувати дочірні елементи кожної підпрограми в алфавітному порядку. Це значення за замовчуванням.

Дивіться обговорення -довідка та -vcg прапори для детальної інформації про них
форматах.

для дерево формат, графік викликів роздруковується, починаючи з основної програми,
яка вказана в першому рядку на лівому полі. Потім у наступних рядках,
кожна підпрограма, викликана основною програмою, відображається в списку з відступом на кілька пробілів
за піддеревом, починаючи з цієї процедури.

У режимі за замовчуванням, якщо програма викликається більш ніж однією іншою підпрограмою, її
Піддерево викликів друкується лише при першому зустрічанні. Лише пізніші виклики
назва підпрограми та повідомлення ``(див. вище)''. Щоб надрукувати піддерево
кожне виникнення підпрограми, використовуйте опцію без чорносливу.

Зверніть увагу, що дерево викликів буде неповним, якщо будь-який з вхідних файлів є проектом
файли, що містять більше одного модуля, створених у - бібліотека режим. Див
обговорення файлів проекту нижче.

Технічні моменти: кожен список підпрограм, викликаних даною програмою, друкується
в алфавітному порядку, якщо не без сорту надається варіант. Якщо кілька основних програм
знайдено, дерево викликів для кожного друкується окремо. Якщо немає основної програми
знайдено, роздруковується звіт про це та дерева викликів будь-якого верхнього рівня
небібліотечні підпрограми друкуються. Цей прапор керує лише друком виклику
дерево: ftnchek будує дерево викликів у будь-якому випадку, оскільки воно використовується для визначення
які модулі бібліотеки будуть перевірені. Дивіться обговорення - бібліотека
прапор

Для сумісності з попередніми версіями ftnchek, числова форма цього
також прийнято налаштування: the список замінюється числом від 0 до 15. Це
число утворюється з 1 фор дерево формат, 2 фор посилання формат, або 3 фор vcg
формат, плюс 4 фор без чорносливу, і 8 для без сорту.

Див також: -перехресне посилання, - бібліотека, -довідка, -сортувати, -симв, -vcg.

- перевірити
Цей перемикач призначений для того, щоб можна було вимкнути повідомлення про помилки та попередження
ftnchek використовується для інших цілей, ніж пошук помилок, наприклад для створення декларацій
або друк дерева викликів. Він позиційний, тому після вимкнення всіх перевірок,
вибрані перевірки можна знову ввімкнути. Ефект від -ночека це поставити все
перемикачі, числові налаштування та налаштування, що керують списками попереджень до їх
значення вимкнення, як ніби всі вони були вказані з префіксом -no. Перемикачі
і налаштування, які визначають параметри та режими роботи, а не контролю
попередження, не зачіпаються. Це такі - колони, -перехресне посилання, -включати, - внутрішній,
- бібліотека, -список, -makedcls, - новачок, -вихід, -розмір вказівника, -проект, -спокійно,
-довідка, -ресурси, -сортувати, -Source, -симв, -vcg, -версія, -розмір слів та
-обгортання. За замовчуванням = так.

Помилки синтаксису (синтаксичні помилки через нерозпізнані або неправильно сформовані оператори) не є
пригнічено цим перемикачем, оскільки результати можуть бути невірними, якщо ftnchek не має
правильно розібрав програму.

Є деякі різні помилки та попереджувальні повідомлення, які не контролюються
будь-який інший перемикач, тому його можна вимкнути лише цим перемикачем. Зверніть увагу, що використовуючи
- перевірити після -ночека має ефект лише зміни цих спеціальних попереджень
знову ввімкнути, і не відновить усі вимкнені перевірки. Це попередження:

o Модуль не містить виконуваних операторів.

o У вільному вихідному форматі відсутній простір там, де потрібен простір (наприклад, між a
ключове слово та ідентифікатор) або пробіл там, де їх заборонено (наприклад, усередині
ідентифікатор).

o Специфікація нульової або негативної довжини в декларації типу даних форми
тип*len.

o Недійсний операнд(и) у виразі.

o Масив, призначений для скаляра.

o Невідповідність типу між індексом DO та межами.

o Невизначений загальний блок, оголошений в операторі SAVE.

o Внутрішня функція явно оголошена з несумісним типом.

o Невідома внутрішня функція, явно оголошена в операторі INTRINSIC.

o Внутрішня функція, передана як аргумент підпрограми, не оголошується в файлі an
Заява INTRINSIC.

o Внутрішня функція або функція оператора викликані неправильно.

o Функція не встановлює повертається значення перед оператором RETURN.

o Значення константи параметра не оцінено (це ftnchekВинен, і це справедливо
інформуючи вас про цей факт).

o Точка входу підпрограми пізніше використовується як назва іншої підпрограми.

o Невідоме ключове слово, що використовується в операторі введення-виводу.

o Недопустиме посилання на мітку (наприклад, GOTO посилається на невиконаний оператор; введення/виводу
оператор відноситься до неформатного оператора).

Див також: - помилки.

-стовпці=Num
Установіть максимальну довжину оператора на Num колонки. (Поза цим ігнорується.) Це
надано налаштування, щоб дозволити перевірку програм, які можуть порушувати Fortran
стандартне обмеження в 72 стовпці для довжини оператора. Відповідно з
стандарт, усі символи після стовпця 72 ігноруються. Якщо цей параметр використовується, коли
-f77 = довга лінія якщо цей параметр діє, для будь-яких рядків в
які символи після стовпця 72 обробляються. Увімкнення = макс. = 132. За замовчуванням = 72.

Цей параметр не пригнічує попередження про присутність символів за його межами
стовпець 72. Щоб обробити код із змістовним програмним текстом за межами стовпця 72, використовуйте це
налаштування і переконайтеся, що -f77 ярусний опція вимкнена. Для обробки коду за допомогою
порядкові номери в стовпцях з 73 по 80, залиште налаштування стовпців за замовчуванням
цінувати та використовувати -доволі = без довгої лінії прапор

Див також: -f77, - гарна.

-загальний=список
Цей параметр контролює суворість перевірки COMMON блоків. За замовчуванням все
попередження, крім летючий увімкнено.

Команда список складається з ключових слів, розділених комами або двокрапками. Оскільки більшість із них
попередження ввімкнено за замовчуванням, включають ключове слово з префіксом ні- щоб вимкнути a
особливе попередження. Є три спеціальні ключові слова: всі щоб увімкнути всі
попередження, ніхто щоб вимкнути їх усі, і допомога щоб надрукувати список усіх ключових слів
з коротким поясненням кожного. Якщо список пропущено, - загальний еквівалентна
-загальний=розміри,точні,довжина,тип та -нечасто еквівалентна -загальний=немає.
Ключові слова попередження з їхнім значенням такі:

розміри:
відповідні масиви в кожному оголошенні блоку повинні узгоджуватися за розміром і
кількість розмірів. Ця опція має ефект лише тоді, коли використовується разом із
точний.

точний:
порівняння двох блоків виконується змінна за змінною, а не просто
вимагає узгодження між відповідними місцями зберігання. Використовуйте це, якщо все
Оголошення даного блоку COMMON повинні бути ідентичними, що є a
гарна практика програмування.

:
попереджати, якщо різні оголошення одного і того ж блоку не мають однакової довжини.
Стандарт Fortran 77 вимагає кожного названого загального блоку, але не пустого загального,
бути однакової довжини в усіх модулях програми.

тип:
у кожному оголошенні даного блоку COMMON, відповідні місця в пам'яті
(слова або байти) мають відповідати типу даних. Якщо використовувати разом з точний, Це
вимагатиме, щоб відповідні змінні відповідали типу даних.

летючий:
Припустимо, що блоки COMMON нестабільні.

Багато програмістів Fortran припускають, що змінні, локальні чи COMMON, є такими
статичні, тобто після призначення значення вони зберігають це значення назавжди доки
програмою присвоєно інше значення. Однак насправді Fortran 77
Стандарт не вимагає, щоб це було так. Локальні змінні можуть стати
невизначені між активаціями модуля, в якому вони оголошені. так само,
Блоки COMMON можуть стати невизначеними, якщо немає модуля, в якому вони оголошені
активний. (Технічний термін для сутностей з такою поведінкою є "автоматичними", але
ftnchek використовує слово `` volatile'', оскільки воно зрозуміліше для неспеціаліста.) Тільки
COMMON блоки, оголошені в операторі SAVE або оголошені в головній програмі або в a
Блок даних підпрограми залишаються визначеними, поки програма працює. Змінні
і COMMON блоки, які можуть стати невизначеними в певний момент, називаються нестабільними.

Якщо -загальний=непостійний прапор увімкнено, ftnchek попередить вас, якщо знайде a
нестабільний COMMON блок. Якщо, в той же час, -usage=com-block-volatile варіант
увімкнено (за замовчуванням), ftnchek спробує перевірити, чи є такий блок
може втратити визначений статус між активаціями модулів, де він знаходиться
заявив. ftnchek не дуже добре справляється з цим: використовується правило – бачити
чи блок оголошений у двох відокремлених піддеревах дерева викликів. Для
наприклад, це буде у випадку, якщо два модулі, обидва викликані з основної програми,
ділиться нестабільним блоком COMMON. Блок також може стати невизначеним між двома
послідовні виклики однієї і тієї ж підпрограми, але ftnchek недостатньо розумний, щоб сказати
чи можна викликати підпрограму більше одного разу, тому цей випадок не перевіряється.

Команда -загальний=непостійний прапор не впливає на шлях ftnchek перевіряє використання local
змінні.

Для сумісності з попередніми версіями ftnchek, числова форма цього
також прийнято налаштування: the список замінюється числом від 0 до 3. Значення
0 вимикає всі попередження, 1 або більше вмикає тип, 2 або більше обертів
, і 3 вмикання розміри та точний також. Числову форму не можна ввімкнути
летючий варіант.

Див також: - бібліотека, -використання.

-перехресне посилання=список
Друкує таблиці перехресних посилань. За замовчуванням = немає.

Команда список складається з ключових слів, розділених комами або двокрапками. Ключові слова з
їх значення такі:

дзвінки:
У таблиці перелічено кожну підпрограму, а потім список підпрограм, які її викликають.
У цьому списку опущені бібліотечні модулі, які не знаходяться в дереві викликів основного
програма. Список складається в алфавіті.

загальний:
У таблиці перераховано кожен блок COMMON, а потім список процедур, до яких здійснюється доступ
це. Ці перераховані підпрограми є тими, у яких деякі змінні в COMMON
block доступні, а не просто ті підпрограми, які оголошують блок. (До
дізнайтеся, які підпрограми оголошують блок COMMON, але не використовують його, див
-використання прапор.)

етикетки:
в таблиці перелічено кожну мітку, а потім список усіх посилань на неї. Мітка
посилання позначається номером рядка та типом оператора посилання
заяву. Список етикеток розташований у послідовному порядку. Посилання є
перераховані в порядку, в якому вони зустрічаються в програмі.

Див також: -дерево викликів, -довідка, -сортувати, -симв, -vcg.

- заявити
Якщо встановлено цей прапор, усі ідентифікатори, тип даних яких не оголошено в кожному модулі
буде перераховано. Цей прапорець корисний для пошуку імен змінних з помилками,
і т. д. Такий же список буде надано, якщо модуль містить IMPLICIT NONE
заяву. За замовчуванням = ні.

Див також: -шість символів, -використання.

-поділ
Цей перемикач надається, щоб допомогти користувачам визначити потенційні проблеми з поділом на нуль. Якщо
цей перемикач вибрано, кожне поділ, крім константи, буде позначено прапорцем. (Це
Передбачається, що користувач достатньо розумний, щоб не ділити на константу, яка є
дорівнює нулю!) За замовчуванням = ні.

Див також: - портативність, -усічення.

-помилки=Num
Встановіть максимальну кількість повідомлень про помилки в ``каскаді''. Під час перевірки
узгодження аргументів підпрограми, оголошення загальних блоків і так далі,
іноді один випадок генерує довгий рядок попереджень. Часто це просто
вказує на іншу причину, ніж справжня невідповідність елемента за елементом, наприклад for
наприклад, змінна відсутня в одному списку. Тому в таких випадках ftnchek припиняє друк
попередження після досягнення межі каскаду, а трейлер "і т.д." є
надруковано, щоб вказати, що було більше помилок, не надрукованих. Якщо ви так думаєте
ці попередження, ймовірно, є справжніми, використовуйте це налаштування, щоб побачити більше з них.
Увімкнути = за замовчуванням = 3, макс. = 999. Значення 0 означає відсутність обмежень.

Цей параметр не встановлює загальне обмеження на кількість надрукованих повідомлень про помилки,
лише номер, надрукований у будь-якому каскаді. Більшість типів попереджень і помилок
повідомлення не підпадають під дію каскадного ефекту, тому на них це не впливає
налаштування. Щоб вимкнути попередження загалом, використовуйте елемент керування індивідуальним попередженням
варіанти або -ночека варіант.

Див також: - перевірити.

- зовнішній
Проєкти ftnchek щоб повідомити про те, чи жодних підпрограм, викликаних програмою, ніколи
визначений. Як правило, якщо ftnchek виконується за повною програмою, кожна
підпрограма, відмінна від внутрішніх функцій, повинна бути десь визначена. Поверніть
вимкніть цей перемикач, якщо ви просто хочете перевірити підмножину файлів, які є частиною a
більша повна програма. Аргументи підпрограми все одно перевірятимуться
правильність. За замовчуванням = так.

Команда - зовнішній прапор тепер замінений на -usage=ext-undefined варіант. Для
для зручності, в - зовнішній прапор зберігається, так що -незовнішній є еквівалентним
до -usage=no-ext-undefined варіант. - зовнішній перемикач може бути знятий з експлуатації.

Див також: - бібліотека.

-f77=список
Використовуйте цей параметр для виявлення мовних розширень, які порушують Fortran 77
Стандартний. Такі розширення можуть призвести до того, що ваша програма не буде переносимою. Приклади
включати використання символів підкреслення в іменах змінних; імена змінних довше шести
персонажів; рядки оператора довше 72 символів; і нестандартні висловлювання
наприклад структура DO ... ENDDO. ftnchek не повідомляє про використання
букви нижнього регістру. За замовчуванням усі попередження вимкнено.

Цей параметр забезпечує детальний контроль над попередженнями про підтримувані розширення
до стандарту Fortran 77. (Додаткова інформація про самі розширення є
наведено нижче в розділі про розширення.) список складається з розділених ключових слів
через кому або двокрапку. Є три спеціальні ключові слова: всі щоб увімкнути всі
попередження про нестандартні розширення, ніхто щоб вимкнути їх усі, і допомога друкувати
список усіх ключових слів із коротким поясненням кожного. Якщо список пропущено,
-f77 еквівалентна -f77=все та -nof77 еквівалентна -f77=немає. Попередження
ключові слова з їхнім значенням такі:

прийняти-тип:
Оператори ACCEPT і TYPE I/O.

межі масиву:
Вирази, що визначають межі масиву, які містять елементи чи функції масиву
посилання.

assignment-stmt:
Оператори присвоєння, що включають масиви. У Fortran 90 масив може бути
призначається іншому масиву сумісної форми, або може бути призначений скаляр
масив. Жодне з цих призначень не дозволено у Fortran 77.

Пов’язане попередження виникає, коли масив призначається скаляру. З цього часу
є незаконним також у Fortran 90, про нього завжди попереджають незалежно від
-f77 налаштування (якщо всі перевірки не вимкнено за допомогою -ночека прапор).

на основі атрибутів decl:
Оголошення типів у новому стилі на основі атрибутів Fortran 90. Цей стиль о
декларація відрізняється використанням подвійної крапки (::) між
список атрибутів і список оголошених змінних. Цей варіант також
контролює попередження щодо використання специфікаторів довжини або виду Fortran 90 у типі
декларації. (Хоча ці специфікатори можна використовувати в не на основі атрибутів
декларації, вони контролюються за допомогою цієї опції, щоб уникнути поширення
-f77 варіанти.)

автоматичний масив:
Локальні (не фіктивні) масиви, які мають змінний розмір. Це відповідало б
масиви, сховище яких має бути динамічно розподілене під час виконання.

зворотний слеш:
Екранування зворотної косої риски Unix у рядках. Це попередження буде надано лише за умови
-source=unix-обратна коса слеш налаштування вказано, щоб викликати втечу
інтерпретація зворотної косої риски..

байт: оголошення типу даних BYTE.

футляр-конструкт:
Конструкція SELECT CASE.

характер:
Розширення стандарту Fortran 77 щодо символьних даних. Наразі,
це контролює лише попередження щодо символьних змінних, оголошених з нулем або
негативна довжина. У Fortran 77 всі символьні змінні мають бути позитивними
довжина. У Fortran 90 вони можуть мати нульову довжину і оголошувати це
вказувати негативні довжини дозволені, перетворюючись на нуль для оголошеного
довжина. Примітка: оскільки специфікатори негативної довжини можуть вказувати на програмування
помилка, попередження про них видається, навіть якщо цей параметр вимкнено, і
пригнічується лише за допомогою -ночека прапор

ім'я загальної підпрограми:
Загальний блок і підпрограма з однаковою назвою.

ім'я конструкції:
Використання імені-конструкції для позначення оператора керування.

продовження:
Більше 19 послідовних ліній продовження.

cpp: директиви препроцесора Unix C у вихідному коді.

Cray-pointer:
Синтаксис ``Покажчик Cray''.

цикл-вихід:
Оператори CYCLE і EXIT.

d-коментар:
Налагодження коментарів, починаючи з D у вихідному коді.

дек-вкладка:
Вихідний код у стилі DEC Fortran у форматі вкладок. Це попередження буде лише
якщо -source=dec-tab налаштування вказано, щоб викликати інтерпретацію вкладок
в цьому стилі.

робити-енддо:
Розширення циклу DO: мітка терміналу пропущена, END DO та WHILE.

подвійний комплекс:
Складний тип даних подвійної точності.

формат-знак долара:
Керуючий код знака долара в операторах FORMAT.

format-edit-descr:
Нестандартні дескриптори редагування в операторах FORMAT.

функція-нопарен:
Визначення функції без дужок.

неявно - немає:
Заява IMPLICIT NONE.

включати:
Інструкція INCLUDE.

вбудований коментар:
Вбудовані коментарі, які починаються зі знака оклику.

внутрішній список-io:
Спрямований за списком введення/виведення у внутрішній файл або з нього.

сутнісний:
Нестандартні внутрішні функції.

io-ключові слова
Нестандартні ключові слова, що використовуються в операторах введення/виводу. Вони діляться на три групи.
Перша група включає ключові слова, які прийняті у Fortran 90:

ПЛОЩАДКА ДІЙ ЧИТАЙТЕ ЗАПИС
РОЗМІР ПОЗИЦІЇ ПЕРЕДНЯ
DELIM ЧИТАЙТЕ ЗАПИСАТИ
EOR
Друга група включає такі ключові слова VMS Fortran:

BLOCKSIZE EXTENDSIZE ЛИШЕ ЧИТАННЯ
BUFFERCOUNT INITIALSIZE RECORDSIZE
CARRIAGECONTROL MAXREC RECORDTYPE
НАЗВА ФАЙЛУ ЗА УМОВЧАННЯМ (у ВІДКРИТІЙ) СПІЛЬНО
DISP NOSPANBLOCK ТИП
ОРГАНІЗАЦІЯ УТИЛІЗАЦІЇ
(Ключове слово NAME є стандартним лише в операторі INQUIRE.) Третє
Група складається з наступного ключового слова IBM/MVS:

NUM
Цей прапор також контролює попередження про використання ACCESS='APPEND', тобто
прийнято деякими компіляторами. Значення "APPEND" недійсне для жодного вводу-виводу
Специфікатор у стандарті Fortran 77, а у Fortran 90 слід використовувати «APPEND».
як значення специфікатора POSITION, а не ACCESS.

ярусний:
Заяви зі змістовним кодом за 72 стовпці. Це лише попередження
якщо - колони Параметр використовувався для збільшення ширини поля оператора.

довге ім'я:
Ідентифікатори довжиною більше 6 символів.

змішано-поширені:
Змішані символьні та несимвольні дані в блоці COMMON.

змішано-експр:
Нестандартні комбінації типів у виразах, наприклад DOUBLE PRECISION
з COMPLEX, присвоєння hollerith цілого числа, логічні операції над цілими числами.

ім'я-знак долара:
Знак долара використовується як символ в ідентифікаторах.

ім'я-підкреслення:
Підкреслення використовується як символ в ідентифікаторах.

список імен:
Заява NAMELIST.

param-implicit-type:
Неявне введення параметра за типом даних присвоєного значення. Це
попередження може виникнути, лише якщо неявний введення параметрів увімкнено
-source=param-implicit-type або якщо оператор PARAMETER належить до
нестандартна форма без дужок. Якщо цей параметр увімкнено, то будь-який
про випадки, коли відбувається неявний введення параметрів, буде попереджено. Якщо
ви хочете отримувати попередження лише в тих випадках, коли неявний тип даних
відрізняється від типового типу використання -portability=param-implicit-type замість цього.
Відповідно до стандарту Fortran 77 задається тип даних параметра
за тими ж правилами, що і для змінної, і, якщо необхідно, виконується перетворення типу
виконується, коли присвоюється значення.

парам-внутрішнє:
Внутрішня функція або підведення до ступеня за дійсним використовується для визначення значення a
Визначення ПАРАМЕТРів.

парам-нопарен:
Оператор PARAMETER без дужок. Користувач повинен знати, що
семантика цієї форми висловлювання відрізняється від стандартної
форма: у цій формі параметр бере свій тип даних із значення
призначений, а не тип даних за замовчуванням на основі першої літери
назви параметра. (Ця форма оператора PARAMETER була введена
DEC до визначення стандарту Fortran 77, і цього слід уникати.)

покажчик:
Стандартний синтаксис Fortran 90, пов’язаний з покажчиком, включаючи POINTER, TARGET і
Оголошення типів ALLOCATABLE, оператори ALLOCATE, DEALLOCATE та NULLIFY,
і призначення покажчика за допомогою =>.

чотирипостійна:
Дійсні константи чотирьохядерної точності, наприклад, у вигляді 1.23Q4.

лапки:
Рядки, розділені лапками, а не апострофами.

повторюється:
Оператори відношення (порівняння), що складаються з розділових знаків, а саме: < <= == /=
> >=.

крапка з комою:
Крапка з комою використовується як роздільник операторів.

заява-розпорядження:
Твердження не в порядку, передбаченому Стандартом. Дозволені
послідовність проілюстрована в Таблиці 1 у розділі Інтерпретація результату.

безтипно-постійна:
Безтипові константи, наприклад Z'19AF'.

типорозмір:
Оголошення типів із зазначенням розміру, наприклад REAL*8.

змінний формат:
Специфікація повторення змінної або розмір поля у ФОРМАТІ. Вони мають форму
< експр >.

vms-io:
Застарілий. Тепер має те саме значення, що й io-ключові слова keyword.

Див також: -f90, -f95, - портативність, - гарна, -стиль, -розмір слів.

-f90=список
Цей параметр забезпечує детальний контроль над попередженнями про підтримувані розширення
до стандарту Fortran 77, які не були прийняті як частина Fortran 90
Стандартний. Зауважте, що ftnchek не підтримує повну мову Fortran 90.
Однак він підтримує деякі поширені розширення для Fortran 77, які були поширені
до того, як було визначено Fortran 90. Деякі з цих розширень стали частиною Fortran
90 Стандарт, а інші ні. The -f90 налаштування попереджає лише про останнє.
Тобто цей прапор охоплює речі, які не є ні законними для Fortran 77, ні законними
Fortran 90. Таким чином, попередження, керовані цим прапором, в основному є підмножиною
попереджень, які контролюються -f77. Є кілька випадків, описаних нижче, де
обставини, за яких дається попередження, дещо відрізняються для цих двох
прапори.

Команда список складається з ключових слів, розділених комами або двокрапками. Є три
спеціальні ключові слова: всі щоб увімкнути всі попередження про нестандартні розширення,
ніхто щоб вимкнути їх усі, і допомога щоб надрукувати список усіх ключових слів з a
коротке пояснення кожного. Якщо список пропущено, -f90 еквівалентна -f90=все та
-nof90 еквівалентна -f90=немає.

Наступні ключові слова мають ідентичні значення для -f90 що стосується -f77. Читач є
посилався на пояснення під -f77.

прийняти-тип подвійний комплекс парам-нопарен
зворотний слеш формат-знак долара Cray-pointer
байт format-edit-descr чотирипостійна
cpp функція-нопарен типорозмір
d-коментар ім'я-знак долара змінний формат
дек-вкладка param-implicit-type vms-io

Ключові слова, які дещо відрізняються від відповідних -f77 ключові слова як
слід.

продовження:
Обмеження на кількість рядків продовження для оператора у фіксованому джерелі
форма така сама, а саме 19, у Fortran 90, що й у Fortran 77. Для безкоштовного джерела
Форма обмеження становить 39 рядків продовження і рядок, що містить продовження
позначка не може бути порожньою або містити лише коментар.

сутнісний:
Це те саме, що і для -f77 за винятком внутрішніх функцій, визначених у
MIL-STD 1753, які всі включені до Fortran 90, і тому не попереджуються
про. (Подивитися - внутрішній для списку.)

io-ключові слова:
Це те саме, що і для -f77 за винятком того, що для вводу-виводу не надаються попередження
ключові слова, які є стандартними у Fortran 90.

ярусний:
Хоча стандарт Fortran 90 допускає рядки довше 72 символів
безкоштовна вихідна форма, це обмеження все ще застосовується до фіксованої вихідної форми. в
безкоштовний вихідний формат обмеження довжини рядка становить 132 символи, і на відміну від фіксованого
форма, ftnchek не дозволяє збільшити цю межу.

змішано-експр:
Це те саме, що і для -f77 за винятком виразів, що змішують розширену точність
реальні зі складними типами даних, які дозволені у Fortran 90.

заява-розпорядження:
Це схоже на відповідне -f77 попередження, але дещо застосовується
слабші обмеження на порядок операторів стандарту Fortran 90. в
зокрема, Fortran 90 дозволяє оператори DATA та оператор-функцію
визначення, які слід змішувати зі специфікацією.

безтипно-постійна:
У Fortran 90 двійкові, вісімкові та шістнадцяткові константи у формі B'ddd',
O'ddd' і Z'ddd', відповідно, дозволені. Тут 'ddd' позначає a
рядок цифр. ftnchek розпізнає ці форми, а також варіант
форма X'ddd' для шістнадцяткової константи та інші варіанти, в яких
базовий індикатор B, O, Z або X слідує за рядком цифр. Ці варіанти були
не прийнято у Fortran 90, тому тільки вони попереджені про те, коли цей прапор буде
включено.

Див також: -f77, -f95, - портативність, - гарна, -стиль, -розмір слів.

-f95=список
Цей параметр забезпечує детальний контроль над попередженнями про стандартний Fortran 77
функції, які були видалені з Fortran 95 Standard. На відміну від -f77 та -f90
налаштувань, ці попередження застосовуються до синтаксису, який є законним для Fortran 77. Однак, оскільки
ці функції були вилучені зі стандарту, можливо, що програми
їх вміст буде неприйнятним для деяких новіших компіляторів.

Команда список складається з ключових слів, розділених комами або двокрапками. Є три
спеціальні ключові слова: всі щоб увімкнути всі попередження про нестандартні розширення,
ніхто щоб вимкнути їх усі, і допомога щоб надрукувати список усіх ключових слів з a
коротке пояснення кожного. Якщо список пропущено, -f95 еквівалентна -f95=все та
-nof95 еквівалентна -f95=немає. Ключові слова попередження з їхнім значенням є як
слід.

реально зробити:
Змінна DO будь-якого дійсного числового типу.

пауза:
Оператор PAUSE.

призначати:
Оператор ASSIGN, призначений GOTO або призначений формат.

h-редагувати:
Дескриптор редагування H у форматі.

Є ще одна функція синтаксису Fortran 77, яка була видалена у Fortran 95, а саме
розгалуження до ENDIF поза блоком IF. однак, ftnchek не в змозі
аналізувати хід програми, тому він не надає попередження про це.

Див також: -f77, -f90, - портативність, - гарна, -стиль, -розмір слів.

-допомога
Друкує список усіх параметрів командного рядка з коротким описом кожного
разом із його значенням за замовчуванням. Ця команда за функціями ідентична команді ``?''
аргумент, і надається як зручність для тих систем, в яких питання
mark має особливе значення для інтерпретатора команд. За замовчуванням = ні.

Довідковий список також друкує номер версії та рівень виправлення ftnchek і
повідомлення про авторські права.

Примітка: значення "за замовчуванням", надруковані в квадратних дужках у довідковому списку:
строго кажучи, не вбудовані значення за замовчуванням, а поточні значення після будь-яких
параметри середовища та будь-які параметри командного рядка, що передують -допомога варіант мати
було оброблено.

Див також: - новачок, -версія та допомога опція всіх налаштувань, які містять список
ключові слова.

-ідентифікатор-символи=список
Визначте небуквенно-цифрові символи, які можна використовувати в ідентифікаторах. За замовчуванням,
ftnchek приймає лише знак долара та підкреслення як небуквенно-цифрові символи
в іменах ідентифікаторів. Персонажі в список замінити будь-який набір прийнятих
раніше діяли небуквенно-цифрові символи. Таким чином, якщо знак долара або
символи підкреслення не включені до списку, вони втрачають статус прийнятних
символів.

Ця опція надається для включення ftnchek обробляти вихідні файли, що не містять
стандартні імена ідентифікаторів, які можуть знадобитися, наприклад, для доступу до певних
послуги операційної системи. Перегляньте розділ про обмеження та розширення
обробка ідентифікаторів, що містять ці символи, при неявній типізації.

використання -noidentifer-chars вимикає прийом небуквенно-цифрових символів
повністю.

Див також: -Source.

-включати=шлях
Вказує каталог для пошуку файлів, визначених операторами INCLUDE.
На відміну від інших параметрів командного рядка, цей параметр є кумулятивним; тобто якщо так
задані більше одного разу в командному рядку, усі вказані таким чином каталоги є
поміщені в список, який буде шукатися в тому ж порядку, що і вони. The
порядок в якому ftnchek шукає файл, який буде включено: поточний
довідник; каталог, визначений змінною середовища FTNCHEK_INCLUDE, якщо є;
каталоги, зазначені будь-яким -включати варіанти; каталог, зазначений за допомогою
змінна середовища INCLUDE; і, нарешті, у стандартному загальносистемному каталозі
(/ usr / include для UNIX, SYS$LIBRARY для VMS та \include для MSDOS).

Див також: -f77, -Source.

-внутрішній=список
Контролює чи ftnchek розпізнає певні нестандартні внутрішні функції як
внутрішній. The список складається з ключових слів, розділених комами або двокрапками. Дещо з
ключові слова визначають, чи слід розпізнавати певні групи функцій та інше
ключові слова контролюють очікуваний синтаксис для виклику деяких нестандартних внутрішніх елементів.
Включіть ключове слово, щоб увімкнути розпізнавання відповідного набору внутрішніх властивостей або
щоб дозволити відповідний синтаксис. Включіть ключове слово з префіксом ні- вимикати
те визнання.

Є три спеціальні ключові слова: всі включає розпізнавання всього нестандартного
внутрішні (перераховані нижче) і приймає будь-який синтаксис для тих, які мають варіації.
Скористайтесь ніхто щоб вимкнути розпізнавання всіх нестандартних властивостей, крім зазначених
нижче. Використовуйте допомога щоб надрукувати список усіх ключових слів із коротким поясненням
кожен. Якщо список пропущено, - внутрішній еквівалентна -внутрішнє = все та
-непритаманні еквівалентна -внутрішній=немає.

Нестандартні внутрішні функції, необхідні для підтримки нестандартних розширених
точні типи даних (подвійна комплексна і чотириточна) завжди розпізнаються.
Подвійний складний тип даних має такі властивості:

CDABS CDSQRT ДРЕАЛ ЗЛОГ
CDCOS DCMPLX IMAG ZSIN
CDEXP DCONJG ZABS ZSQRT
CDLOG DIMAG ZEXP ZCOS
CDSIN
Для типів quad precision і quad complex характерними є:

CQABS QARCOS QEXT QNINT
CQCOS QARSIN QEXTD QPROD
CQEXP QATAN QFLOAT QREAL
CQLOG QATAN2 QIMAG QSIGN
CQSIN QCMPLX QINT QSIN
CQSQRT QCONJG QLOG QSINH
DBLEQ QCOS QLOG10 QSQRT
IQINT QCOSH QMAX1 QTAN
IQNINT QDIM QMIN1 QTANH
QABS QEXP QMOD SNGLQ
Ключовими словами, що контролюють розпізнавання інших нестандартних внутрішніх функцій, є
наступним чином:

додатково:
розпізнавати наведені нижче загальнодоступні нестандартні властивості (усі, крім
EXIT і LOC визначені в MIL-STD 1753):

НАЙКРАЩИЙ IBCLR IEOR ISHFTC
ВИХІД IBITS IOR LOC
IAND IBSET ISHFT НЕ

UNIX: розпізнати ці загальні специфічні для Unix внутрішні функції:

ПРЕРНУТИ GMTIME LTIME SRAND
І IARGC АБО СИСТЕМА
ЧАС ГЕТАРГ ІРАНД РЕНД
GETENV LSHIFT RSHIFT XOR

vms: розпізнати ці загальні специфічні для VMS внутрішні функції:

ДАТА ІДАТА СЕКУНДИ ЧАС

ERRSNS RAN SIZEOF

iargc-без аргументу:
вкажіть, що IARGC можна викликати без аргументів.

iargc-один-аргумент:
вкажіть, що IARGC можна викликати з одним аргументом.

rand-no-argument:
вкажіть, що RAND і IRAND можуть бути викликані без аргументів.

ранд-один-аргумент:
вкажіть, що RAND і IRAND можуть бути викликані з одним аргументом.

Команда без аргументів та один аргумент ключові слова працюють так: увімкнення параметра
Причини ftnchek прийняти відповідний синтаксис для виклику функції,
не виключаючи можливості альтернативного синтаксису. Поворот параметра
off призводить до того, що відповідний синтаксис не приймається. Якщо вимкнено обидва варіанти
увімкнути відразу (за замовчуванням), тоді приймається будь-який синтаксис. Вимкнення обох параметрів
відразу не мала б сенсу. Ці параметри не діють у разі розпізнавання
Внутрішні функції Unix вимкнено.

Зауважте, що цей параметр не визначає, чи видаються нестандартні попередження
про ці функції. Він контролює, чи вважаються функції такими
притаманні чи ні, що визначає спосіб перевірки їх використання. Коли функції в
будь-який з цих наборів включено, їх виклики будуть перевірені відповідно до
правила для внутрішніх функцій; інакше вони перевірятимуться як звичайно (користувач-
письмові) зовнішні функції. Нестандартні попередження контролюються
-f77=внутрішнє варіант.

Значення за замовчуванням цього параметра еквівалентне -внутрішнє = все подальшою
-intrisic=no-vms для версії Unix, -внутрішнє = без Unix для версії VMS, і
-intrisic=no-unix,no-vms для інших версій.

Примітка: у версіях о ftnchek до 2.10 - внутрішній прапор прийняв числовий
аргумент замість списку параметрів. Заради користувачів, які, можливо, написали
скрипти виклику ftnchek таким чином, числова форма все ще прийнятна. The
числова форма налаштування складається з трьох цифр. Цифра одиниці вибирає
набір внутрішніх функцій, які підтримуються. Цифра 0 вибирає тільки Fortran 77
стандартні внутрішні властивості плюс ті, які необхідні для підтримки нестандартної розширеної точності
типи даних. Цифра 1 еквівалентна додатково, 2 еквівалентно додатково, unix та
3 еквівалентно додатково, vms. Цифра десятків цього параметра керує синтаксисом
внутрішньої функції RAND, а цифра сотень контролює синтаксис
Функція IARGC. Для цих цифр вкажіть 0, щоб вимагати виклику з номером
аргумент, 1 вимагає одного аргументу, а 2 дозволяє будь-яку форму.

Див також: -f77.

- бібліотека
Цей перемикач використовується, коли у файлі міститься декілька підпрограм, але ні
всі вони використовуються програмою. зазвичай, ftnchek попереджає, якщо є
підпрограми визначені, але ніколи не використовуються. Цей перемикач пригнічує ці попередження.
За замовчуванням = ні.

Цей перемикач також контролює, які виклики підпрограм і оголошення блоку COMMON
перевірено. Якщо файл читається за допомогою - бібліотека прапорець, викликає підпрограма
і оголошення COMMON, що містяться в підпрограмі в цьому файлі, перевірятимуться, лише якщо
ця підпрограма знаходиться в дереві викликів основної програми. З іншого боку, якщо
- бібліотека тоді вимикач вимкнено ftnchek перевіряє виклики кожної процедури
будь-яку іншу рутину, незалежно від того, чи можуть ці процедури коли-небудь бути насправді
викликається під час виконання, а також порівнюються всі оголошення блоку COMMON
угоду.

Різниця між цим перемикачем і -usage=no-ext-unused варіант для
підпрограми полягає в тому, що остання пригнічує лише попередження про наявність підпрограм
оголошено, але не використане. The - бібліотека перемикач йде далі і виключає невикористані
підпрограми, оброблені, поки він діє, з усіх перехресних перевірок аргументів і
Оголошення блоку COMMON також.

(Якщо в наборі файлів немає основної програми, ftnchek прочитав, значить
що дерева викликів не існує ftnchek буде шукати будь-які небібліотечні підпрограми
які не викликаються жодною іншою підпрограмою, і використовувати їх як заміну основного
програму для побудови дерева викликів і вирішення того, що перевірити. Якщо такого верхнього немає -
Знаходяться небібліотечні підпрограми рівня, потім усі міжмодульні виклики та всі COMMON
декларації будуть перевірені.)

Див також: - аргументи, -дерево викликів, - загальний, - зовнішній, -використання.

-список
Вказує, що список програми Fortran має бути роздрукований з рядком
числа. Якщо ftnchek виявляє помилку, повідомлення про помилку слідує за програмним рядком
з курсором ( ^ ), що вказує місце помилки. Якщо джерела не було
просив, ftnchek все одно виведе будь-який рядок, що містить помилку, щоб допомогти
користувача, щоб визначити, де сталася помилка. За замовчуванням = ні.

Див також: -вихід, \fB-симтаб, fB-тихо.

-makedcls=список
Підготуйте акуратно відформатований файл з оголошеннями змінних, загальних блоків і
списки імен для можливого злиття з вихідним кодом. Декларації є
зберігається у файлі з такою ж назвою, що й вихідний код, але з розширенням
змінено на .dcl. Якщо у файл не записані оголошення, він видаляється
зменшити безладу від порожніх файлів.

Якщо введення надходить зі стандартного введення, а не з іменованого файлу, то оголошення
записується на стандартний вихід.

Змінні оголошуються в алфавітному порядку в кожному класі оголошення та
типу, спочатку з цілочисельними змінними, оскільки їх пізніше можливо використовувати в масиві
розміри.

Операції PARAMETER є винятком із правила алфавітного порядку, оскільки
Fortran 77 Standard вимагає, щоб вирази, що визначають значення параметрів, посилалися
тільки до констант і вже визначених імен параметрів. Це змушує оригінал
Порядок вихідних файлів таких заяв зберігається у файлах декларацій.

Явне оголошення всі змінних вважається хорошим сучасним програмуванням
практика. Використовуючи параметри компілятора, щоб відхилити неоголошені змінні, написані з помилкою
імена змінних (або імена, що поширюються за стовпець 72) можуть бути перехоплені під час компіляції.
Явні оголошення також значно полегшують зміну точності з плаваючою комою
з такими фільтрами, як dtoq(1 л), dtos(1 л), fd2s(1 л), fs2d(1 л), qtod(1 л), і
стод(1 л). Ці програми здатні змінювати типи явного числа з плаваючою комою
оголошення типів, внутрішні функції та константи, але тому, що вони цього не роблять
провести ретельний лексичний та граматичний аналіз вихідного коду Fortran,
вони не можуть надати модифіковані оголошення типів для неоголошених змінних. За замовчуванням
налаштування = 0, включення = 1.

Різні параметри форми файлу декларацій керуються список,
який складається з ключових слів, розділених комами або двокрапками. Є три спеціальні
ключові слова: всі щоб увімкнути всі параметри, ніхто щоб вимкнути їх усі, і допомога до
надрукуйте список усіх ключових слів із коротким поясненням кожного. Якщо список is
пропущено, -makedcls еквівалентна -makedcls=декларації (тобто виробляти
декларацій, використовуючи параметри за замовчуванням), і -nomakedcls еквівалентна
-makedcls=немає.

Для сумісності з попередніми версіями ftnchek, числова форма цього параметра
також прийнято: в список замінюється числом, яке є сумою чисел
у дужках біля ключових слів у наведеному нижче списку. Ключові слова попередження
з їх значеннями такі:

декларацій (1):
Напишіть файл декларації. (Це мається на увазі під будь-яким з інших варіантів, і
можна пропустити, якщо надано будь-які інші варіанти.)

лише незадекларовані (2):
За замовчуванням усі змінні включені у файл оголошення. З цим
варіант, включити тільки незадекларований змінні. Цей параметр корисний, якщо ви
хочу перевірити наявність неоголошених змінних, оскільки вихідні файли Fortran зі всіма
правильно оголошені змінні не призведуть до a .dcl файл. З цим
параметр, загальні блоки та списки списків імен не будуть включені до
файл декларації, оскільки за своєю природою вони не можуть бути незадекларованими.

компактний (4):
Декларації, як правило, добре надруковані, щоб акуратно вибудовуватись разом
стовпці, як у файлах декларацій, які виводять розширеним перевірочним інструментом PFORT,
pfort(1 л). Замість цього значення параметра вибирається компактний вихід без стовпця
вирівнювання.

використання-продовження-лінії (8):
Забезпечує використання продовження ліній там, де це дозволено. За замовчуванням – до
розпочати нове оголошення в кожному рядку. Цей варіант доречний для використання
Разом з компактний.

ключові слова - нижній регістр (16):
Виведіть ключові слова Fortran у нижньому регістрі, а не у верхньому регістрі за замовчуванням.

vars-and-consts-нижній регістр (32):
Виводити змінні та константи в нижньому регістрі замість стандартних
великі літери. Цей параметр не впливає на константи символьного рядка.

exclude-sftran3 (64):
Пропустіть оголошення внутрішніх цілочисельних змінних, створених SFTRAN3
препроцесор, xsf3(1L), як частина перекладу структурованого Fortran
заяви на звичайний Fortran. Ці змінні мають імена з шести символів
форма NPRddd, NXdddd, N2dddd та N3dddd, Де d є десятковою цифрою.
Оскільки вони невидимі у вихідному коді SFTRAN3 і зміняться, якщо
Код SFTRAN3 змінено, такі змінні не слід оголошувати явно.
Замість цього вони повинні просто прийняти типовий тип даних Fortran INTEGER
на їх початковій літері, N.

зірочка-коментар (128):
Використовуйте зірочку як символ коментаря; за замовчуванням в іншому випадку є "C".

comment-char-нижній регістр (256):
Використовуйте "c" замість "C" або "*" як символ коментаря.

придушити розміри масиву (512):
Придушити визначення розмірів масивів у створених оголошеннях. Цей варіант
призначений для використання з кодом, у якому відсутні оголошення типу, щоб дозволити оголошення
файли, які будуть вставлені без змін у код. Так як код буде мати
вже оператори вимірів, які визначають розміри змінних масиву в типі
оператори файлу декларації зайві. Цим параметром слід скористатися
тільки в поєднанні з варіантом 2 = undeclared-only, тому що в іншому випадку будь-який
масиви, які були визначені в операторі типу, втратять свої розміри
визначення розмірів.

вільній формі (1024):
Створюйте декларації у вільному вихідному вигляді. Цей режим автоматично використовується, якщо
джерело введення є довільною формою. Використовуйте цей параметр для створення декларацій
вільна форма, навіть якщо вхід у фіксованій формі. Декларації у довільній формі є
з відступом лише на 2 стовпці замість 6, використовуйте знак оклику як коментар
символ і позначте продовження рядків амперсандом у кінці
рядок має бути продовжений.

Файли декларацій містять відмінні коментарі, які позначають початок і кінець
оголошення для кожного програмного блоку, щоб полегшити використання макросів текстового редактора для
об'єднання декларацій назад у вихідний код.

Команда ftnchek розповсюдження включає програму, dcl2inc, який обробляє декларацію
файли для створення файлів, що містять оголошення всіх блоків COMMON, у формі
придатний для використання як файли INCLUDE. Див dcl2inc(1L) сторінка керівництва для детальної інформації про
його використання.

Див також: -mkhtml.

-mkhtml=список
Створюйте HTML-документацію з джерела. Створює окремі файли HTML з ftnchek
аналіз і коментарі до коду. Усі коментарі безпосередньо перед і після
визначення функції або підпрограми записуються у файл HTML. Немає переформатування
вихідні коментарі виконуються, крім видалення символів коментарів FORTRAN.
Крім того, у файлі HTML перелічено оголошені локальні змінні, загальний блок
використовувані змінні, виклики функцій і підпрограм, використання блоку введення-виводу та інше
інформація про кожну підпрограму. Зазвичай ви також хочете вказати
-заклик=дерево щоб створити кореневий HTML-файл CallTree.html. (Можливо, цей файл повинен
мати назву index.html.)

Різні параметри форми файлів HTML керуються список, Яка
складається з ключових слів, розділених комами або двокрапками. Є три спеціальні
ключові слова: всі щоб увімкнути всі параметри, ніхто щоб вимкнути їх усі, і допомога до
надрукуйте список усіх ключових слів із коротким поясненням кожного. Якщо список is
пропущено, -mkhtml еквівалентна -mkhtml=документи (тобто створіть документ HTML
файли, використовуючи параметри за замовчуванням), і -nomkhtmls еквівалентна -mkhtml=немає.

Для простоти, варіанти для -mkhtml такі ж, як і для
-makedcls крім тих, які не застосовуються. Аналогічно, числова форма
цей параметр можна використовувати, утворений як сума чисел у дужках у
список нижче. Ключові слова попередження з їхнім значенням такі:

документація (1):
Створіть документи HTML. (Це мається на увазі під будь-яким з інших варіантів, і
можна пропустити, якщо надано будь-які інші варіанти.)

компактний (4):
Декларації, як правило, добре надруковані, щоб акуратно вибудовуватись разом
колонки. Замість цього значення параметра вибирається компактний вихід без стовпця
вирівнювання.

використання-продовження-лінії (8):
Викликає використання рядків продовження замість початку нового оголошення
на кожному рядку. Цей варіант доречно використовувати разом з компактний.

ключові слова - нижній регістр (16):
Виведіть ключові слова Fortran у нижньому регістрі, а не у верхньому регістрі за замовчуванням.

vars-and-consts-нижній регістр (32):
Виводити змінні та константи в нижньому регістрі замість стандартних
великі літери. Цей параметр не впливає на константи символьного рядка.

exclude-sftran3 (64):
Пропустіть оголошення внутрішніх цілочисельних змінних, створених SFTRAN3
препроцесор, xsf3(1 л). (Подивитися -makedcls для обговорення.)

придушити розміри масиву (512):
Придушити визначення розмірів масивів у створених оголошеннях. Це
зазвичай небажаний, але доступний, якщо з якихось причин ви не хочете
розміри масиву відображатимуться в HTML.

вільній формі (1024):
Створюйте оголошення змінних у вільному вихідному вигляді. Цей режим є
автоматично використовується, якщо джерело введення є вільною формою. В основному це впливає на
форму продовження ліній, якщо вони використовуються.

Див також: -дерево викликів, -makedcls.

- новачок
Цей прапор призначений для надання більш корисного результату для початківців. Має два
ефекти:

(a) надає додаткове повідомлення про те, що функція, яка використовується, але не використовується
де завгодно може бути масив, який користувач забув оголосити в a
Оператор DIMENSION (оскільки синтаксис посилання на масив такий самий
посилання на функцію).

(b) змінює форму повідомлень про помилки та попереджень. Якщо прапор повернутий
від - новачок, ці повідомлення друкуються у стилі, що більше нагадує UNIX
стрічка.

За замовчуванням = так.

-вихід=ім'я файлу
Це налаштування передбачено для зручності в системах, які не дозволяють легко
перенаправлення виводу з програм. Коли цей параметр заданий, вихідне значення which
Як правило, з’являється на екрані, буде надіслано замість цього до названого файлу. Примітка,
однак, що операційні помилки ftnchek сама по собі (наприклад, немає місця або не може
відкритий файл) все одно буде надіслано на екран. Розширення для імені файлу
необов’язковий, а якщо розширення не надано, розширення .lis буде використовуватися.

-розмір вказівника=Num
Вказує розмір змінної ``Cray point'' Num байтів. За замовчуванням = поворот-
on = 4 байти.

Розмір вказівника використовується для інформування попереджень про точні невідповідності за допомогою покажчика
змінних, наприклад, коли вказівнику присвоюється значення з виділення
рутину або передається як параметр підпрограми.

Див також: -f77, - портативність, -усічення, -розмір слів.

-переносність=список
ftnchek буде давати попередження щодо різноманітних непереносних видів використання. Приклади включають
використання вкладок, за винятком коментарів або внутрішніх рядків, використання Hollerith
константи та еквівалентність змінних різних типів даних. Цей варіант
не видає попереджень щодо підтримуваних розширень стандарту Fortran 77,
що також може викликати проблеми з транспортуванням. Щоб зловити їх, використовуйте -f77 установка.
За замовчуванням усі попередження вимкнено.

Цей параметр забезпечує детальний контроль над попередженнями про можливу переносимість
проблеми. список складається з ключових слів, розділених комами або двокрапками. Існує
три спеціальні ключові слова: всі щоб увімкнути всі попередження про непереносне використання,
ніхто щоб вимкнути їх усі, і допомога щоб надрукувати список усіх ключових слів з a
коротке пояснення кожного. Якщо список пропущено, - портативність еквівалентна
-переносність = все та -нетранспортабельність еквівалентна -переносність = немає,
Ключові слова попередження з їхнім значенням такі:

зворотний слеш:
Символ зворотної косої риски в рядках. Оскільки деякі компілятори розглядають зворотну косу риску як
escape-символ, його наявність може спричинити проблеми, навіть якщо він використовується
у відповідний стандарту спосіб.

спільне вирівнювання:
Змінні блоку COMMON не в порядку спадання розміру пам’яті. Дещо
компілятори вимагають такого впорядкування через вимоги вирівнювання пам’яті.

hollerith:
Константи Холлеріта (крім специфікацій FORMAT). Голлеріт
Тип даних — це функція Fortran IV, яка була видалена у Fortran 77
стандартний. Його замінює тип даних символу. Зберігання Холлеріта
дані у змінних числового або логічного типу даних не переносяться через
різні розміри слів.

довгострунний:
Рядкові константи, змінні або вирази довжиною понад 255 символів.

змішана еквівалентність:
Змінні різних типів даних еквівалентні.

змішаного розміру:
Змінні, оголошені з точністю за замовчуванням, використовуються зі змінними, заданими явно
точність, у виразах, призначеннях або як аргументи. Наприклад, якщо а
змінна, оголошена як REAL*8, розглядається як еквівалент DOUBLE PRECISION.

реально зробити:
Нецілий індекс і межі циклу DO. Це може призвести до результатів програми
залежать від апаратних характеристик конкретного комп'ютера, який використовується.

param-implicit-type:
Неявне введення параметра за типом даних присвоєного значення, якщо він
відрізняється від типового типу. Це попередження може виникнути лише в тому випадку, якщо він неявний
введення параметрів увімкнено -source=param-implicit-type
або якщо оператор PARAMETER має нестандартну форму без
круглі дужки. Якщо цей параметр увімкнено, усі випадки неявні
відбувається введення параметра, де неявний тип відрізняється від
Тип за замовчуванням, заснований на першій літері назви параметра, буде попереджено
про. Неявне введення параметрів може змінити семантику операторів
де використовується параметр, що спричиняє проблеми з переносимістю.

таб: Вкладки у вихідному коді. Вкладки по-різному інтерпретуються різними
компілятори. Це попередження буде надано лише один раз, в кінці файлу.

Див також: -f77, -f90, -f95, - гарна, -стиль, -розмір слів.

-гарна =список
Керує певними повідомленнями, пов’язаними з зовнішнім виглядом вихідного коду. Ці попереджають
про речі, які можуть зробити програму менш читабельною або оманливою для читача.
За замовчуванням усі попередження ввімкнено.

Цей параметр забезпечує детальний контроль над попередженнями про зовнішній вигляд. The
список складається з ключових слів, розділених комами або двокрапками. Оскільки всі попередження включені
за замовчуванням додайте ключове слово з префіксом ні- щоб вимкнути конкретне попередження.
Є три спеціальні ключові слова: всі щоб увімкнути всі попередження про введення в оману
зовнішність, ніхто щоб вимкнути їх усі, і допомога щоб надрукувати список усіх
ключові слова з коротким поясненням кожного. Якщо список пропущено, - гарна is
еквівалентно -гарно = все та -негарно еквівалентна -гарна = немає,
Ключові слова попередження з їхнім значенням такі:

альтернативне повернення:
Оператор RETURN має константу, яка визначає альтернативну точку повернення
не знаходиться між 0 і кількістю фіктивних аргументів, які є мітками. Це
законний і має ту ж дію, що і ПОВЕРНЕННЯ без альтернативного повернення
вираз, але припускає, що програміст мав намір використовувати альтернативний
етикетка повернення, яка не надається.

вбудований простір:
Пробіл, вбудований в імена змінних або в багатосимвольні оператори, такі як **.

продовження:
Позначка продовження після рядка коментаря.

ярусний:
Рядки (крім коментарів) мають ширину понад 72 стовпці (як правило, понад 72).
ігнорується компілятором).

відсутній простір:
Брак простору між змінною та попереднім ключовим словом.

множинні загальні:
Блок COMMON оголошений у кількох операторах. Попередження не надається, якщо
оператори є послідовними, за винятком рядків коментарів.

список кількох імен:
NAMELIST оголошено в кількох заявах. Попередження не надається, якщо
оператори є послідовними, за винятком рядків коментарів.

круглі дужки:
Дужки навколо змінної окремо. Як аргумент підпрограми, це
робить аргумент виразом, який не змінюється підпрограмою.

Зауважте, що у вільному вихідному коді додатковий та відсутній простір заборонені
Fortran 90 Standard, і не є простими порушеннями стилю. У цьому випадку попередження
замінюються повідомленнями про синтаксичну помилку, і їх можна вимкнути лише за допомогою
-ночека.

Див також: -f77, - портативність, -стиль.

-проект=список
ftnchek створить файл проекту з кожного вихідного файлу, який буде введено під час цього
опція увімкнена. Файлу проекту буде дано те саме ім'я, що і вхідному
файл, але з розширенням .f or .для замінено на .prj. (Якщо введено з
стандартний вхід, іменується файл проекту ftnchek.prj.) За замовчуванням = немає.

Команда список складається з ключових слів, розділених комами або двокрапками. Є три
спеціальні ключові слова: всі щоб увімкнути всі параметри, ніхто щоб вимкнути їх усі, і
допомога щоб надрукувати список усіх ключових слів із коротким поясненням кожного. Якщо
список пропущено, -проект еквівалентна -проект = все та - немає проекту is
еквівалентно -проект = немає. Ключові слова з їхнім значенням такі:

створювати:
Створіть файл проекту. За замовчуванням не створюється файл проекту. Якщо
ця опція не ввімкнена, інші параметри не діють.

трим-дзвінки:
Обрізати кількість інформації, що зберігається у файлі проекту, про підпрограму
заяви та дзвінки. Це значення за замовчуванням. Вимкніть цю опцію лише в
рідкісні ситуації. (Див. обговорення нижче.) Кількість обрізки різниться
залежно від - бібліотека прапор. Додаткова інформація обрізається, якщо цей прапор є
включено.

обробка-загальна:
Обріжте кількість загальних декларацій блоків, що зберігаються у файлі проекту.
Це значення за замовчуванням. Вимикайте цю опцію лише в рідкісних ситуаціях. (Подивитися
обговорення нижче.) Цей параметр не діє, якщо - бібліотека прапор повернуто
вимкнено: коли не в режимі бібліотеки, обрізання загальних декларацій блоків не відбувається
виконується незалежно від цього варіанту.

Файл проекту містить підсумок інформації з вихідного файлу для використання в
перевірка узгодження між використанням FUNCTION, SUBROUTINE та COMMON в інших файлах.
Він дозволяє здійснювати додаткову перевірку, що заощаджує час, коли у вас є великий набір
файли, що містять спільні підпрограми, більшість з яких рідко змінюються. Ви можете бігти
ftnchek один раз у кожному файлі з -проект прапорець, створення файлів проекту.
Зазвичай ви також встановлюєте - бібліотека та -незовнішній прапори в цей час, до
придушувати повідомлення, що стосуються узгодженості з іншими файлами. Тільки повідомлення про помилки
у цей час буде надруковано окремо для кожного файлу. Після цього бігайте
ftnchek без цих прапорців у всіх файлах проекту разом, щоб перевірити узгодженість
серед різних файлів. Усі внутрішні повідомлення для окремих файлів тепер будуть
бути опущеним. Тільки після зміни файлу буде потрібно створити новий файл проекту
за це.

Природно, коли -проект увімкнено опцію, ftnchek не буде читати проект
файли як вхідні дані.

Як правило, параметри обрізки слід залишити увімкненими, коли ви збираєтеся створити проект
файли для майбутнього введення до ftnchek. Оскільки обрізання ввімкнено за замовчуванням, це означає
що просто дає команду -проект без списку варіантів рекомендується
режим. Варіанти оздоблення надаються лише для зручності для бажаючих
використовувати файли проекту для інших цілей, ніж перевірка програми
ftnchek. Щоб використовувати файли проекту за призначенням, параметри обрізки повинні
не бути вимкненим.

Файли проекту містять лише інформацію, необхідну для перевірки згоди між файлами.
Це означає, що файл проекту не має користі, якщо всі модулі повної програми
містяться в одному файлі.

Більш детальне обговорення наведено в розділі Використання файлів проекту.

- чистий
Припустимо, що функції є ``чистими'', тобто вони не матимуть побічних ефектів від модифікації
їхні аргументи або змінні в блоці COMMON. Коли цей прапор діє,
ftnchek буде базуватися на визначенні встановленого та використаного статусу фактичних аргументів
за умови, що аргументи, передані функції, не змінюються. Це буде
також видає попередження, якщо буде виявлено, що функція змінює будь-який зі своїх аргументів або будь-який інший
ЗАГАЛЬНІ змінні. За замовчуванням = так.

Коли цей прапор вимкнено, оброблятимуться фактичні аргументи, передані функціям
так само, як і фактичні аргументи, що передаються підпрограми. Це означає що ftnchek
буде вважати, що аргументи можуть бути змінені функціями. Попереджень не буде
дається, якщо виявлено, що функція має побічні ефекти. Тому що більш сувора перевірка
можливо, якщо передбачається, що функції є чистими, ви повинні вимкнути цей прапор, лише якщо
ваша програма насправді використовує функції з побічними ефектами.

-спокійно
Ця опція зменшує обсяг виходу, що відноситься до нормальної роботи, тому
повідомлення про помилки більш очевидні. Ця опція передбачена для зручності
користувачів, які перевіряють великі набори файлів. Усунутий вихід включає
назви файлів проекту та повідомлення про те, що синтаксичних помилок не знайдено.
Він також усуває деякі порожні рядки, які зазвичай додаються для наочності. (Дещо
цього виходу знову вмикається -список та -симв параметри.) За замовчуванням = ні.

Примітка: спосіб запам'ятати різницю між -спокійно та - коротко в тому, що
-спокійно не приховує будь-яку інформацію, пов’язану з попередженнями, тоді як - коротко робить.

Див також: - коротко.

-довідка
Вказує, що таблиця хто дзвонить кому буде надрукована. У цій таблиці перелічено кожну підпрограму
за яким слідує список процедур, які він викликає. Цей перемикач еквівалентний
-дерево виклику=посилання. За замовчуванням = ні.

У списку посилань пропущені підпрограми, викликані невикористаними бібліотечними модулями. Таким чином це
містить ту ж інформацію, що і для формату дерева викликів, а саме ієрархію
виклики підпрограм, але надруковані іншим способом. Це друкує вшир
обхід дерева викликів -calltree=дерево друкує в глибину
обхід.

Див також: -дерево викликів, -перехресне посилання, - бібліотека, -сортувати, -симв, -vcg.

-ресурси
Виводить кількість використаних ресурсів ftnchek при обробці програми. Це
Список може бути корисним для аналізу розміру та складності програми. Це може
також допоможе у виборі більших розмірів для ftnchekвнутрішні таблиці, якщо вони теж
малий для аналізу конкретної програми. За замовчуванням = ні.

У цьому списку термін "розмір фрагмента" - це розмір блоків пам'яті
призначені для зберігання відповідного предмета в одиницях розміру одного предмета, не
обов'язково в байтах. Коли спочатку виділене місце заповнюється, більше пам’яті
розподіляється на шматки такого розміру. Нижче наведено пояснення пунктів
надруковано:

Source ліній оброблено:
Загальна кількість рядків коду з окремими підсумками для рядків операторів і
рядки коментарів. Рядки коментарів також містять рядки з 'C' або '*' в стовпці 1
як порожні рядки та рядки, що містять лише вбудований коментар. Рядки заяв
це всі інші рядки, включаючи рядки, які мають вбудований коментар після деяких
код. Продовження рядків враховуються як окремі рядки. Рядки включаються
файли підраховуються кожного разу, коли файл включається.

Усього: виконуваний файл твердження:
Кількість операторів у програмі, крім специфікації, даних, заяв-
оператори функції, FORMAT, ENTRY та END.

Усього: номер of модулі:
Модуль – це будь-яка зовнішня підпрограма, включаючи основну програму, підпрограми,
функції та блоки даних. Це кількість модулів, визначених у межах
джерело, а не посилання на модулі. Функції оператора не включені. А
підпрограма з кількома точками входу враховується лише один раз.

Усього: заяву етикетки певний
Кількість міток, доданих до операторів (часто називаються номерами заяв). The
вказано загальну кількість міток для всієї програми, а також максимальне значення
номер у будь-якій окремій підпрограмі.

Макс ідентифікатор ім'я символи:
Кількість символів, що використовуються для зберігання імен ідентифікаторів. Ідентифікатор - це a
ім'я змінної, підпрограми або загального блоку. Місцеві назви є місцевими
змінні в підпрограмі, тоді як глобальні назви відносяться до підпрограми та загального
імена блоків, а також імена фіктивних аргументів та загальні імена змінних. Фактичний
Текст аргументу (до 15 символів для кожного аргументу) також включено сюди.
Простір, що використовується для локальних імен, не відновлюється в кінці кожного модуля, тому
це число, як і глобальний простір, зростає, поки не буде проаналізована вся програма.
На жаль, ця цифра може включати деякий текст, який зберігається більше одного разу,
хоча використовується евристика, яка у багатьох випадках дозволить уникнути дублювання.

Макс знак текст символи:
Лексема — це найменша синтаксична одиниця мови FORTRAN над рівнем
окремих персонажів. Наприклад, маркер може бути ім'ям змінної, a
числова константа, текстовий рядок у лапках або знак пунктуації. Токен
текст зберігається під час обробки модуля. З технічних причин,
односимвольні токени не входять до цієї суми. Предмети, які не є
представлені в таблиці символів, можуть бути продубльовані. Місце для тексту лексем є
відновлюється в кінці кожного модуля, тому ця цифра представляє максимум для
будь-який модуль.

Макс місцевий символи:
Це найбільша кількість записів у локальній таблиці символів для будь-якого модуля.
Записи таблиці локальних символів включають всі змінні та параметри, загальний блок
імена, функції операторів, зовнішні підпрограми та внутрішні функції
на які посилається модуль. Літеральні константи не зберігаються в локальному символі
таблиці.

Макс в цілому символи:
Це кількість записів у глобальній таблиці символів у кінці
обробка. Записи глобальної таблиці символів включають зовнішні підпрограми та загальні
імена блоків. Внутрішні функції та функції операторів не включені.

Макс номер of списки маркерів:
Список маркерів — це послідовність маркерів, що представляють фактичний або фіктивний аргумент
список підпрограми або список змінних у загальному блоці чи списку імен.
Тому це число являє собою найбільшу суму COMMON, CALL, NAMELIST і
Оператори ENTRY і виклики функцій для будь-якого окремого модуля. Простір є
відновлюється в кінці кожного модуля.

Макс знак список/дерево простір:
Це найбільша кількість маркерів у всіх списках маркерів і деревах маркерів
будь-який модуль. При аналізі виразу утворюється дерево лексем: кожний
операнд — це листок дерева, а оператори — вузли. Тому це
число є мірою максимальної складності окремого модуля. Для
екземпляр модуля з багатьма довгими арифметичними виразами матиме високий
номер. Зауважте, що на відміну від тексту маркера, описаного вище, кількість маркерів дорівнює
незалежно від довжини імен змінних або літеральних констант у
вирази.

Номер of підпрограма заклики:
Це сума за всіма модулями кількості операторів і функції CALL
виклики (крім внутрішніх функцій і функцій оператора).

Номер of загальний блок відмінюється:
Це сума за всіма модулями кількості загальних декларацій блоків.
Тобто кожне оголошення блоку в іншому модулі підраховується
окремо. (Стандарт допускає кілька декларацій блоку всередині
той же модуль; вони вважаються лише однією декларацією, оскільки вони є
еквівалентно одній довгій декларації.)

Номер of масив Нд & парам ptr:
Це сума за всіма модулями числа вимірів і параметрів масиву
текстові рядки визначення, збережені для використання -makedcls варіант. Довжина
текстові рядки не враховуються. Кожен вимір багатовимірного масиву є
враховується окремо.

Ці числа, очевидно, не збігаються, якщо замість файлів проекту використовуються файли проекту
оригінальний вихідний код. Навіть цифри для глобальних сутностей можуть відрізнятися,
оскільки деяка зайва інформація усувається у файлах проекту.

-шість символів
Одна з цілей в ftnchek Програма має допомогти користувачам писати портативний Fortran
програми. Одним з потенційних джерел непереносимості є використання імен змінних, які
довше шести символів. Деякі компілятори просто ігнорують зайві символи.
Така поведінка потенційно може призвести до розгляду двох різних змінних
так само. Наприклад, змінні з іменами AVERAGECOST і AVERAGEPRICE однакові
у перших шести символах. Якщо ви хочете вловити такі можливі конфлікти, використовуйте
цей прапор. За замовчуванням = ні.

Використовувати -f77=довгі назви якщо хочеш перерахувати всі змінних більше шести
символи, а не лише ті пари, які однакові в перших шести.

Див також: -f77, - портативність.

-сортувати
Вказує на друк відсортованого списку всіх модулів, які використовуються в програмі. Це
список знаходиться в порядку ``обов'язкового'', тобто кожен модуль друкується лише після всіх
були надруковані модулі, з яких він викликається. Це також називається а
``топологічний сорт'' дерева викликів. Кожен модуль вказано лише один раз. рутини
яких немає в дереві викликів основної програми, опускаються. Якщо такі є
циклів у графі викликів (недопустимо в стандартному Fortran) вони будуть виявлені і
діагностовано. За замовчуванням = ні.

Див також: -дерево викликів, -перехресне посилання, -довідка, -симв, -vcg.

-джерело=список
Цей параметр керує певними параметрами форми вихідного коду Fortran.
Команда список складається з ключових слів, розділених комами або двокрапками. Є три
спеціальні ключові слова: всі щоб увімкнути всі параметри, ніхто щоб вимкнути їх усі, і
допомога щоб надрукувати список усіх ключових слів із коротким поясненням кожного. Якщо
список пропущено, -Source еквівалентна -джерело=все та -немає джерела є еквівалентним
до -джерело=немає.

Для сумісності з попередніми версіями ftnchek, числова форма цього параметра
також прийнято: в список замінюється числом, яке є сумою чисел
у дужках біля ключових слів у наведеному нижче списку. (В фіксованою та безкоштовно
параметри не мають числових значень.) Ключові слова попередження з їх значеннями є
наступним чином:

фіксованою:
Інтерпретуйте джерело як фіксовану форму (з підтримуваними розширеннями, такими як
знак оклику для коментарів). Записи мають бути у графах 7-72
(якщо не -колс було використано для зміни цього параметра), а пробіли ні
значущий зовнішній контекст персонажа (але попереджений про - гарна
варіант). Це режим за замовчуванням, якщо розширення вихідного файлу не є .f90
or .F90. цей параметр не можна надавати разом з -джерело=безкоштовно.

безкоштовно: Інтерпретуйте джерело як вільну форму. Записи можуть бути де завгодно в колонці 1
до 132, коментарі можуть починатися лише зі знака оклику, а пробіли є
в деяких місцях, наприклад, між ідентифікаторами та ключовими словами. Це
режим за замовчуванням, якщо розширення вихідного файлу .f90 or .F90. Цей варіант
не можна давати разом з -джерело=виправлено or -source=dec-tab

дек-вкладка (1):
Прийняти джерело у форматі вкладок у стилі DEC. Рядок, що починається з початкової табуляції
буде розглядатися як новий рядок оператора, якщо не є символ після табуляції
ненульова цифра, у цьому випадку вона розглядається як рядок продовження. The
наступний стовпець після знака табуляції або продовження приймається за колонку 7. A
попередження буде видано у випадку, коли лінія є продовженням, якщо
-f77=dec-tab діє.

vms-включити (2):
Приймайте інструкції INCLUDE в стилі VMS. Вони відповідають звичайному синтаксису, але
з такими додатковими функціями: (1) розширення файлу, якщо його не надано,
за замовчуванням такий самий, як і звичайне розширення вихідного файлу; і (2) варіант
/LIST або /NOLIST можна додати до назви включаючого файлу, щоб контролювати список
його змісту.

unix-обратний слеш (4):
Обробляйте екрани зворотної косої риски в стилі UNIX у рядках символів. Втеча
послідовність після зворотної косої риски буде оцінюватися відповідно до ANSI
стандарт для рядків у C: до трьох цифр означають вісімкове значення, x
означає початок шістнадцяткової константи, будь-яка з букв abfnrt
позначають спеціальні контрольні коди та будь-який інший символ (включаючи новий рядок)
позначає сам персонаж. Коли ця опція вихідного коду діє, a
буде надано попередження, якщо -f77=зворотна коса риса вказано налаштування.

Поведінка за замовчуванням полягає в тому, щоб розглядати зворотну косу риску як будь-яку іншу звичайну
символ, але попередження про переносимість буде згенеровано, якщо
- портативність прапор встановлений. Через те, що деякі компілятори обробляють
зворотну косу риску нестандартним способом, можливо для відповідності стандарту
програми не можуть бути переносними, якщо вони використовують символ зворотної косої риски в рядках.

З ftnchek не робить багато з інтерпретованим рядком, це рідко
необхідно використовувати цю опцію. Це потрібно для того, щоб уникнути підробок
попередження, лише якщо (a) програма, яка перевіряється, використовує зворотну косу риску для вбудовування файлу
апостроф або лапка в рядку замість використання стандартного механізму
подвоєння роздільника; (b) зворотна коса риска використовується для екранування кінця-
рядок, щоб продовжити рядок у кількох рядках джерела; або (c) a
У визначенні PARAMETER використовується внутрішня функція рядка, наприклад LEN з такими
рядок як аргумент, і це значення згодом використовується для визначення масиву
розміри тощо.

param-implicit-type (8):
Неявне введення параметра за типом даних присвоєного значення. Дещо
нестандартні компілятори можуть дозволити тип даних значення перевизначати
Тип параметра за замовчуванням у Fortran 77, заснований на першій літері
ім'я параметра. Цей параметр застосовується лише до операторів PARAMETER
стандартна форма, яка має дужки. Параметр, який вказано явно
оголошені в операторі типу перед оператором PARAMETER це не впливає
за цим варіантом. Попередження буде надано під -f77=параметр-неявний-тип
or -portability=param-implicit-type варіант.

Зауважте, що ця неявна типізація розглядається як еквівалентна явному типу
оголошення для параметра. Тому, якщо ви використовуєте
-makedcls=неоголошений-лише генерувати декларації лише про незадекларовані
змінних, ці параметри будуть НЕ бути включені.

dec-param-standard-type (16):
Дотримуйтесь правила Fortran 77 для введення даних параметрів стилю DEC Fortran.
Вони оголошуються за допомогою нестандартної форми оператора PARAMETER, який
відсутні дужки. Згідно з DEC Fortran, параметри визначаються цією формою
оператора мають тип даних, заданий типом даних значення
призначений. Використовуйте цю опцію, щоб розповісти ftnchek не слідувати цьому правилу, але
замість цього використовувати те саме правило, що й для стандартних операторів PARAMETER. Це
Опція не застосовується до операторів PARAMETER стандартної форми.

За замовчуванням усі ці параметри вихідного коду вимкнено, за винятком
vms-включити параметр, який увімкнено за замовчуванням у версії VMS.

Див також: -f77, -включати, - портативність.

-стиль=список
Забезпечує надзвичайно вибагливі попередження про застаріле або старомодне програмування
конструкцій. Ця опція корисна, якщо ви намагаєтеся дотримуватися сучасного програмування
стиль. (Більшість речей, на які скаржиться в цій опції, заборонені в
F підмножина мова.) By за замовчуванням, всі попередження він має Виявилося вимкнути

Команда список складається з ключових слів, розділених комами або двокрапками. Є три
спеціальні ключові слова: всі щоб увімкнути всі параметри, ніхто щоб вимкнути їх усі, і
допомога щоб надрукувати список усіх ключових слів із коротким поясненням кожного. Якщо
список пропущено, -стиль еквівалентна -стиль = все та -ностиль еквівалентна
-стиль=немає. Ключові слова попередження з їхнім значенням такі:

блок-якщо:
Скаржитися на арифметичне твердження IF. Прийняти блок IF або логічне IF (який
керує одним оператором).

ім'я конструкції:
Скаржитися на безіменовані блокові конструкції: IF, DO та SELECT CASE. Зауважте, що
якщо ім’я конструкції присутнє в початковій інструкції конструкції, то
він має бути присутнім у всіх інших операторах компонента (ELSE, END IF,
тощо) конструкції. У цьому випадку відсутня назва конструкції на цих
оператори генерують синтаксичну помилку незалежно від цього параметра. Мета
цієї опції — попередження, якщо в конструкції повністю відсутній необов’язковий
ім'я.

чітко-робити:
Скаржитися, якщо два цикли DO мають спільний термінатор.

робити-конструювати:
Скаржитися, якщо термінатор циклу DO є чимось іншим, ніж END DO або
Заява CONTINUE. Це вимога для того, щоб петля відповідала
визначення до-конструкції у Fortran 90.

робити-енддо:
Скаржитися, якщо термінатор циклу DO є чимось іншим, ніж END DO
заяву. (Цей параметр замінює робити-конструювати варіант, будучи парним
суворіше.)

кінцеве ім'я:
Скаржитися на відсутність назви підпрограми на структурованому END
заяви.

format-stmt:
Скаржитися на наявність операторів FORMAT. Тільки оператори FORMAT
позначені самі, а не посилання на них у списках вводу-виводу.

На: Скаржитися на наявність безумовного, обчисленого або призначеного GOTO
заяви. Також скаржаться на альтернативне повернення (але не на етикетки як
аргументи підпрограми).

labeled-stmt:
Скаржитися на наявність міток (цифр) на висловлюваннях, крім
Операції FORMAT. (Оскільки оператори FORMAT, можливо, зручні, але ні
охоче зловживають, скарги на них контролюються окремими
format-stmt ключове слово.)

програма-stmt:
Скаржитися на відсутність викладу ПРОГРАМИ на чолі головної
програми.

структурований кінець:
Скаржитися на використання простого оператора END для завершення підпрограми
ніж структурований оператор END (END PROGRAM, END SUBROUTINE, END FUNCTION,
або END BLOCK DATA).

Див також: -f77, -f90, -f95, - гарна, - портативність.

-симв
Для кожного модуля буде роздруковано таблицю символів із переліком усіх ідентифікаторів
згадані в модулі. Ця таблиця містить назву кожної змінної, її тип даних,
і кількість вимірів для масивів. Зірочка (*) означає, що
змінна була введена неявно, а не названа в явному типі
заява про декларацію. У таблиці також перераховані всі підпрограми, які викликає модуль,
оголошені всі блоки COMMON тощо. За замовчуванням = ні.

Також для кожного модуля буде надрукована таблиця етикеток. У таблиці перелічено кожну етикетку
визначені в модулі; рядок, на якому визначено зазначену мітку оператора; і
тип оператора (виконуваний файл, формат або специфікація). Мітки перераховані в
послідовний порядок.

Також надруковано таблицю з описом блоків вводу/виводу, які використовуються модулем, разом з
відомості про те, як вони використовуються: які операції виконуються, чи
доступ є послідовним чи прямим, а також формат введення-виводу чи неформатування.

Див також: -дерево викликів, -перехресне посилання, -список, -довідка, -сортувати, -vcg.

-усічення=список
Попереджати про можливі помилки скорочення (або округлення). Більшість із них пов’язані з
ціла арифметика. За замовчуванням усі попередження ввімкнено.

Цей параметр забезпечує детальний контроль над попередженнями про можливе скорочення
помилки. The список складається з ключових слів, розділених комами або двокрапками. Оскільки всі
попередження ввімкнено за замовчуванням, включають ключове слово з префіксом ні- щоб вимкнути a
особливе попередження. Є три спеціальні ключові слова: всі щоб увімкнути всі
попередження про скорочення, ніхто щоб вимкнути їх усі, і допомога щоб надрукувати список
всі ключові слова з коротким поясненням кожного. Якщо список пропущено, -усічення
еквівалентна -усічення=все та -неусічення еквівалентна
-усічення = немає. Ключові слова попередження з їхнім значенням такі:

int-div-експонента:
використання результату цілого ділення як показника. Це говорить про те, що а
мається на увазі реальний коефіцієнт. Прикладом може бути написання X**(1/3) для оцінки
кубічний корінь X. Правильний вираз X**(1./3.).

int-div-real:
Перетворення виразу, що включає ціле ділення, на дійсне. Це
припускає, що мається на увазі реальний коефіцієнт.

int-div-нуль:
поділ у цілочисельному константному виразі, що дає результат нуль.

int-neg-power:
приведення в ступінь цілого числа на від’ємне ціле число (яке дає нуль, якщо
основне ціле число дорівнює 1 за величиною). Це говорить про те, що справжня база є
за призначенням.

просування:
автоматичне перетворення величини меншої точності в одну з більш високої
точність. Втрата точності для реальних змінних у цьому процесі є
порівнянно з відповідним пониженням в посаді. За підвищення не попереджають
від цілих величин до дійсних, оскільки це зазвичай точно.

реальний індекс:
використання нецілого індексу DO в циклі з цілочисельними межами. Ціле число DO
індекс із реальними межами завжди попереджається незалежно від цього параметра.

дійсний індекс:
використання індексу нецілого масиву.

видатні постаті:
надмірне визначення однієї константи точності. Це може свідчити про подвійну
була призначена постійна точності.

розмір-пониження:
автоматичне перетворення більшої точності в величину меншої точності
одного типу. Це попередження виникає лише тоді, коли використовується явний розмір
оголошення типу одного або обох операндів у присвоєнні. Наприклад, а
попередження буде видано, коли змінна REAL*8 присвоєно змінній REAL,
якщо діють стандартний розмір слова 4. Попередження також видається, якщо a
довге ціле число призначається коротшому, наприклад, якщо INTEGER
вираз присвоюється змінній INTEGER*2. Є один виняток
цей останній випадок, а саме якщо права частина завдання невелика
літерна константа (менше 128). тип-пониження: автоматичне перетворення a
від більшої точності до однієї з меншою точністю різного типу. Це
попередження включає перетворення дійсних величин у ціле з подвійною точністю
до реальної одиничної точності та призначення довшого рядка символів a
коротший.

Попередження про підвищення та пониження також застосовуються до складних констант,
вважаючи точність дійсної чи уявної частини. Попередження про
підвищення та пониження в посаді надаються лише тоді, коли конвертація виконується автоматично,
наприклад, у виразах змішаної точності або в операторі присвоєння. Якщо внутрішня
Для виконання перетворення використовуються такі функції, як INT, попередження не видається.

Див також: - портативність, -розмір слів.

-використання=список
Попереджати про невикористані або можливі неініціалізовані змінні, невикористані загальні блоки,
невизначені або невикористані мітки операторів, а також невикористані чи невизначені підпрограми. За
за замовчуванням, усі попередження ввімкнено.

Цей параметр забезпечує детальний контроль над попередженнями про можливе використання
помилки. The список складається з ключових слів, розділених комами або двокрапками. Оскільки всі
попередження ввімкнено за замовчуванням, включають ключове слово з префіксом ні- щоб вимкнути a
особливе попередження. Є три спеціальні ключові слова: всі щоб увімкнути всі
попередження про використання, ніхто щоб вимкнути їх усі, і допомога щоб надрукувати список усіх
ключові слова з коротким поясненням кожного. Якщо список пропущено, -використання is
еквівалентно -використання=все та -нос еквівалентна -використання=немає. Ці
попередження охоплюють чотири основні категорії об'єктів: фіктивні аргументи підпрограми, загальні
блоки та змінні, підпрограми та функції та локальні змінні. Попередження
включати невизначені елементи, множити визначені елементи, невикористані елементи тощо. Попередження
ключові слова з їхнім значенням такі:

псевдонім arg:
скалярний фіктивний аргумент насправді такий самий, як інший і є (або може бути)
змінений. Стандарт Fortran 77 (розділ 15.9.3.6) забороняє змінювати
аргумент, який є псевдонімом для іншого.

arg-array-alias:
фіктивний аргумент, який є масивом або елементом масиву, знаходиться в тому самому масиві, що й
інший і змінюється. Цей прапор схожий на псевдонім arg але забезпечує
окремий контроль над аргументами масиву. Важче сказати, чи є псевдонім
що відбувається у випадку масивів, тому якщо ftnchek дає забагато помилкових попереджень,
цей прапор дозволяє вимкнути пов’язані з масивом без придушення
попередження для скалярів.

arg-common-alias:
скалярний фіктивний аргумент такий самий, як загальна змінна в підпрограмі,
і будь-який з них змінений. Це також заборонено стандартом Fortran 77.
Якщо загальна перевірка не точна (див - загальний налаштування), це важче
вкажіть, чи відбувається псевдонім, тому попередження видається, якщо змінна є
будь-де в загальному блоці, оголошеному підпрограмою.

arg-common-array-alias:
фіктивний аргумент, який є масивом або елементом масиву, знаходиться в тому самому масиві, що і a
загальна змінна, і будь-яка змінена. Якщо загальна перевірка не точна,
змінна може бути в будь-якому місці загального блоку, оголошеного за допомогою
підпрограма.

arg-const-modified:
підпрограма змінює аргумент, який є константою або виразом. Такий
дія може спричинити аномальну поведінку програми.

arg-невикористаний:
фіктивний аргумент оголошується, але ніколи не використовується. Це схоже на
змінна-невикористана ключове слово, описане нижче, але стосується лише аргументів.

com-block-unused:
оголошується загальний блок, але жодна зі змінних у ньому не використовується жодним
підпрограма. Це попередження припиняється, якщо є загальне налаштування суворості
0.

com-block-volatile:
загальний блок може втратити визначення свого вмісту, якщо загальні блоки є
непостійний. Цей параметр діє лише в тому випадку, якщо -загальний=непостійний прапор в
ефект. Дивіться обговорення - загальний налаштування вище.

com-var-set-unused:
загальній змінній присвоюється значення, але її значення ніхто не використовує
підпрограма. Це попередження припиняється, якщо є загальне налаштування суворості
0.

com-var-неініціалізована:
значення загальної змінної використовується в деякій підпрограмі, але не встановлюється
де завгодно. на жаль, ftnchek не робить достатньо ретельного аналізу
послідовність викликів, щоб знати, які підпрограми викликаються раніше інших. Тому
попередження про цей тип помилки буде надано лише у випадках, коли a
змінна використовується в деякій підпрограмі, але не встановлюється в жодній іншій підпрограмі. Перевірка
окремих COMMON змінних виконується лише за умови - загальний налаштування 3
(змінна за змінною згодою). Це попередження приховується, якщо загальний
налаштування суворості 0.

com-var-unused:
загальна змінна оголошується, але не використовується жодною підпрограмою. Це попередження
пригнічується, якщо загальний параметр суворості дорівнює 0.

do-index-modified:
змінна, яка є індексом циклу DO, змінюється деяким оператором
в межах діапазону петлі. Стандарт дозволяє активній змінній DO
змінюватися лише за допомогою механізму приросту оператора DO.

ext-multiply-defined:
зовнішній (підпрограма або функція) визначається більше одного разу. Визначення
зовнішнього засобу, що забезпечує тіло його вихідного коду.

ext-оголошений-лише:
ім'я оголошується в операторі EXTERNAL в якомусь модулі, але це не так
визначені або використані де завгодно.

ext-невизначений:
зовнішній елемент використовується (викликається), але ніде не визначається. Цей варіант є
еквівалентно -зовнішні прапор. Якщо підпрограма викликається більше ніж
один раз ці виклики все одно будуть перевірені на відповідність.

ext-невикорист:
зовнішній визначено (є тіло підпрограми), але воно не використовується.
Підпрограма вважається невикористаною, навіть якщо вона викликана іншим
підпрограми, якщо її неможливо викликати з жодного потоку виконання, починаючи з
основна програма. Узгодження аргументів підпрограми з її
виклики все ще перевіряються, навіть якщо це попередження вимкнено. Якщо є
немає основної програми, то це попередження видається лише якщо підпрограми немає
викликані де завгодно. Це попередження пригнічено в режимі бібліотеки, але бібліотека
режим має додатковий ефект придушення перевірки аргументів на наявність невикористаних
рутини.

мітка-невизначена:
оператор посилається на мітку, яка не була визначена.

етикетка-невикористана:
мітка оператора визначена, але ніколи не посилається на неї.

var-set-unused:
локальній змінній присвоюється значення, але це значення не використовується.

var-неініціалізований:
значення локальної змінної може бути використане до того, як воно буде призначено. Іноді
ftnchek робить помилку в попередженнях про використання локальної змінної. Зазвичай
він помиляється на стороні попередження там, де проблем немає, але рідко
у випадках він може не попередити, де проблема існує. Дивіться розділ про
Помилки для прикладів. Якщо змінні еквівалентні, правило, яке використовується ftnchek
полягає в тому, що посилання на будь-яку змінну передбачає однакове посилання на всі
змінних, яким він еквівалентний. Для масивів правилом є посилання на
будь-який елемент масиву розглядається як посилання на всі елементи масиву.

змінна-невикористана:
локальна змінна оголошується (наприклад, в оголошенні типу), але ні
використовується в модулі. Не стосується фіктивних аргументів: попередження про них
контролюються за допомогою ключового слова arg-невикористаний описано вище.

Примітка: у версіях о ftnchek до 2.10 -використання flag взяв числовий аргумент
замість списку варіантів. Для користувачів, які, можливо, написали сценарії
виклик ftnchek таким чином, числова форма все ще прийнятна. Числове
налаштування складається з трьох цифр. Перша цифра (сотня) контролює
попередження про підпрограми (функції та підпрограми), друга цифра (десятки
місце) попередження про загальні блоки та загальні змінні, і третя цифра
(одні місця) попередження про локальні змінні. Кожна цифра контролює попередження
згідно з умовою, що 1 означає попередження про невизначені елементи та змінні
які використовуються до встановлення, 2 означає попередження про предмети, які не використовуються, а 3 означає
попереджаємо про обидва типи. Тепер ці числа перетворюються на відповідні значення
для перелічених вище ключових слів, за винятком com-block-volatile, який не впливає
за числовим аргументом.

Див також: - загальний, - заявити, - зовнішній, - бібліотека.

-vcg
Створіть граф викликів у вигляді опису графіка VCG. Цей опис є
записується в окремий файл з тим же основою, що й файл, що містить основний файл
програма та суфікс .vcg. Цей файл можна передати безпосередньо xvcg(1л) до
візуалізувати графік викликів. (Якщо вхід зі стандартного введення, то графік
опис надсилається на стандартний вихід.) Цей перемикач еквівалентний
-calltree=vcg. За замовчуванням = ні.

Створений опис VCG складніший, ніж потрібно. VCG дозволяє створювати графіки
і вкладені підграфи: кожна підпрограма створюється як підграф, вкладений всередині неї
дзвінки. Це дозволяє інтерактивно відображати підграфи або узагальнювати
Ними.

Команда -vcg варіант для ftnchek був написаний доктором Філіпом Рубіні з Кренфілда
Університет, Великобританія.

xvcg це інструмент візуалізації графіків, який працює під системою X windows. це є
у вільному доступі з ftp.cs.uni-sb.de. Її написав Г. Сандер з
Саарський університет, Німеччина.

Див також: -дерево викликів, -перехресне посилання, -довідка, -сортувати.

-версія
Цей варіант викликає ftnchek надрукувати рядок із номером версії, датою випуску,
та рівень виправлення програми. Якщо файли не надано, він закривається. Якщо файли
наведено, ефектом цієї опції є включення рівня виправлення (звичайно
пропущено) в інформації версії, надрукованої на початку обробки. За замовчуванням =
немає.

Див також: -допомога.

- непостійний
Припустимо, що блоки COMMON нестабільні. За замовчуванням = ні.

Цей прапор замінено на -загальний=непостійний, і більше не слід використовувати. Це може
буде вилучено в майбутньому випуску ftnchek.

Див також: - загальний, -використання.

-wordsize=Num
Визначає розмір слова за замовчуванням Num байтів. Це розмір логічного і
числові змінні одинарної точності, яким не надано явну точність.
(Явна точність для несимвольних змінних є розширенням Fortran 77
Стандартні та надаються оголошеннями типу, такими як REAL*8 X.) Подвійна точність
і комплексні змінні будуть вдвічі більше, а подвійні комплексні змінні чотири
разів. Константи чотириразової точності та результати внутрішньої функції будуть у чотири рази
це значення. Зауважте, що змінні, оголошені як REAL*16, розглядатимуться як чотири
точність, лише якщо розмір слова становить 4 байти. За замовчуванням = увімкнено = 4 байти.

Значення розміру слова не має значення для перевірки програм, що відповідають стандарту
не оголошуйте явну точність для несимвольних змінних і не зберігайте Hollerith
дані у змінних. Цей параметр також не впливає на розмір символу за замовчуванням
змінних, що завжди становить 1 байт. Припускається, що також займають константи Голлеріта
1 байт на символ.

Розмір слова використовується, щоб визначити, чи відбувається усічення під час присвоєння
оператори, а також для виявлення невідповідності точності в списках аргументів підпрограми і
загальні списки блокування. Точні попередження, які будуть видані, залежатимуть від статусу
інших прапорів. Під обома -переносність = змішаний розмір і -без розміру слів прапор,
будь-яке змішування явних об’єктів точності за замовчуванням (не символьні вирази
включено) попереджається про. Це стосується арифметичних виразів, що містять обидва
типи об'єктів, а також аргументи підпрограм і COMMON змінні. Під контролем
в -усічення = пониження в посаді та просування опцій, для цього видається попередження
присвоєння виразу коротшій змінній того ж типу, або for
просування нижчого значення точності до більш високої точності в арифметиці
вираз або оператор присвоєння.

Надання розміру слова 0 або еквівалентно, використовуючи -без розміру слів означає, що за замовчуванням немає
буде припущено значення. Це еквівалентно вказівці -переносність = змішаний розмір.
Використовуйте його, щоб знайти випадки змішування стандартної та явної точності, наприклад, для позначки
місця, де REAL*8 розглядається як еквівалент ПОДВІЙНОЇ ТОЧНОСТІ.

Див також: -розмір вказівника, - портативність, -усічення.

-wrap=з
Керує обгортанням повідомлень про помилки. Довгі повідомлення про помилки, які проходять
зазначений стовпець буде розбитий на окремі рядки між словами
повідомлення для кращої читабельності. Якщо вимкнено за допомогою -загорнути, кожна окрема помилка
повідомлення буде надруковано в одному рядку, залишаючи його на дисплеї, щоб перенести його
повідомлення або скоротити його. За замовчуванням = увімкнено = 79.

ЗМІНА THE ЗА УМОВНЯМИ


ftnchek включає два механізми зміни значень за замовчуванням всіх параметрів: by
визначення змінних середовища або створення файлу налаштувань. Коли ftnchek запускається,
він шукає у своєму середовищі будь-які змінні, імена яких складаються з префіксом
рядок FTNCHEK_ у верхньому регістрі назви параметра. Якщо така змінна є
знайдено, його значення використовується для визначення значення за замовчуванням для відповідного перемикача або налаштування.
У разі налаштувань (наприклад, - загальний суворість налаштування) значення
змінна середовища зчитується як значення за замовчуванням. У разі перемикачів,
перемикач за замовчуванням буде прийнятий як істина або так, якщо змінна середовища не має значення
0 або НІ.

Зверніть увагу, що ім’я змінної середовища має бути створено з параметром повної довжини
ім'я, яке має бути у верхньому регістрі. Наприклад, зробити ftnchek роздрукувати список джерел
за замовчуванням встановіть для змінної середовища FTNCHEK_LIST значення 1 або YES або будь-що інше, ніж 0 або
НЕМАЄ. Імена FTNCHEK_LIS (не повна назва параметра) або ftnchek_list (нижній регістр)
не бути визнаним.

Ось кілька прикладів того, як встановити змінні середовища в різних системах. Для
простота, всі приклади встановлюють за замовчуванням -список перейти на ТАК.

1. UNIX, оболонка Борна: $ FTNCHEK_LIST=ТАК
$ експортувати FTNCHEK_LIST

2. UNIX, оболонка C: % setenv FTNCHEK_LIST ТАК

3. VAX/VMS: $ DEFINE FTNCHEK_LIST ТАК

4. MSDOS: $ SET FTNCHEK_LIST=YES

Після обробки будь-яких змінних середовища ftnchek шукає файл налаштувань
що містить параметри та налаштування. Він здійснюватиме пошук у наступному порядку, використовуючи лише
перший знайдений файл: (1) .ftnchekrc у поточному каталозі, (2) ftnchek.ini в течії
каталог, (3) .ftnchekrc у домашньому каталозі користувача, (4) ftnchek.ini в будинку
каталог. Якщо такий файл знайдено, параметри, визначені в ньому, використовуються за замовчуванням
місце вбудованих налаштувань за замовчуванням і заміна будь-яких значень за замовчуванням, встановлених у середовищі.

Кожен параметр або налаштування у файлі налаштувань має бути в окремому рядку. Їм дано
у тому ж вигляді, що й у командному рядку, за винятком без початкового тире. Уподобання
файл може містити порожні рядки та коментарі. Коментарі вводяться в будь-яку точку рядка
символом пробілу (пробілом або символом табуляції) або символом '#' і закінчуються кінцем
лінія.

Параметри командного рядка замінюють значення за замовчуванням, встановлені в середовищі або в налаштуваннях
файл, так само, як вони замінюють вбудовані параметри за замовчуванням.

ВИКОРИСТАННЯ ПРОЕКТ ФАЙЛИ


Цей розділ містить детальну інформацію про те, як найбільш ефективно використовувати файли проекту,
і як уникнути деяких підводних каменів.

Можна розділити чеки ftnchek поділяється на дві категорії, локальні та глобальні. Місцеві
перевірка обмежена в межах однієї процедури і ловить такі речі, як неініціалізовані
змінні, ненавмисна втрата точності в арифметичних виразах тощо
перевірку можна виконати для кожної підпрограми окремо. Крім того, локальна перевірка a
підпрограму не потрібно повторювати при зміні іншої підпрограми. Глобальна
перевірка ловить такі речі, як виклик підпрограми з неправильними типами аргументів, або
розбіжності в загальних блокових оголошеннях. Це вимагає розглянути весь набір
підпрограми, що взаємодіють одна з одною.

Метою файлів проекту є можливість виконання кроків локальної та глобальної перевірки
бути відокремленим. Припускаючи, що кожна підпрограма містить власний вихідний файл, можна запускати
ftnchek один раз на кожному, щоб виконати локальну перевірку, придушивши глобальну перевірку. Тоді
ftnchek можна запустити один раз для всіх файлів проекту разом для здійснення глобальної перевірки. The
Зразок make-файлу нижче показує, як автоматизувати це завдання. Ціль ``.f.prj'' оновлює a
файл проекту для певного файлу щоразу, коли вихідний файл змінюється. Інформація
необхідний для глобальної перевірки зберігається у файлі проекту. Ціль ``check'' робить це
комбінована глобальна перевірка. Зазвичай ``make check'' повторює ``ftnchek -project''
перейдіть лише до змінених вихідних файлів, а потім виконайте глобальну перевірку. Це, очевидно, великий
перевага для великих програм, коли багато підпрограм рідко або взагалі змінюються.

Найкраще використовувати файли проекту для розміщення кожної підпрограми в окремому вихідному файлі.
Якщо кожен вихідний файл може містити більше однієї підпрограми, це ускладнює визначення
``локальної'' та ``глобальної'' перевірки, тому що існує деяка міжмодульна перевірка, яка
міститься у файлі. ftnchek намагається вчинити правильно в цьому випадку, але є
деякі ускладнення (описані нижче) через компроміс між уникненням повторного перехресного
перевірка та збереження інформації про структуру програми.

Зазвичай, щоб зробити найменшу кількість повторних перевірок, файли проекту повинні бути створені з
- бібліотека прапорець діє, а обрізка ввімкнена. У цьому режимі інформація зберігається
у файлі проекту містить усі оголошення підпрограм, усі виклики підпрограм
не розв’язується оголошеннями в одному файлі та по одному екземпляру кожного блоку COMMON
декларація. Це мінімальний обсяг інформації, необхідний для перевірки угоди між
файли.

Якщо вихідний файл містить більше однієї підпрограми, можливі деякі проблеми
може виникнути при створенні файлу проекту в режимі бібліотеки, оскільки ієрархія викликів
серед підпрограм, визначених у файлі, втрачається. Крім того, якщо підпрограми у файлі make
використання COMMON блоків, які використовуються спільно з підпрограмами в інших файлах, не буде
Збережено достатньо інформації для правильної перевірки встановленого та використаного статусу COMMON блоків
та COMMON змінні відповідно до -використання налаштування. Тому якщо ви плануєте використовувати
файли проекту, коли -використання перевірка ввімкнена (що є за замовчуванням), а якщо
кілька підпрограм в одному файлі проекту спільно використовують COMMON блоки з підпрограмами в інших файлах,
файли проекту повинні бути створені за допомогою - бібліотека прапор вимкнено. У цьому режимі
ftnchek зберігає, крім перерахованої вище інформації, один виклик кожної підпрограми
будь-яку іншу підпрограму в тому самому файлі та всі оголошення блоку COMMON. Це означає що
файл проекту буде більшим, ніж необхідно, і, коли він буде прочитаний, ftnchek може
повторіть деякі міжмодульні перевірки, які він уже робив під час створення файлу проекту. Якщо
кожен файл проекту містить лише один модуль, при створенні немає втрати інформації
файли проекту в режимі бібліотеки.

Через можливу втрату інформації, пов’язану зі створенням файлу проекту з
- бібліотека прапорець, щоразу, коли цей файл проекту буде прочитано пізніше, він буде оброблятися
як файл бібліотеки незалежно від поточних налаштувань - бібліотека прапор. З іншого
З іншого боку, файл проекту, створений із вимкненим режимом бібліотеки, можна буде прочитати пізніше в будь-якому
Режим.

Наведене вище обговорення передбачає, що параметри обрізки -проект налаштування є
вмикається під час створення файлу проекту. Це нормальна ситуація. The без обрізки
варіанти -проект налаштування надаються у випадку, якщо ви хочете використовувати файли проекту
для інших цілей, ніж перевірка програми за допомогою ftnchek. Наприклад, можна було б написати
сценарій Perl для аналізу файлів проекту для отримання інформації про різницю
підпрограми називаються. Ви не повинні використовувати без обрізки варіанти вирішення проблем
втрата інформації, розглянута вище, оскільки вони викликають більше інформації, ніж необхідно
зберігається. Це робить файли проекту більшими і викликає ftnchek щоб зробити більше роботи пізніше, коли
він зчитує їх, щоб перевірити всю вашу програму. Як правило, ви повинні використовувати - бібліотека
можливість контролювати, скільки інформації зберігати для подальшого використання ftnchek при перевірці вашого
програми.

Ось приклад того, як використовувати UNIX зробити утиліта для автоматичного створення нового
файл проекту щоразу, коли відповідний вихідний файл змінюється, і перевіряти набір
файли для узгодженості. Додайте ці рядки до вашого make-файлу. Приклад передбачає, що а
Було визначено макрос OBJS, який перераховує всі імена об’єктних файлів, які потрібно зв’язати
разом, щоб утворити повну виконувану програму. (У цьому make-файлі рядки з відступом
кожен має починатися з табуляції, а не з пробілів.) Якщо будь-який вихідний файл містить кілька процедур
які мають між собою спільні блоки, то параметр no-com-\* слід видалити
з NOGLOBAL та/або скиньте прапор -library.
# скажіть make, що таке суфікс файлу проекту
.СУФІКСИ: .prj

# ці параметри пригнічують глобальні перевірки.
NOGLOBAL=-usage=no-ext-undefined,no-com-\*

# розкажіть make, як створити файл .prj з файлу .f
.f.prj:
ftnchek -проект $(NOGLOBAL) -бібліотека $

# налаштувати макрос PRJS, що містить імена файлів проекту
PRJS= $(OBJS:.o=.prj)

# "зробити перевірку" перевірить усе, що було змінено.
чек: $(PRJS)
ftnchek $(PRJS)

Коли програма використовує багато підпрограм, визначених у великій кількості різних вихідних файлів в
У різних каталогах може бути громіздко вказати всі різні файли проекту
необхідно для правильної перевірки програми. Для вирішення таких випадків, ftnchek дозволяє проект
файли, які потрібно об’єднати в один великий файл. Потім цей файл можна передати
ftnchek щоб надати інформацію для перевірки використання будь-якої або всіх процедур
визначені в об’єднаних файлах проекту. Використовуючи такий файл проекту ``бібліотека'', ви
може захотіти ftnchekПовідомляє про помилку, щоб точно задокументувати ім’я файлу, у якому знаходиться
визначена конкретна функція. Якщо різні вихідні файли знаходяться в кількох каталогах, an
Звіт про помилку, який містить лише ім’я файлу, може бути неоднозначним, і скоріше має включати
шлях до файлу. Рішення полягає в тому, щоб створити кожен із окремих файлів проекту
даючи повний шлях до вихідного файлу. Потім цей повний шлях з’явиться в
звіти про помилки. Наприклад, припустимо, що всі вихідні файли підпрограм бібліотеки є
у підкаталогах каталогу з іменем /util/lib. Тоді окремі файли проекту можуть
спочатку створюється командою, наприклад
знайти /util/lib -name '*.f' -exec ftnchek -project '{}' ';'
(Можливо, будуть надані інші варіанти ftnchek як обговорювалося вище. Також цей крок
замість цього можна обробити переглянутим правилом makefile, яке надасть повне джерело
шлях до файлу замість просто локального імені під час виклику ftnchek.) Далі об’єднайте всі
ці файли проекту вручну.
знайти /util/lib -name '*.prj' -exec cat '{}' ';' > ourlib.prj
Потім вихідний файл програми можна перевірити за допомогою команди
ftnchek prog.f ... -lib ourlib.prj
а повідомлення про помилку, пов’язане з будь-якою бібліотечною процедурою, міститиме повний шлях до файлу
вихідний файл підпрограми.

На даний момент немає такої утиліти для архівування ar для керування вмістом конкатенованого
файл проекту, як на ілюстрації вище. Якщо внесено зміни до одного з
бібліотечні підпрограми, єдиний спосіб оновити об’єднаний файл проекту – це об’єднати всі
окремі файли проекту ще раз. Таку утиліту було б досить легко написати.
Хтось повинен це зробити і зробити свій внесок у це ftnchek зусиль.

AN приклад


Наступна проста програма Fortran ілюструє повідомлення, надані ftnchek,
Програма призначена для прийняття масиву тестових балів, а потім обчислення середнього для
серії.

C АВТОРИ: МАЙК МАЙЕРС ТА ЛЮСІЯ СПАНУОЛО
C ДАТА: 8 ТРАВНЯ 1989 РОКУ

Змінні C:
C SCORE -> масив результатів тесту
C SUM -> сума балів тесту
C COUNT -> лічильник зчитованих балів
CI -> лічильник циклів

РЕАЛЬНІ ФУНКЦІЇ COMPAV(SCORE,COUNT)
ЦІЛА СУМА, COUNT, J,БЕЗКОШТОВНО(5)

DO 30 I = 1, COUNT
СУМА = СУМА + ОЦІНКА (I)
30 ПРОДОВЖИТИ
COMPAV = СУМА/КІЛЬКІСЬ
END

ПРОГРАМА AVENUM
C
C ОСНОВНА ПРОГРАМА
C
C АВТОР: LOIS BIGBIE
C ДАТА: 15 ТРАВНЯ 1990 РОКУ
C
Змінні C:
C MAXNOS -> максимальна кількість вхідних значень
C NUMS -> масив чисел
C COUNT -> точна кількість введених значень
C AVG -> середнє значення, отримане COMPAV
CI -> лічильник циклів
C

ПАРАМЕТР (MAXNOS=5)
ЦІЛЕ ЧИСЛО I, COUNT
РЕАЛЬНІ NUMS(MAXNOS), СЕР
КІЛЬКІСТЬ = 0
DO 80 I = 1,MAXNOS
ПРОЧИТАЙТЕ (5,*,END=100) NUMS(I)
ЛІЧИТИ = ЛІЧАТИ + 1
80 ПРОДОВЖИТИ
100 СРЕДНЄ = КОМПАВ(ЧИСЛА, КІЛЬКІСТЬ)
END

Під час компіляції цієї програми компілятор не видає жодних повідомлень про помилки. Але ось що
відбувається під час запуску:

$ в середньому
70
90
85

$

Що сталося? Чому програма нічого не зробила? Нижче наведено вихід з
ftnchek коли він використовується для налагодження вищевказаної програми:

$ ftnchek -list -symtab середнє

FTNCHEK Версія 3.3 листопад 2004 року

Файл середній.f:

1 С АВТОРИ: МАЙК МАЙЕРС І ЛЮСІЯ СПАНЬУОЛО
2 С ДАТА: 8 ТРАВНЯ 1989 РОКУ
3
4 Змінні C:
5 C SCORE -> масив результатів тесту
6 C SUM -> сума балів тесту
7 C COUNT -> лічильник зчитованих балів
8 CI -> лічильник циклів
9
10 РЕАЛЬНІХ ФУНКЦІЙ COMPAV(SCORE,COUNT)
11 ЦІЛА СУМА, COUNT, J,БЕЗКОШТОВНО(5)
12
13 DO 30 I = 1, COUNT
14 СУМА = СУМА + БАЛ (I)
15 30 ПРОДОВЖИТИ
16 COMPAV = СУМА/КІЛЬКІСЬ
^
Попередження біля рядка 16, стовпець 20: ціле приватне вираз SUM/COUNT перетворено на
реальний
17 КІНЕЦЬ

Модуль COMPAV: func: real

Змінні:

Ім'я Тип Dims Ім'я Тип Dims Ім'я Тип Dims Ім'я Тип Dims
COMPAV реальний COUNT intg I intg* J intg
SCORE intg 1 SUM intg

* Змінна не оголошена. Тип було визначено неявно.

Попередження в модулі COMPAV: змінні оголошені, але ніколи не посилаються:
J оголошено в рядку 11

Попередження в модулі COMPAV: Змінні можна використовувати перед встановленням:
SUM використовується в рядку 14
SUM встановлюється в рядку 14

Визначені мітки заяв:

Рядок етикетки StmtType
<30> 15 викл

18
19
20 ПРОГРАМА АВЕНУМ
21 C
22 С ОСНОВНА ПРОГРАМА
23 C
24 C АВТОР: ЛОЙС БІГБІ
25 С ДАТА: 15 ТРАВНЯ 1990 РОКУ
26 C
27 Змінні C:
28 C MAXNOS -> максимальна кількість вхідних значень
29 C NUMS -> масив чисел
30 C COUNT -> точна кількість введених значень
31 C AVG -> середнє значення, отримане COMPAV
32 CI -> лічильник циклів
33 C
34
35 ПАРАМЕТР (MAXNOS=5)
36 ЦІЛЕ ЧИСЛО I, COUNT
37 РЕАЛЬНІ ЧИСЛИ (MAXNOS), СЕР
38 COUNT = 0
39 DO 80 I = 1,MAXNOS
40 ПРОЧИТАЙТЕ (5,*,END=100) NUMS(I)
41 ЛІЧИТИ = ЛІЧИТИ + 1
42 80 ПРОДОВЖИТИ
43 100 СРЕДНЄ = КОМПАВ(ЧИСЛА, КІЛЬКІСТЬ)
44 КІНЕЦЬ

Модуль AVENUM: прог

Посилання на зовнішні підпрограми:

COMPAV: реальний*

Змінні:

Ім'я Тип Dims Ім'я Тип Dims Ім'я Тип Dims Ім'я Тип Dims
AVG реальна COUNT intg I intg MAXNOS intg*
NUMS реальний 1

* Змінна не оголошена. Тип було визначено неявно.

Попередження в модулі AVENUM: змінні встановлені, але ніколи не використовувані:
AVG встановлено в рядку 43

Операції введення-виводу:

Ідентифікатор підрозділу № підрозділу Форма доступу Операційна лінія
5 SEQ FMTD READ 40

Визначені мітки заяв:

Рядок мітки StmtType Рядок мітки StmtType
<80> 42 exec <100> 43 exec

У файлі average.f виявлено 0 синтаксичних помилок
6 попереджень видано у файлі average.f

Попередження: невідповідність типу даних аргументу підпрограми COMPAV у позиції 1:
Фіктивний аргумент SCORE у файлі середнього.f рядка 10 модуля COMPAV має тип intg
Фактичний аргумент NUMS в модулі AVENUM рядка 43 файлу середнє.f має тип real

За оцінками ftnchek, програма містить змінні, які можуть бути використані раніше
присвоєне початкове значення та непотрібні змінні. ftnchek також попереджає
користувача, що ціле часткове було перетворено на дійсне. Це може допомогти користувачеві в цьому
виявлення ненавмисної помилки округлення. Оскільки -симв прапор був даний, ftnchek друк
отримати таблицю, що містить ідентифікатори локального модуля та відповідний їм тип даних
і кількість розмірів. нарешті, ftnchek попереджає, що функція COMPAV не використовується
з відповідним типом аргументів.

з ftnchek's help, ми можемо налагодити програму. Ми бачимо, що були такі
помилки:

1. SUM і COUNT повинні бути перетворені в дійсні, перш ніж виконувати ділення.

2. СУММА повинна була бути ініціалізована в 0 перед входом у цикл.

3. AVG ніколи не було роздруковано після обчислення.

4. NUMS слід було оголосити INTEGER замість REAL.

Ми також бачимо, що I, а не J, слід було оголосити INTEGER у функції COMPAV. також,
MAXNOS не було оголошено як INTEGER, ні COMPAV як REAL у програмі AVENUM. Це не так
помилки, але вони можуть свідчити про необережність. Як це сталося, типовий тип цих
змінні збігалися з передбачуваним типом.

Ось виправлена ​​програма та її вихід під час запуску:

C АВТОРИ: МАЙК МАЙЕРС ТА ЛЮСІЯ СПАНУОЛО
C ДАТА: 8 ТРАВНЯ 1989 РОКУ
C
Змінні C:
C SCORE -> масив результатів тесту
C SUM -> сума балів тесту
C COUNT -> лічильник зчитованих балів
CI -> лічильник циклів
C
РЕАЛЬНІ ФУНКЦІЇ COMPAV(SCORE,COUNT)
ЦІЛА СУМА, COUNT, I,БЕЗКОШТОВНО(5)
C
СУМА = 0
DO 30 I = 1, COUNT
СУМА = СУМА + ОЦІНКА (I)
30 ПРОДОВЖИТИ
COMPAV = FLOAT(SUM)/FLOAT(COUNT)
END
C
C
ПРОГРАМА AVENUM
C
C ОСНОВНА ПРОГРАМА
C
C АВТОР: LOIS BIGBIE
C ДАТА: 15 ТРАВНЯ 1990 РОКУ
C
Змінні C:
C MAXNOS -> максимальна кількість вхідних значень
C NUMS -> масив чисел
C COUNT -> точна кількість введених значень
C AVG -> середнє значення, отримане COMPAV
CI -> лічильник циклів
C
C
ЦІЛИЙ МАКСНОС
ПАРАМЕТР (MAXNOS=5)
Ціле число I, NUMS(MAXNOS), COUNT
РЕАЛЬНЕ СЕРЕДНЄ, КОМПАВ
КІЛЬКІСТЬ = 0
DO 80 I = 1,MAXNOS
ПРОЧИТАЙТЕ (5,*,END=100) NUMS(I)
ЛІЧИТИ = ЛІЧАТИ + 1
80 ПРОДОВЖИТИ
100 СРЕДНЄ = КОМПАВ(ЧИСЛА, КІЛЬКІСТЬ)
WRITE(6,*) 'СЕРЕДНЄ =',СЕР
END
$ в середньому
70
90
85

СРЕДНЄ = 81.66666
$

з ftnchekДопоможіть, наша програма успішна!

ІНТЕРПРЕТАЦІЯ THE ВИХІД


Повідомлення, які надає ftnchek включають не лише синтаксичні помилки, а й попередження та
інформаційні повідомлення про речі, які є законними для Fortran, але які можуть вказувати на помилки або
необережність. Більшість цих повідомлень можна вимкнути за допомогою параметрів командного рядка. Котрий
Опція контролює кожне повідомлення залежно від характеру умови, про яку попереджається.
Перегляньте описи прапорів командного рядка в попередніх розділах та окремих
повідомлення нижче. Кожне повідомлення має префікс зі словом або фразою, що вказує на природу
стан і його тяжкість.

"Помилка" означає синтаксичну помилку. Найпростішим видом синтаксичних помилок є друкарські
помилки, наприклад, незбалансовані дужки або неправильне написання ключового слова. Цей тип
помилка ловиться синтаксичним аналізатором і з'являється з описом "помилка аналізу" або "синтаксис"
помилка'' (залежно від версії генератора синтаксичного аналізатора та від того, чи є це GNU бізон or
UNIX yacc). Цей тип повідомлення про помилку неможливо приховати. Майте на увазі, що цей тип
помилка часто означає це ftnchek не правильно інтерпретував твердження, де помилка
відбувається, так що його подальші операції перевірки будуть скомпрометовані. Ти повинен
усунути всі синтаксичні помилки, перш ніж продовжити інтерпретацію інших повідомлень ftnchek
дає.

``Попередження: нестандартний синтаксис'' вказує на розширення Fortran ftnchek опори
але це не відповідає стандарту Fortran 77. Розширення, які ftnchek приймає
описані в розділі Розширення нижче. Одним із прикладів є DO ... ENDDO
будівництво. Якщо програма використовує ці розширення, попередження будуть надаватися відповідно до
специфікації під -f77 налаштування. Поведінка за замовчуванням — не видавати попереджень.

"Попередження" в інших випадках означає підозрілий стан, який може бути або не бути
помилка програмування. Часто ці умови є законними згідно зі стандартом. Деякі є
незаконні, але не підпадають під заголовок синтаксичних помилок. Одним із прикладів є помилки використання.
Вони стосуються можливості того, що змінна може бути використана до того, як їй буде призначено a
значення (зазвичай помилка), або що змінна оголошується, але ніколи не використовується (нешкідливо, але
може свідчити про необережність). Кількість перевірки на наявність помилок у використанні контролюється
-використання прапорець, який визначає максимальну кількість перевірки за замовчуванням.

Попередження про скорочення охоплюють ситуації, у яких точність може бути ненавмисно втрачена, для
приклад, коли значення подвійної точності призначається реальній змінній. Ці попередження є
контролюється -усічення налаштування, яке ввімкнено за замовчуванням.

``Непереносне використання'' попереджає про деякі функції, які можуть не бути прийняті деякими компіляторами
навіть якщо це не суперечить стандарту Fortran 77 або це може спричинити програму
працювати по-різному на різних платформах. Наприклад, еквівалентуючи дійсні і
цілочисельні змінні зазвичай не є переносимою практикою. Використання розширень до
Стандартна мова, звичайно, є ще одним джерелом непереносимості, але це розглядається як
окремий випадок. Щоб перевірити програму на справжню переносимість, обидва - портативність і
-f77 слід використовувати прапорці. Обидва вони вимкнені за замовчуванням. The -розмір слів налаштування є
надано для перевірки лише тих непереносних видів використання, які залежать від конкретної машини
розмір слів.

``Можливо оманливий вигляд'' використовується для юридичних конструкцій, які можуть не означати що
вони означають на перший погляд. Наприклад, Fortran нечутливий до порожнього простору,
тому зайвий простір в іменах змінних або відсутність простору між ключовим словом і a
змінна може скласти на читача неправильне враження. Ці повідомлення можна придушити
вимкнувши - гарна прапор, який увімкнено за замовчуванням.

Інші повідомлення, які надаються після обробки всіх файлів і пов’язані з ними
узгодження між модулями, не використовуйте слово ``попередження'', але зазвичай підпадайте під нього
категорія. Приклади включають невідповідність типів між відповідними змінними в різних
Оголошення блоку COMMON або між фіктивними і фактичними аргументами підпрограми. Ці
попередження контролюються - загальний та - аргументи налаштування відповідно. За замовчуванням
обидва встановлені для максимальної суворості перевірки.

Інша група попереджень про стани, які часто нешкідливі, стосується випадків, коли
властивості масиву змінної, переданої як аргумент підпрограми, відрізняються між ними
рутини. Наприклад, елемент масиву може бути переданий підпрограмі, яка очікує a
весь масив. Це широко використовувана техніка для обробки окремих рядків або стовпців
двовимірні масиви. Однак це також може свідчити про помилку програмування. The -масив
налаштування дозволяє користувачеві налаштувати ступінь суворості, який буде використовуватися для перевірки цього
вид узгодження між фактичними і фіктивними аргументами масиву. За замовчуванням суворість є
максимум

"На жаль" вказує на технічну проблему, тобто на помилку ftnchek або що його
ресурси були перевищені.

Повідомлення про синтаксичну помилку та попередження включають назву файлу разом із номером рядка та
номер стовпця. ftnchek має два різні варіанти появи цієї помилки
повідомлення. Якщо - новачок є чинним, що є за замовчуванням, повідомлення мають стиль
наближений до нормальної англійської. (У стилі за замовчуванням ім'я файлу не друкується в повідомленнях
в тілі програми якщо -список діє.) Інший стиль повідомлень про помилки
вибирається за допомогою - новачок варіант. У цьому стилі виглядає вигляд повідомлень
подібний до UNIX стрічка програми.

ftnchek досі не бачить деяких синтаксичних помилок. Дві найважливіші з них
детальна перевірка операторів FORMAT і майже все, що стосується контролю
потік виконання за допомогою операторів IF, DO і GOTO: а саме правильне вкладення елемента керування
структури, узгодження початкових операторів, таких як IF ... THEN із закриваючими операторами
наприклад ENDIF, і правильне використання міток (чисел) операторів. Більшість компіляторів буде
ловіть ці помилки. Для більш детального обговорення див. розділ «Обмеження».

If ftnchek видає повідомлення про синтаксичну помилку, якщо компілятор цього не робить, можливо, тому
ваша програма містить розширення до стандартного Fortran, яке приймається компілятором
але не мимо ftnchek. (Див. розділ про розширення.) У системі VAX/VMS ви можете використовувати
параметр компілятора /STANDARD, щоб змусити компілятор прийняти лише стандартний Fortran. Увімкнено
У більшості UNIX або UNIX-подібних систем це можна досягти шляхом встановлення прапора -ансі.

Багато повідомлень, наданих ftnchek є зрозумілими. Ті, кому потрібно
додаткові пояснення наведено нижче в алфавітному порядку.

загальний блок ІМ'Я: дані тип неузгодженість at положення n
Команда n-я змінна в блоці COMMON відрізняється за типом даних на дві різні
оголошення блоку COMMON. За замовчуванням (- загальний 3 рівень суворості), ftnchek
дуже вимогливий до блоків COMMON: перераховані в них змінні повинні точно збігатися
за типом даних і розмірами масиву. Тобто, легальна пара декларацій в
різні модулі:
ЗАГАЛЬНІ /COM1/ A,B
та
ЗАГАЛЬНИЙ /COM1/ A(2)
викличе ftnchek давати попередження на рівні суворості 3. Ці дві декларації
є законними у Fortran, оскільки вони обидва оголошують дві реальні змінні. На суворість
рівня 1 або 2, у цьому прикладі не буде подано попередження, але буде попередження
задається, якщо існувала невідповідність типу даних, наприклад, якщо B було оголошено INTEGER.
Контролюється - загальний установка.

загальний блок ІМ'Я має довго дані тип після коротка дані тип
Деякі компілятори вимагають вирівнювання багатобайтових елементів, щоб кожен елемент починався з a
адреса, кратна розміру елемента. Таким чином, якщо короткий (наприклад, одиночний-
точність реальна) за елементом слід довгий (наприклад, дійсний подвійної точності) елемент, the
останнє може бути неправильно вирівняно. Під контролем -portability=common-alignment
варіант.

загальний блок ІМ'Я має змішаний характер та нехарактерний змінні
Стандарт ANSI вимагає, щоб будь-яка змінна в блоці COMMON мала тип
CHARACTER, то всі інші змінні в тому самому блоці COMMON також повинні мати тип
ХАРАКТЕР. Під контролем -f77=змішане-загальне варіант.

загальний блок ІМ'Я: різний
для - загальний встановлення рівня 2, це повідомлення означає, що оголошується блок COMMON
мають різну кількість слів у двох різних підпрограмах. Слово – це сума
пам'яті, зайняте однією цілочисельною або дійсною змінною. Для - загальний налаштування рівня 3,
це означає, що обидві оголошення мають різну кількість змінних, де an
масив будь-якого розміру вважається однією змінною. Це не обов'язково помилка,
але це може означати, що змінна відсутня в одному зі списків. Зауважте, що
відповідно до стандарту Fortran 77, це помилка для іменованих блоків COMMON (але
не порожній COMMON), щоб відрізнятися кількістю слів у деклараціях у різних
модулі. Дано за - загальний налаштування 2 або 3.

помилка: Погано сформований логічний/реляційний оператор or постійна

помилка: Погано сформований реальний постійна
Синтаксичний аналізатор знайшов початок одного зі спеціальних слів, які починаються і
закінчується крапкою (наприклад, .EQ.) або початком числової константи, але ні
досягти успіху в пошуку цілого предмета такого роду.

помилка: не може be регульований розмір in Модулі ІМ'Я
Символьна змінна не може бути оголошена з розміром, який є зірочкою
дужки, якщо це не фіктивний аргумент, параметр або ім’я функції
визначені в модулі.

помилка: не може be оголошений in ЗБЕРЕГТИ заяву in Модулі ІМ'Я
У операторі SAVE можуть бути оголошені тільки локальні змінні та загальні блоки.

помилка: Немає шлях до це заяву
ftnchek виявить оператори, які ігноруються або обходять, оскільки їх немає
передбачуваний шлях до заяви. Наприклад, ненумерована заява (a
оператор без мітки оператора), що відбувається відразу після оператора GOTO,
неможливо виконати.

помилка: Розбір помилка
Це означає, що синтаксичний аналізатор, який аналізує програму Fortran на вирази,
висловлювання тощо, не вдалося знайти дійсне тлумачення для певної частини
твердження в програмі. Якщо ваш компілятор не повідомляє про синтаксичну помилку за адресою
там же, найпоширенішими поясненнями є: (1) використання розширення до ANSI
стандартний Fortran, який не розпізнається ftnchek, або (2) заява вимагає
більше дивитися вперед, ніж ftnchek використання (див. розділ про помилки).

ПРИМІТКА. Це повідомлення означає, що відповідний оператор не інтерпретується.
Тому цілком можливо, що ftnchekПодальша обробка буде помилковою, якщо
це залежить від будь-яких питань, на які впливає ця заява (декларації типу тощо).

помилка: синтаксис помилка
Це те саме, що ``Помилка: помилка аналізу'' (див. вище). Він створюється, якщо ваш
версія ftnchek був побудований з використанням UNIX yacc генератор синтаксичного аналізатора, а не GNU
бізон.

Ідентифікатори який він має НЕ створеного in перший шість танки
Попереджає, що два ідентифікатори, які довше 6 символів, не відрізняються
перші 6 символів. Це для портативності: вони можуть не вважатися різними
деякими компіляторами. Під контролем -шість символів варіант.

Непортативний Використання: аргумент точність може НЕ be виправити та цінності сутнісний функція
Точність аргументу, переданого до внутрішньої функції, може бути неправильною
деякі комп'ютери. Видається, коли числова змінна оголошена з явною точністю
(наприклад, REAL*8 X) передається до певної внутрішньої функції (наприклад, DSQRT(X)).
Контролюється -переносність = змішаний розмір та -розмір слів.

Непортативний Використання: характер постійна/змінна перевищує 255
Деякі компілятори не підтримують рядки символів довжиною більше 255 символів.
Контролюється -portability=long-string.

Непортативний Використання: філе містить Вкладки
ftnchek розгортає вкладки, щоб бути еквівалентними пробілам до наступного стовпця, який є a
кратне 8. Деякі компілятори трактують вкладки по-різному, і також можливо, що
файли, надіслані електронною поштою, будуть певним чином перетворені на пробіли.
Тому файли, що містять вкладки, можуть бути неправильно скомпільовані після того, як
передано. ftnchek не дає цього повідомлення, якщо вкладки зустрічаються лише в коментарях
або символьні константи. Під контролем -portability=вкладка.

Непортативний Використання: неціле число DO петля межі
Це попередження надається лише тоді, коли індекс DO та межі не є цілими. Використання
Нецілі величини в операторі DO можуть викликати неочікувані помилки або різні
результатів на різних машинах через ефект округлення. Під контролем
-переносність=реальне виконання.

Можливо it is an масив який було НЕ оголошений
Це повідомлення додається до попереджень, пов’язаних із викликом функції або до
невідповідність типу аргументу, для якої існує ймовірність того, що те, що здається, є a
функція насправді має бути масивом. Якщо програміст забув визначити розміри
масив, посилання на масив будуть інтерпретуватися як виклики функцій.
Це повідомлення буде приховано, якщо ім’я, про яке йдеться, з’явиться у ЗОВНІШНІЙ або
Заява INTRINSIC. Контролюється - новачок варіант.

Можливо вводить в оману зовнішній вигляд: символи Минуле 72 стовпців
Програма обробляється зі стандартним значенням ширини поля оператора
з 72, і деякі непусті символи були знайдені за стовпцем 72. У цьому випадку,
ftnchek не обробляє символи після стовпця 72 і сповіщає користувача
що твердження може не мати того значення, яке воно має. Ці
символи можуть бути задумані програмістом як значущі, але вони будуть
ігнорується компілятором. Під контролем -досить = довгий ряд.

Можливо вводить в оману зовнішній вигляд: загальний блок оголошений in більше ніж один заяву
Такі численні заяви є законними і мають ту ж дію, що й продовження
оригінальне оголошення блоку. Це попередження дається лише в разі двох
декларації розділені одним або кількома проміжними заявами. Під контролем
-досить = кілька поширених.

Можливо вводить в оману зовнішній вигляд: Continuation слідує коментар or порожній лінія
ftnchek видає це попередження, щоб попередити користувача про те, що продовження a
твердження перемежовується з коментарями, тому його легко не помітити. Під контролем
-гарно = продовження.

Можливо вводить в оману зовнішній вигляд: Сторонні круглі дужки
Попереджає про дужки, що оточують змінну окремо у виразі. Коли а
Змінна в дужках передається як аргумент підпрограмі, вона розглядається як
вираз, а не як змінна, значення якої може бути змінено викликаною процедурою.
Контролюється -гарні=дужки.

Підпрограма ІМ'Я: аргумент дані тип неузгодженість at положення n
Підпрограми n-ий фактичний аргумент (у CALL або у використанні функції)
відрізняється типом даних або точністю від n-ий фіктивний аргумент (у ПІДПРАЦІЇ або
Оголошення FUNCTION). Наприклад, якщо користувач визначає підпрограму за допомогою
ПІДПРОГРАМА SUBA(X)
РЕАЛЬНИЙ Х
і в інших місцях викликає SUBA
ВИКЛИК СУБА(2)
ftnchek виявить помилку. Причина в тому, що число 2 ціле,
не зовсім. Користувач повинен був написати
ТЕЛЕФОНУВАТИ SUBA(2.0)

Під час перевірки аргументу, який є підпрограмою, ftnchek треба вміти визначити
чи це функція чи підпрограма. Правила, якими користуються ftnchek для цього є
наступним чином: Якщо підпрограма, крім того, що вона передається як фактичний аргумент, також є
викликається безпосередньо в іншому місці в тому самому модулі, то його тип визначається цим
використання. Якщо ні, то якщо ім’я підпрограми не з’являється в явному вигляді
оголошення типу, передбачається, що це підпрограма; якщо він явно введений, то це так
прийнято як функція. Тому підпрограми передаються лише як фактичні аргументи
бути оголошено оператором EXTERNAL у модулі, що викликає, тоді як функції повинні
також бути явно введеним, щоб уникнути створення цього повідомлення про помилку.
Контролюється - аргументи установка.

Підпрограма ІМ'Я: аргумент масивність неузгодженість at положення n
Подібна до попередньої ситуації, але фіктивний аргумент підпрограми відрізняється від
відповідний фактичний аргумент у його кількості вимірів або кількості
елементів. Під контролем -масив Разом з - аргументи налаштування

Підпрограма ІМ'Я: аргумент неузгодженість at положення n
Фіктивний аргумент символу більше, ніж відповідний фактичний аргумент, або a
Фіктивний аргумент Холлеріта більше, ніж відповідний фактичний аргумент.
Контролюється - аргументи установка.

Підпрограма ІМ'Я: аргумент використання неузгодженість
ftnchek виявляє можливий конфлікт між тим, як підпрограма використовує аргумент
і спосіб, яким аргумент подається до підпрограми. Конфлікт може
бути одним із двох типів, як зазначено нижче.

Манекен аргумент is змінений, Фактичний аргумент is сопзЬ or експр
Фіктивний аргумент — це аргумент, названий у операторі ПІДПРОГРАМИ або FUNCTION і
використовується в рамках підпрограми. Фактичний аргумент — це аргумент, який передається до a
підпрограму або функцію абонента. ftnchek каже, що фіктивний аргумент
змінюється підпрограмою, що означає, що її значення змінюється під час виклику
модуль. Відповідний фактичний аргумент не повинен бути константою або виразом,
а скоріше змінна або елемент масиву, якому можна законно призначити.
Контролюється -usage=arg-const-modified варіант.

Манекен аргумент використовуваний перед тим встановити, Фактичний аргумент НЕ комплект
Тут фіктивний аргумент може використовуватися в підпрограмі перед призначенням значення
до нього за підпрограмою. Відповідний фактичний аргумент повинен мати значення
призначені йому абонентом перед викликом підпрограми. Контролюється
-usage=var-uninitialized варіант.

На це попередження не впливає - аргументи установка.

Підпрограма ІМ'Я викликали непослідовно
Тут невідповідність між типом даних самої підпрограми як використаний та як
визначений. Наприклад, якщо користувач заявляє
ЦІЛА ФУНКЦІЯ COUNT(A)
і викликає COUNT в іншому модулі як
N = COUNT(A)
без оголошення його типу даних, він за замовчуванням матиме реальний тип на основі першого
літера його назви. Модуль виклику повинен був включати оголошення
ЦІЛА КІЛЬКА

Дано за - аргументи налаштування 2 або 3.

Підпрограма ІМ'Я: різний аргумент списки:
Було виявлено невідповідність між кількістю фіктивних аргументів (параметрів)
має підпрограма та кількість фактичних аргументів, наданих їй у виклику.
ftnchek відстежує всі виклики підпрограм (оператори CALL і
вирази з використанням функцій) і порівнює їх з визначеннями
підпрограми в іншому місці вихідного коду. Компілятор Fortran зазвичай цього не робить
ловити цей тип помилки. Дано за - аргументи налаштування 1 або 3.

Змінна НЕ заявив. тип має було неявно певний
Під час друку таблиці символів для модуля, ftnchek позначить зірочкою все
ідентифікатори, які не введені явно і відображатимуть тип даних, який був
призначається за допомогою неявного введення. Це надає підтримку користувачам, які бажають
оголосити всі змінні, як це потрібно в Pascal або деяких інших мовах. Це
повідомлення з’являється лише тоді, коли -симв опція діє. Як варіант, скористайтеся
- заявити прапорець, якщо ви хочете отримати список усіх неоголошених змінних.

Змінні оголошений але ніколи посилання на
Виявляє будь-які ідентифікатори, які були оголошені у вашій програмі, але ніколи не використовувались,
або призначити значення, або отримати доступ до їх значення. Змінні в COMMON
виключені. Контролюється -usage=var-unused варіант.

Змінні комплект але ніколи використовуваний
ftnchek сповіщатиме користувача, коли змінній було присвоєно значення, але
змінна інакше не використовується в програмі. Зазвичай це є результатом
нагляд. Контролюється -usage=var-set-unused варіант.

Змінні використовуваний перед тим комплект
Це повідомлення вказує, що ідентифікатор використовується для обчислення значення перед його
ініціалізація. Таке використання може призвести до обчислення неправильного значення, оскільки
його початкове значення не контролюється. Контролюється -usage=var-uninitialized
варіант.

Змінні може be використовуваний перед тим комплект
Подібний до використовуваного до встановлення, за винятком цього ftnchek не може визначити його статус
з певністю. ftnchek передбачає, що змінна може використовуватися перед встановленням, якщо перша
використання змінної відбувається до присвоєння в тексті програми.
Контролюється -usage=var-uninitialized варіант.

Увага! DO індекс is НЕ ціле
Це попередження надається лише тоді, коли межі DO цілі, але індекс DO – ні.
Це може вказувати на помилку оголосити індекс як ціле число. Під контролем
-усічення=реальне виконання варіант.

Увага! ціле коефіцієнт експр ... перероблений до реальний
Частка двох цілих чисел призводить до результату цілого типу, у якому
дробова частина опускається. Якщо такий цілочисельний вираз із діленням є
пізніше перетворений на реальний тип даних, можливо, був поділ реального типу
призначений. Під контролем -усічення=int-div-real варіант.

Увага! Ціле число коефіцієнт експр ... використовуваний in показник
Частка двох цілих чисел призводить до результату цілого типу, у якому
дробова частина опускається. Якщо такий цілочисельний вираз використовується як експонента,
цілком імовірно, що передбачалося створення реальної дивізії. Під контролем
-усічення=int-div-exponent варіант.

Увага! ІМ'Я НЕ комплект коли ПОВЕРНЕННЯ зустрілися
Функції у Fortran повертають значення шляхом призначення значення для
назва функції. Це повідомлення вказує, що функція не була призначена a
значення перед точкою, де було знайдено оператор RETURN. Тому це так
можливо, що функція може повернути невизначене значення.

Увага! Нестандартний синтаксис: регульований розмір не може be зчеплені тут
Стандарт Fortran 77 (розділ 6.2.2) забороняє конкатенацію символьних змінних
розміром якого є зірочка в дужках, за винятком оператора присвоєння.
Контролюється -f77=змішаний вираз.

Увага! Нестандартний синтаксис : значний символи Минуле 72 стовпців
Це попередження дається під -f77 = довга лінія налаштування, якщо - колони налаштування має
використовувався для збільшення ширини поля оператора, і оператор має сенс
текст програми поза колонкою 72. Стандартний Fortran ігнорує весь текст у цих стовпцях,
але деякі компілятори цього не роблять. Таким чином, програма може розглядатися по-різному
різні компілятори.

Увага! Нестандартний синтаксис : Заява з of порядку.
ftnchek виявить оператори, які виходять за межі послідовності, зазначеної для ANSI
стандартний Fortran 77. Таблиця 1 ілюструє дозволену послідовність операторів у
Мова Fortran. Висловлювання, які не в порядку, тим не менш інтерпретуються
ftnchek, щоб запобігти ``каскадам'' повідомлень про помилки. Лічильник послідовності також є
відкат, щоб запобігти повторенню повідомлення про помилку для блоку подібних
заяви. Контролюється -f77=запис-порядок варіант.

-------------------------------------------------- ------
| | неявний
| параметр |---------------------
| | інша специфікація
формат |--------------|---------------------
та | | оператор-функція
запис | дані |---------------------
| | виконуваний файл
-------------------------------------------------- ------

Таблиця 1

Увага! це можливо поділ by нуль
Це повідомлення друкується скрізь, де виконується поділ (крім поділу на a
постійний). Використовуйте його, щоб допомогти знайти поділ часу виконання на нульову проблему. Контрольований
by -поділ варіант.

Увага! реальний усічений до intg
ftnchek виявив оператор присвоєння, який має реальний вираз на
праворуч, але цілочисельна змінна зліва. Дробова частина дійсного значення
буде втрачено. Якщо ви явно перетворите дійсний вираз у ціле за допомогою
Внутрішня функція INT або NINT, попередження не друкуватиметься. Подібне повідомлення є
друкується, якщо вираз з подвійною точністю присвоєно одинарній точності
змінна і т. д. Контролюється за -усічення = пониження в посаді варіант.

Увага! індекс is НЕ ціле
Оскільки індекси масиву зазвичай є цілочисельними величинами, використання нецілих
вираз тут може сигналізувати про помилку. Під контролем -усічення=дійсний-індекс
варіант.

Увага! Невідомий сутнісний функція
Це повідомлення попереджає користувача про те, що ім’я, оголошене в операторі INTRINSIC, є
невідомий ftnchek. Ймовірно, це нестандартна внутрішня функція, і тому
програма не буде переносною. Функцію буде обробляти ftnchek як користувач-
визначена функція. Це попередження не припиняється жодним параметром, оскільки воно впливає
ftnchekРосійський аналіз програми. Однак, якщо внутрішня функція знаходиться в одному з
підтримувані набори нестандартних внутрішніх компонентів, ви можете використовувати - внутрішній налаштування на
викликати ftnchek розпізнати це.

ОБМЕЖЕННЯ І Розширення


ftnchek приймає програми Fortran-77 стандарту ANSI з деякими незначними обмеженнями та численними
поширені розширення.

Недоліки:
Фіктивні аргументи у функціях оператора розглядаються як звичайні змінні
Програма. Тобто їх сфера дії — це вся підпрограма, а не лише оператор
визначення функції.

Перевірка операторів FORMAT є слабкою, допускається відсутність роздільників (кома,
тощо) між дескрипторами формату в місцях, де їх вимагає Стандарт, і
дозволяє .d поля на дескрипторах, які не повинні мати їх. Це попереджає під
-f77=format-edit-descr про нестандартні типи дескрипторів (наприклад, O) та підтримувані
розширення.

Є деякі синтаксичні розширення та елементи Fortran 90, які ftnchek приймає
але перевіряє дуже мало. Наприклад, використання вказівника (чи
нестандартний синтаксис Cray або синтаксис Fortran 90) не перевіряється інакше, як для встановленого
і використаний статус. Сподіваємося, що колись буде більш ретельна перевірка
реалізовано, але наразі користувачеві слід звернути увагу на прийняття цих синтаксичних
функції просто для зручності для перевірки інших аспектів коду, які
містить їх. Перегляньте розділ Розширення, щоб дізнатися більше про функції
прийнято, але не повністю перевірено.

Якщо надана користувачем підпрограма має те саме ім'я, що й одна з нестандартних внутрішніх
функції, розпізнані ftnchek, він має бути оголошений у операторі EXTERNAL в
будь-яку процедуру, яка його викликає. В іншому випадку він буде підлягати перевірці в звичайному режимі
дано внутрішній функції. Оскільки нестандартні внутрішні не є
стандарт, цей оператор EXTERNAL не вимагається стандартом Fortran 77.
Використання -внутрішній=немає налаштування, розпізнавання більшості нестандартних властивостей
(за винятком лише тих, які необхідні для підтримки подвійного комплексного типу даних) можна повернути
вимкнено. Перегляньте списки підтримуваних нестандартних внутрішніх функцій у розділі
обговорення - внутрішній налаштування вище.

розширення:
Усі ці розширення (крім символів нижнього регістру) генеруватимуть попередження, якщо
відповідний -f77 встановлений параметр. Деякі з перелічених нижче розширень є частиною
стандарт Fortran-90. Вони позначені позначенням (F90).

Табуляції дозволені та перекладені на еквівалентні пробіли, які відповідають вкладці
зупиняється через кожні 8 стовпців. Стандарт не розпізнає вкладки. Зверніть увагу, що деякі
компілятори дозволяють вкладки, але обробляють їх по-різному. Лікування, визначене для DEC
FORTRAN можна досягти за допомогою -source=dec-tab установка.

Рядки можуть бути розділені лапками або апострофами. Послідовність з двох
символи-розділювачі інтерпретуються як один вбудований символ-роздільник.
(F90)

Рядки можуть містити escape-послідовності в стилі UNIX. Вони будуть
інтерпретується як така, якщо -source=unix-обратна коса слеш дано налаштування. Інакше
символ зворотної косої риски буде розглядатися як звичайний символ друку.

Вихідний код може бути у вільному форматі Fortran 90 або традиційному фіксованому форматі.
(F90)

Крапка з комою дозволяється як роздільник оператора. (F90)

Символи нижнього регістру дозволені, і вони внутрішньо перетворюються на великі
крім рядків символів. Стандарт визначає лише верхній регістр, за винятком у
коментарі та рядки. (F90)

Константи Холлеріта дозволені відповідно до стандарту Fortran 77,
додаток C. Їх не слід використовувати у виразах або плутати з типом даних
ХАРАКТЕР.

Літера «D» (верхній чи нижній регістр) у колонці 1 розглядається як початок а
коментар. Немає можливості розглядати такі рядки як заяви замість коментарів.

Описи можуть бути довшими за 72 стовпці за умови дотримання параметра - колони було
використовується для збільшення ліміту. Відповідно до стандарту, весь текст із колонок 73
через 80 ігнорується, і жоден рядок не може перевищувати 80 стовпців.

Назви змінних можуть містити більше шести символів. Стандарт визначає шість як
максимум. ftnchek дозволяє імена довжиною до 31 символу (F90).

Назви змінних можуть містити символи підкреслення та знаки долара (або інші неалфавітні).
символів, як зазначено в -ідентифікатор-символи варіант). Ці персонажі є
трактується так само, як і букви алфавіту. Тип за замовчуванням для змінних початку
з цими символами РЕАЛЬНО. У операторах типу IMPLICIT, що вказують діапазон
символів, після Z слід знак долара, а за ним — підкреслення. (Будь-який інший
символи, визначені користувачем, обробляються так само, як і знак долара.) Fortran 90
дозволяє підкреслення в іменах змінних.

Версія UNIX допускає наявність директив препроцесора, а саме рядків
починається зі знака фунта (#). Вони розглядаються як коментарі, за винятком #line
директиви, які інтерпретуються та використовуються для встановлення номера рядка та джерела
ім'я файлу для попереджень і повідомлень про помилки. Зауважте, що директиви #include не є
обробляється ftnchek. Програми, які використовують їх для включення вихідних файлів, повинні бути
проходять через препроцесор перед тим, як бути введеними в ftnchek. Як зазначено нижче,
ftnchek обробляє оператори INCLUDE, які мають інший синтаксис. An
додаткова програма, ftnpp(1 л) (продається окремо) забезпечує попередню обробку
правильно обробляє файли INCLUDE.

Дозволена структура керування Fortran 90 DO ... ENDDO. ЦИКЛ і ВИХІД
заяви приймаються. Усі вони можуть мати додаткову назву do-construct, але
імена конструкцій не перевіряються на відповідність. (F90)

Конструкція Fortran 90 SELECT CASE приймається. (F90)

Назви конструкцій також приймаються для IF, THEN, ELSE, ENDIF і SELECT CASE
заяви. (F90)

Оператори ACCEPT і TYPE (для терміналів введення/виводу) дозволені, з тим самим
синтаксис як PRINT.

Допускається так званий синтаксис "Cray-pointer". Це не те саме, що
Оператор Fortran 90 POINTER. Немає реальної перевірки твердження інше
ніж основний синтаксис. Форма цієї заяви є
КАЖИК (покажчик, pointee) [,(покажчик, pointee)]
Змінним-вказівникам присвоюється тип даних INTEGER *4. Перевірка використання
змінні pointee приховуються, оскільки на практиці доступ до них здійснюється непрямо
через покажчики.

Приймаються такі синтаксиси, пов’язані з вказівниками Fortran 90: ALLOCATABLE,
оператори POINTER, TARGET і ті самі атрибути в оголошеннях типів;
ALLOCATE, DEALLOCATE та NULLIFY виконувані оператори; призначення покажчика за допомогою
=> оператор; а також внутрішні функції ВИДІЛЕНІ та АСОЦІАТИРОВАНІ. Трохи семантичних
перевірка змінних і операцій покажчика виконується за межами базового набору та використовується
статус. Наприклад, немає перевірки на наявність таких помилок, як бовтаючі покажчики,
або використання нерозподілених масивів.

Операції можуть мати будь-яку кількість рядків продовження. Fortran 77 і Fortran
90 стандартів допускають максимум 19 у формі фіксованого джерела. Стандарт Fortran 90
дозволяє максимум 39 у вільному вихідному вигляді.

Оператори відношення (порівняння), що складаються з розділових знаків, а саме: < <= == /= > >=
дозволені. (F90)

Вбудовані коментарі, які починаються зі знака оклику, дозволені. (F90)

Підтримується введення-виведення NAMELIST. Синтаксис такий же, як і у Fortran 90.

Операції FORMAT можуть містити знак долара, що вказує на припинення передачі-
повернутися. Цілий вираз, укладений у кутові дужки, можна використовувати в будь-якому місці a
Оператор FORMAT, де стандарт Fortran 77 допускає цілу константу (крім
для довжини константи Холлеріта), щоб забезпечити значення часу виконання для повтору
специфікація або ширина поля.

Нестандартні ключові слова дозволені в операторах введення/виводу, які відповідають ключовим словам у VMS
Fortran.

Підтримується оператор IMPLICIT NONE. Сенс цього твердження полягає в тому
всі змінні повинні мати явно оголошені типи даних. Замість того, щоб позначати
входження таких змінних із повідомленнями про синтаксичну помилку, ftnchek чекає до
кінець модуля, а потім виводить список усіх неоголошених змінних, як it
робить для - заявити варіант. (F90)

Типи даних INTEGER, REAL, COMPLEX і LOGICAL можуть мати необов’язковий параметр
специфікація точності в деклараціях типу. Наприклад, REAL*8 означає 8 байт
тип даних з плаваючою комою. Тип даних REAL*8 не обов’язково враховується
еквівалентно подвійній точності, залежно від -розмір слів налаштування. Фортран 77
Стандарт дозволяє вказувати довжину лише для даних CHARACTER.

ftnchek підтримує специфікацію типу DOUBLE COMPLEX для комплексної величини, чия
дійсна та уявна частини мають подвійну точність. Змішана арифметика за участю
одноточний комплекс з реальними даними подвійної точності, заборонений згідно з
Стандартний, дає подвійний комплексний результат.

Приймаються комбіновані оголошення типів та ініціализатори, подібні до операторів даних.
Вони мають форму стандартної декларації типу Fortran 77, за якою слідує коса риска-
розділений список таких констант, які використовуються в операторі DATA. Прикладом
синтаксис є
ЦІЛЕ N / 100 /
Ця банальна форма оголошення ініціалізації не була прийнята у Fortran 90. Таке
декларації слід писати за стандартною формою, описаною нижче, яка є
прийнято ftnchek.

Існує обмежена підтримка декларацій типів на основі атрибутів Fortran 90. Це
Стиль оголошення відрізняється використанням подвійної крапки (::) між
список атрибутів і список оголошених змінних. Підтримувані функції можуть
бути достатнім для початківців програмістів, але ще недостатньо для професійних
якісні програми Fortran 90. Я сподіваюся, що в майбутньому додамо підтримку для інших функцій
випуски. Запрошую волонтерів допомогти у цьому завданні. Перегляньте файл ToDo в
розповсюдження вихідного коду для деталей. Крім того, атрибути, прийняті на даний момент
всі звичайні типи даних: ВИМІР, ЗОВНІШНІЙ, ВНУТРІШНИЙ, ПАРАМЕТР і ЗБЕРЕГТИ.
Нова форма оголошення також дозволяє присвоювати значення змінним
оголосив. На даний момент (LEN=значення) Форма визначення довжини символів також є
прийнято. Типові специфікації з використанням (KIND=значення) аналізуються, але ні
оброблено: усі види розглядаються як типи за замовчуванням. Крім того, перевірок мало
цих декларацій за межами основного синтаксису.

Надано багато часто зустрічаються нестандартних внутрішніх функцій. Див
обговорення - внутрішній список функцій і спосіб контролювати, які з них є
визнано.

Перевірка аргументів не є жорсткою для тих нестандартних внутрішніх елементів, які беруть масиви або
змішані типи аргументів.

ftnchek дозволяє оператор INCLUDE, який викликає включення тексту
даний файл. Синтаксис такий
ВКЛЮЧАТИ 'ім'я файлу'
Це сумісно з Fortran 90. Якщо -source=vms-include надається варіант,
ftnchek дотримується конвенцій VMS щодо цього твердження: він припускає a
розширення за замовчуванням .для якщо розширення імені файлу не вказано, і дозволяє
кваліфікатор /[NO]LIST після імені файлу, щоб керувати переліком включених
файл. Немає підтримки включення текстових модулів VMS.

У діагностичному виводі, що стосується елементів, що містяться у включаних файлах, розташування
помилка визначається як її розташуванням у файлі включення, так і розташуванням у
батьківський файл, куди був включений файл.

ftnchek приймає оператори PARAMETER, у яких відсутні дужки. Ці будуть попереджені
про те, якщо -f77=параметр-нопарен прапор дається.

ftnchek приймає визначення PARAMETER, які включають внутрішні функції та
підведення до степеня за нецілим показником. Обидва ці випадки заборонені
Fortran 77 Standard, і буде попереджено, якщо -f77=параметр-внутрішній прапор
надається. Якщо значення внутрішньої функції є цілочисельною константою під час компіляції,
ftnchek оцінить це. Це дозволяє краще перевірити, чи використовується параметр
оголошення розмірів масивів. Fortran 90 дозволяє внутрішні функції в PARAMETER
визначення.

Внутрішні функції, які оцінюються:

ABS IABS DIM IDIM МАКС
МАКС0 ХВ МІН0 ЗНАК MOD
ISIGN LEN ICHAR ІНДЕКС

Функції цілочисельних аргументів оцінюються, тільки якщо аргументи цілі
постійні вирази. (Це може включати цілі константи, параметри та
оцінені внутрішні функції.) Функція LEN оцінюється, якщо її аргумент є
вираз, що включає лише символьні константи та змінні, довжина яких не є
регульований. Функції ICHAR та INDEX оцінюються, лише якщо є аргументи
символьні константи. ftnchek дає попередження, якщо йому потрібно значення деяких
внутрішня функція, яка не оцінюється.

Нове ОСОБЛИВОСТІ


Ось зміни з версії 3.2 до версії 3.3:

1. Інтерфейс був переписаний для необмеженого перегляду вперед, усуваючи давню помилку
що спричинило неправильне тлумачення висловлювань, неоднозначність яких не була вирішена
перший рядок.

2. -mkhtml Опція тепер доступна у версії MS-DOS.

3. Додано підтримку синтаксису вказівника Fortran 90: ALLOCATE, DEALLOCATE і NULLIFY
заяви; атрибути ALLOCATABLE, POINTER і TARGET в оголошеннях типів; в
оператор присвоєння покажчика => і внутрішні функції ALLOCATED і ASSOCIATED; і
оголошення масиву відкладеної форми. На даний момент ці нові функції синтаксису прийняті
але не перевірено належним чином. Цю функцію додав Роберт Ландріто.

4. -f77 та -f90 покажчик Опція контролю попереджень про "вказівники Cray" була
перейменовано на Cray-pointer, -f77=вказівник Натомість цей параметр контролює попередження для
код, що містить синтаксис, пов'язаний з вказівниками Fortran 90.

5. Повторно реалізовано -mkhtml обробка, тому тепер вона набагато швидша для вихідних файлів, що містять
багато рутин.

6. Змінено розташування тестового каталогу, щоб більше не було необхідності змінювати
дистрибутив, щоб запустити набір тестів (check.bat) під MS-DOS.

7. Виправлено помилку під час читання числових налаштувань у командному рядку під час скорочення назви до
3 символів.

8. Виправлена ​​помилка, яка викликала помилкове попередження для GOTO, що посилається на оператор END
коли оператор перед END був FORMAT.

9. Новий прапор -f77=символ для керування попередженнями про розширення для Fortran 77
символьний тип даних. Цей новий прапор супроводжується підтримкою правил Fortran 90 для
оголошення символьних змінних, які мають нульову або від’ємну довжину, що дозволяє
їх і обробляючи негативні значення довжини як нуль.

10. Виправлено незначну помилку друку коментарів і порожніх рядків після останнього оператора END
in -список Режим.

Використовуйте ftnchek онлайн за допомогою служб onworks.net



Найновіші онлайн-програми для Linux і Windows