ftnchek – Online w chmurze

Jest to polecenie ftnchek, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


ftnchek – narzędzie do sprawdzania programu Fortran 77

STRESZCZENIE


ftnczek [ -argumenty[=podstęp] ] [ -szyk[=podstęp] ]
[ -[Nie]krótki ] [ -drzewo połączeń[=podstęp] ] [ -[Nie]ZOBACZ ]
[ -kolumny[=num] ] [ -wspólny[=podstęp] ]
[ -[Nie]odniesienie[=podstęp] ] [ -[Nie]ogłosić ]
[ -[Nie]podział ] [ -błędy[=num] ] [ -[Nie]zewnętrzny ]
[ -[Nie]f77[=podstęp] ] [ -[Nie]f90[=podstęp] ]
[ -[Nie]f95[=podstęp] ] [ -[Nie]pomoc ]
[ -[Nie]znaki-identyfikatorów[=podstęp] ] [ -zawiera=str ]
[ -wewnętrzny[=podstęp] ] [ -[Nie]biblioteka ] [ -[Nie]podstęp ]
[ -wykonane[=podstęp] ] [ -mkhtml[=podstęp] ]
[ -[Nie]nowicjusz ] [ -wyjście=str ]
[ -rozmiar wskaźnika[=num] ] [ -[Nie]ruchliwość[=podstęp] ]
[ -[Nie]bardzo[=podstęp] ] [ -projekt[=podstęp] ]
[ -[Nie]czysty ] [ -[Nie]cichy ] [ -[Nie]odniesienie ]
[ -[Nie]zasoby ] [ -[Nie]sześć znaków ] [ -[Nie]rodzaj ]
[ -source[=podstęp] ] [ -Style[=podstęp] ] [ -[Nie]karta sym ]
[ -[Nie]obcięcie[=podstęp] ] [ -stosowanie[=podstęp] ]
[ -[Nie]vcg ] [ -[Nie]wersja ] [ -[Nie]lotny ]
[ -rozmiar słowa[=num] ] [ -owinąć[=num] ] [ pliki ... ]

OPIS


ftnczek (skrót od Fortran checker) ma na celu wykrycie pewnych błędów w Fortran
program, którego zwykle nie robi kompilator. ftnczek nie jest przeznaczony przede wszystkim do wykrywania
błędy składniowe. Jego celem jest pomoc użytkownikowi w znalezieniu błędów semantycznych. Semantyczny
błędy są legalne w języku Fortran, ale są marnotrawstwem lub mogą powodować błędy
operacja. Na przykład zmienne, które nigdy nie są używane, mogą wskazywać na pewne pominięcia w pliku
program; niezainicjowane zmienne zawierają śmieci, które mogą powodować nieprawidłowe wyniki
obliczony; a zmienne, które nie są zadeklarowane, mogą nie mieć zamierzonego typu. ftnczek
ma na celu pomóc użytkownikom w debugowaniu ich programu Fortran. Nie jest to zamierzone
aby wyłapać wszystkie błędy składniowe. Taka jest funkcja kompilatora. Przed użyciem
ftnczek, użytkownik powinien sprawdzić, czy program kompiluje się poprawnie.

W tym dokumencie najpierw podsumowano sposób wywoływania ftnczek. Tę sekcję należy przeczytać wcześniej
zaczynam używać ftnczek. Dalsze sekcje opisują ftnczekbardziej szczegółowo opcje, podaj
przykład jego użycia i wyjaśnij, jak interpretować wynik. Końcowe sekcje
wspomnij o ograniczeniach i znanych błędach ftnczek.

WYWOŁYWANIE FTNCHEK


ftnczek wywołuje się poleceniem postaci:

$ ftnchek [-opcja -opcja ...] nazwa pliku [nazwa pliku ...]

Nawiasy wskazują coś, co jest opcjonalne. Same nawiasy nie
faktycznie wpisane. Opcje te to przełączniki lub ustawienia wiersza poleceń, które kontrolują
działania programu i ilości informacji, które zostaną wydrukowane. Jeśli nie
opcja jest określona, ​​domyślną akcją jest wydrukowanie komunikatów o błędach, ostrzeżeń i
komunikaty informacyjne, ale nie listę programów ani tablice symboli.

Każda opcja zaczyna się od znaku „-”. (W systemach VAX/VMS lub MS-DOS możesz używać
albo „/” albo „-”.) W trosce o zgodność z coraz powszechniejszą konwencją,
opcje mogą również zaczynać się od „--”. Opcje opisano szerzej w dalszej części


ftnczek Opcje dzielą się na dwie kategorie: przełączniki, które są albo prawdziwe, albo fałszywe, oraz
ustawienia, które mają wartość liczbową lub łańcuchową. Nazwa przełącznika jest poprzedzona „nie”
lub „nie-”, aby je wyłączyć: np -nieczyste wyłączyłoby ostrzeżenia o nieczystych funkcjach.
Przedrostka „nie” można również używać z ustawieniami numerycznymi, co powoduje wyłączenie
odpowiednie ostrzeżenia. Ustawienia sterujące listami ostrzeżeń mają specjalną składnię
omówione poniżej. Tylko pierwsze 3 znaki nazwy opcji (nie licząc „-”)
należy zapewnić. Zamiast znaku równości w przypadku liczb lub ciągów znaków można zastosować dwukropek
ustalanie zadań; jednakże poniżej pokazujemy tylko znak równości.

Przełączniki i ustawienia, które ftnczek obecnie rozpoznawane, są wymienione poniżej. Dla każdego
opcja, wartość domyślna jest wartością używaną, jeśli opcja nie została wyraźnie określona, ​​natomiast opcja
włączenie jest wartością używaną, jeśli opcja jest podana bez przypisania jej wartości.

-argumenty=podstęp
Kontroluj ostrzeżenia o typie podprogramu i niezgodnościach argumentów. Wartość domyślna = włączona
= wszystko.

-tablica=podstęp
Kontroluj ostrzeżenia podczas sprawdzania argumentów tablicowych podprogramów. Domyślnie = włączenie =
wszystko.

-krótki W przypadku niektórych komunikatów o błędach użyj krótszego formatu. Wartość domyślna = nie.

-calltree=podstęp
Twórz hierarchię wywołań podprogramów w jednym z 3 formatów: tekstowe drzewo wywołań, kto-wzywa-
kto i VCG. Domyślnie = brak, włączenie = drzewo, przycinanie, sortowanie.

Jeśli -mkhtml opcja jest wywoływana i Tree to zastosowana opcja calltree, plik
o nazwie CallTree.html, zostanie utworzony obraz drzewa w formacie HTML.

-czek Wykonaj sprawdzanie. Domyślnie = tak.

-kolumny=num
Ustaw maksymalną długość linii na num kolumny. (Poza tym jest ignorowane.) Włącz = max =
132. Wartość domyślna = 72.

-wspólny=podstęp
Ustaw stopień rygorystyczności sprawdzania bloków WSPÓLNYCH. Wartość domyślna = włączona = wszystko.

-odnośnik=podstęp
Wydrukuj listę powiązań wywołań podprogramów, użycia etykiet i/lub bloku WSPÓLNEGO
używać. Wartość domyślna = brak.

-ogłosić
Wydrukuj listę wszystkich identyfikatorów, których typ danych nie jest jawnie zadeklarowany. Domyślny
= nie.

-podział
Ostrzegaj wszędzie tam, gdzie wykonywane jest dzielenie (z wyjątkiem dzielenia przez stałą). Wartość domyślna = nie.

-błędy=num
Ustaw maksymalną liczbę komunikatów o błędach na kaskadę. Domyślnie = włączenie = 3.

-zewnętrzny
Ostrzegaj, jeśli wywoływane podprogramy zewnętrzne nigdy nie są zdefiniowane. Domyślnie = tak.

-f77=podstęp
Kontroluj określone ostrzeżenia dotyczące obsługiwanych rozszerzeń standardu Fortran 77.
Domyślnie = brak, włączenie = wszystko.

-f90=podstęp
Kontroluj określone ostrzeżenia dotyczące obsługiwanych rozszerzeń standardu Fortran 77
które nie zostały przyjęte jako część standardu Fortran 90. Domyślnie = brak, włącz
= wszystko.

-f95=podstęp
Kontroluj określone ostrzeżenia dotyczące standardowych funkcji Fortran 77, z których zostały usunięte
standardu Fortran 95. Domyślnie = brak, włączenie = wszystko.

-Pomoc Wydrukuj podsumowanie poleceń. Wartość domyślna = nie.

-znaki-identyfikatora=podstęp
Zdefiniuj znaki inne niż alfanumeryczne, które mogą być używane w identyfikatorach. Domyślnie =
włączenie = znak dolara i podkreślenie.

-zawiera=ścieżka
Zdefiniuj katalog do wyszukiwania plików INCLUDE przed rozpoczęciem wyszukiwania w całym systemie
informator. Łączny. Wartość domyślna = włączona = brak.

-wewnętrzne=podstęp
Kontroluj traktowanie niestandardowych funkcji wewnętrznych. Domyślnie = wszystkie oprócz VMs dla
Wersja Unix, wszystkie z wyjątkiem UNIX dla wersji VMS, wszystkie z wyjątkiem UNIX i VMs dla innych
wersje. Włącz = wszystko.

-biblioteka
Rozpocznij tryb biblioteczny: nie ostrzegaj o podprogramach w pliku, które są zdefiniowane, ale
nigdy nie używany. Wartość domyślna = nie.

-lista Wydrukuj listę źródeł programu. Wartość domyślna = nie.

-madecls=podstęp
Przygotuj plik deklaracji. The podstęp określa opcje formatu tego
plik. Domyślnie = brak, włączenie = deklaracje.

-mkhtml=podstęp
Twórz indywidualne pliki dokumentów HTML na podstawie analizy ftnchek i komentarzy do kodu.
Zwykle będziesz także chciał określić -call=drzewo aby utworzyć główny plik HTML
CallTree.html. Domyślnie = brak, włączone = dokumenty.

-nowicjusz
Podaj dane wyjściowe odpowiednie dla początkujących użytkowników. Domyślnie = tak.

-wyjście=filename
Wyślij dane wyjściowe do podanego pliku. Wartość domyślna i włączona wysyła dane wyjściowe na ekran.
(Domyślne rozszerzenie nazwy pliku to Lis).

-wskaźnik=num
Ustaw rozmiar zmiennych ``Wskaźnika Cray'' na num bajty. Min. = 1, maks. = 16.
Domyślnie = włączenie = 4

-przenośność=podstęp
Ostrzegaj o zastosowaniach nieprzenośnych. Domyślnie = brak, włączenie = wszystko.

-ładny=podstęp
Podaj ostrzeżenia dotyczące potencjalnie mylącego wyglądu kodu źródłowego. Domyślnie = obróć-
włączone = wszystkie.

-projekt=podstęp
Utwórz plik projektu (patrz wyjaśnienie poniżej). Wartość domyślna = nie.

-czysty Załóżmy, że funkcje są czyste, tj. nie mają skutków ubocznych. Domyślnie = tak.

-cichy Twórz mniej szczegółowe wyniki. Wartość domyślna = nie.

-odniesienie
Wydrukuj tabelę podprogramów, do których odwołuje się każdy podprogram. Wartość domyślna = nie.

-zasoby
Wydrukuj ilość zasobów wykorzystanych do analizy programu. Wartość domyślna = nie.

-sześć char
Wypisz nazwy zmiennych, które kolidują ze sobą przy długości 6 znaków. Wartość domyślna = nie.

-sortować Wydrukuj listę podprogramów posortowaną według wymagań. Wartość domyślna = nie.

-źródło=podstęp
Wybierz opcje formatowania źródła: forma stała lub dowolna, w formacie tabulatora DEC Fortran
linie, instrukcja INCLUDE w stylu VMS, sekwencje specjalne typu ukośnika odwrotnego w stylu UNIX oraz
niejawne wpisywanie parametrów. Domyślnie = brak, włączenie = wszystko.

-styl=podstęp
Twórz wyjątkowo wybredne ostrzeżenia o przestarzałym lub staromodnym programowaniu
konstrukcje. Domyślnie = brak, włączenie = wszystko.

-symtab
Wydrukuj tabelę symboli i tabelę etykiet dla każdego podprogramu. Wartość domyślna = nie.

-obcięcie=podstęp
Sprawdź, czy nie doszło do utraty dokładności w wyniku obcięcia. Wartość domyślna = włączona = wszystko.

-użycie=podstęp
Kontroluj ostrzeżenia o nieużywanych lub niezainicjowanych zmiennych, wspólnych blokach itp.
Wartość domyślna = włączona = wszystko.

-vcg Utwórz wykres połączeń w formacie VCG.

-wersja
Wydrukuj numer wersji. Wartość domyślna = nie.

-lotny
Załóżmy, że bloki COMMON tracą definicję pomiędzy aktywacjami. Wartość domyślna = nie. (Przestarzały.
Zastosowanie -wspólny=lotny zamiast.)

-rozmiar słowa=num
Ustaw domyślny rozmiar słowa dla ilości liczbowych na num bajty. Domyślnie = włączenie =
4 bajtów.

-owinięcie=num
Ustaw kolumnę wyjściową, w której będą zawijane długie komunikaty o błędach i ostrzeżenia do następnej
linia. Jeśli ustawione na 0, wyłącz zawijanie. Domyślnie = włączenie = 79.

W przypadku użycia więcej niż jednej opcji należy je oddzielić spacją, z wyjątkiem włączonej
systemy takie jak VMS, gdzie opcje zaczynają się od ukośnika ( / ). Nie można wstawiać żadnych spacji
wokół znaku równości (=) w ustawieniu. ftnczek „?” wygeneruje podsumowanie poleceń
listę wszystkich opcji i ustawień.

W przypadku ustawień, które pobierają listę słów kluczowych, a mianowicie -argumenty, -szyk, -drzewo połączeń, -wspólny,
-odnośnik, -f77, -f90, -f95, -wewnętrzny, -wykonane, -mkhtml, -ruchliwość, -ładny,
-projekt, -source, -Style, -obcięcie, -stosowanie, lista składa się ze słów kluczowych
oddzielone przecinkami lub dwukropkami. Jeśli lista słów kluczowych zostanie pominięta, efekt będzie ustawiony
opcję do wartości włączenia (w większości przypadków tak samo jak ``all''). Ponadto, jeśli lista jest
pominięty, nazwę ustawienia można poprzedzić Nie or no- aby wyłączyć wszystkie opcje
sterownica. Na przykład, -f77 włącza wszystkie ostrzeżenia o konstrukcjach niestandardowych, natomiast
-nof77 wyłącza je wszystkie. Trzy specjalne słowa kluczowe to:

pomoc Wydrukuj wszystkie słowa kluczowe opcji kontrolowane przez ustawienie wraz z briefem
wyjaśnienie ich znaczenia. Tego słowa kluczowego nie można podać na liście z innymi
słowa kluczowe.

cała kolekcja Ustaw wszystkie opcje. Spowoduje to włączenie wszystkich opcji kontrolowanych przez to ustawienie.

Żaden Wyczyść wszystkie opcje. Spowoduje to wyłączenie wszystkich opcji kontrolowanych przez to ustawienie.

Te trzy specjalne słowa kluczowe muszą zostać podane w całości. W przypadku wszystkich pozostałych słów kluczowych tylko tyle
należy podać litery słowa kluczowego niezbędne do jego jednoznacznej identyfikacji, lub a
można zastosować wzór wieloznaczny. Umieszczenie słowa kluczowego na liście powoduje jego zmianę
opcja włączona. Na przykład, -f77=wewnętrzne włączyłby tylko ostrzeżenia o użyciu
niestandardowe funkcje wewnętrzne. Poprzedzanie słowa kluczowego przez no- wyłącza tę opcję. Dla
przykład, -pretty=bez-długiej kolejki wyłącza ostrzeżenia o liniach przekraczających 72 kolumny
długości, pozostawiając w mocy wszystkie pozostałe ostrzeżenia dotyczące wprowadzającego w błąd wyglądu. Jeśli
ustawienie ma wartość domyślną Żaden, możesz włączyć wszystkie opcje z wyjątkiem jednej lub dwóch, używając cała kolekcja
Pierwszy. Na przykład, -f77=wszystko, bez uwzględnienia włącza ostrzeżenia o wszystkich niestandardowych rozszerzeniach
z wyjątkiem instrukcji INCLUDE. Jeśli ustawienie ma wartość domyślną cała kolekcja, możesz wyłączyć wszystkie ostrzeżenia
z wyjątkiem jednego lub dwóch za pomocą Żaden Pierwszy. Na przykład, -truncation=brak,degradacja odwróciłby się
wyłącza wszystkie ostrzeżenia związane z precyzją, z wyjątkiem ostrzeżeń o degradacjach. Wzory symboli wieloznacznych zawierają
gwiazdka oznaczająca dowolny ciąg znaków. Jeśli używany jest wzór wieloznaczny, wszystkie
dotyczy to pasujących ostrzeżeń. Jeśli no- jest poprzedzony wzorcem, wszystkie pasujące
ostrzeżenia są wyłączone, w przeciwnym razie wszystkie są włączone. Minimalna jednoznaczna długość
reguła nie ma zastosowania do dopasowywania symboli wieloznacznych. Na przykład użyj -usage=nie-*var* wyłączyć
wszystkie ostrzeżenia dotyczące zmiennego użytkowania (zarówno lokalnego, jak i powszechnego). (Użytkownicy Uniksa mogą potrzebować
zacytuj dowolne opcje zawierające symbole wieloznaczne, aby zapobiec próbom powłoki
rozwiń je.) Symbole wieloznaczne są rozpoznawane tylko na listach słów kluczowych ostrzegawczych, a nie na górze-
same opcje poziomu.

Kiedy ftnczek uruchamia się, szuka zmiennych środowiskowych, a także preferencji
plik. Wszelkie opcje zdefiniowane w środowisku lub w pliku preferencji są używane jako
defaults zamiast wbudowanych ustawień domyślnych. Są one zastępowane przez dowolną linię poleceń
opcje. Aby uzyskać szczegółowe informacje na temat środowiska, zobacz sekcję dotyczącą zmiany ustawień domyślnych
opcje i plik preferencji.

Przy podawaniu nazwy pliku wejściowego rozszerzenie jest opcjonalne. W przypadku braku przedłużenia,
ftnczek najpierw poszuka pliku projektu z rozszerzeniem .prji użyje tego, jeśli tak się stanie
istnieje. Jeśli nie wtedy ftnczek poszuka pliku źródłowego Fortran z rozszerzeniem .dla
dla systemów VMS, .f dla systemów UNIX. Można nadać więcej niż jedną nazwę pliku ftnczek,
i przetworzy moduły we wszystkich plikach tak, jakby znajdowały się w jednym pliku.

W specyfikacji nazw plików w wierszu poleceń systemu VMS dozwolone są symbole wieloznaczne
i MS-DOS, jak również oczywiście pod UNIXem i każdym innym systemem, który działa
rozwijanie symboli wieloznacznych w procesorze poleceń.

Jeśli nie zostanie podana nazwa pliku, ftnczek odczyta wejście ze standardowego wejścia.

OPCJE


Ta sekcja zawiera bardziej szczegółowe omówienie ftnczek opcje wiersza poleceń. Opcje
a nazwy plików mogą być przeplatane w wierszu poleceń. Większość opcji ma charakter pozycyjny: każda
opcja pozostaje aktywna od momentu jej napotkania, dopóki nie zostanie zastąpiona przez a
później zmienić. Na przykład lista może zostać pominięta w przypadku niektórych plików, a nie w przypadku
inni. Wyjątkami są: -wewnętrzny, -rozmiar wskaźnika, -rozmiar słowa ustawienia, które
nie można zmienić po rozpoczęciu przetwarzania plików wejściowych; the -argumenty, -szyk,
-drzewo połączeń, -wspólny, -odnośnik, -zewnętrzny, -odniesienie, -zasoby, -sortować, -vcg, -lotny
opcje, gdzie akcja zależy wyłącznie od wartości opcji po przetworzeniu
pliki wejściowe są gotowe; i -zawierać ustawienie, które kumuluje się.

Nazwy opcji na poniższej liście są w kolejności alfabetycznej.

-argumenty=podstęp
Kontroluje ostrzeżenia o niezgodnościach pomiędzy rzeczywistymi i fałszywymi argumentami podprogramu,
a także o niezgodnościach pomiędzy oczekiwanym i rzeczywistym typem podprogramu. (Rzeczywisty
argument jest argumentem przekazywanym do podprogramu przez osobę wywołującą; fikcyjnym argumentem jest
argument otrzymany przez podprogram.) Domyślnie wszystkie ostrzeżenia są włączone.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Od tego wszystkiego
ostrzeżenia są domyślnie włączone, dodaj słowo kluczowe poprzedzone przez no- aby wyłączyć
szczególne ostrzeżenie. Istnieją trzy specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie
ostrzeżenia dotyczące argumentów, Żaden aby je wszystkie wyłączyć i pomoc aby wydrukować listę
wszystkie słowa kluczowe z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp jest pominięty, -argumenty
odpowiada -argumenty=wszystko, -brak argumentów odpowiada -argumenty=brak.
Słowa kluczowe ostrzeżenia wraz z ich znaczeniem są następujące:

szykowność:
ostrzegaj przed niespójnym użyciem argumentów będących tablicami. Te ostrzeżenia mogą
być dalej kontrolowane przez -szyk opcja.

rodzaj:
ostrzegaj o fikcyjnych argumentach innego typu danych niż rzeczywiste argumenty.

typ funkcji:
ostrzegaj, jeśli przy wywołaniu założono, że wartość zwracana przez funkcję jest innego typu
niż jest w rzeczywistości. Ostrzega również, jeśli funkcja jest wywoływana jako podprogram lub
nawzajem.

numer:
ostrzegają o wywołaniu podprogramu z inną liczbą argumentów niż
podprogram oczekuje.

Aby zapewnić kompatybilność z poprzednimi wersjami ftnczek, numeryczna forma tego
ustawienie jest również akceptowane: the podstęp zostaje zastąpiony liczbą od 0 do 3. Wartość
0 wyłącza wszystkie ostrzeżenia, 1 włącza tylko numer, 2 włącza wszystko z wyjątkiem numer,
i 3 włączają wszystkie ostrzeżenia.

To ustawienie nie ma zastosowania do sprawdzania wywołań funkcji wewnętrznych lub
funkcje instrukcji, które można wyłączyć tylko poprzez -bez kontroli opcja.

Zobacz także: -szyk, -biblioteka, -stosowanie.

-tablica=podstęp
Kontroluje stopień rygorystyczności sprawdzania zgodności pomiędzy rzeczywistym a fikcyjnym
argumenty podprogramu, które są tablicami. Ostrzeżenia kontrolowane przez to ustawienie to
dla konstrukcji, z których mógłby legalnie korzystać doświadczony programista,
ale to często wskazuje na błędy programistyczne. Domyślnie wszystkie ostrzeżenia są wyłączone
jeden.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Od tego wszystkiego
ostrzeżenia są domyślnie włączone, dodaj słowo kluczowe poprzedzone przez no- aby wyłączyć
szczególne ostrzeżenie. Istnieją trzy specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie
ostrzeżenia dotyczące argumentów tablicowych, Żaden aby je wszystkie wyłączyć i pomoc wydrukować
lista wszystkich słów kluczowych z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp jest pominięty,
-szyk odpowiada -tablica=wszystko, -niemacierz odpowiada -tablica=brak,
słowa kluczowe ostrzegawcze wraz z ich znaczeniem są następujące:

Wymiary:
ostrzegaj, jeśli argumenty różnią się liczbą wymiarów lub jeśli są rzeczywiste
argument jest elementem tablicy, podczas gdy argument fikcyjny jest całą tablicą.

rozmiar:
ostrzegaj, jeśli oba argumenty są tablicami, ale różnią się liczbą elementów.

Aby zapewnić kompatybilność z poprzednimi wersjami ftnczek, numeryczna forma tego
ustawienie jest również akceptowane: the podstęp zostaje zastąpiony liczbą od 0 do 3. Wartość
0 wyłącza wszystkie ostrzeżenia, 1 włącza tylko Wymiary, tylko 2 włączenia rozmiar,
3 włącza wszystkie ostrzeżenia.

Uwaga: Ostrzeżenie jest zawsze wyświetlane niezależnie od tego ustawienia, jeśli jest to rzeczywisty argument
jest tablicą, podczas gdy fikcyjny argument jest zmienną skalarną lub jeśli wartość rzeczywista
argument jest zmienną skalarną lub wyrażeniem, a argumentem fikcyjnym jest tablica.
Te przypadki rzadko są zamierzone. (Aby wyłączyć nawet te ostrzeżenia, użyj
-arguments=brak-tablicy.) Nie jest wyświetlane żadne ostrzeżenie, jeśli rzeczywistym argumentem jest an
element tablicy, podczas gdy fikcyjny argument jest zmienną skalarną. Zmienne wymiary
tablice i tablice o wymiarach 1 lub gwiazdki odpowiadają dowolnej liczbie tablicy
elementy. Nie ma możliwości sprawdzenia, czy tablice wielowymiarowe zgadzają się pod względem rozmiaru
każdego wymiaru osobno.

Zobacz także: -argumenty, -biblioteka, -stosowanie.

-krótki
Wybiera krótszy format niektórych komunikatów ostrzegawczych. Na chwilę obecną jedyne ostrzeżenia
kontrolowane przez tę flagę to te, które są drukowane na końcu przetwarzania każdego z nich
podprogram. Należą do nich ostrzeżenia dotyczące zmiennych, które są ustawione, ale nie są używane lub
użyte przed ustawieniem nazwy zmiennych niezgodne ze standardem Fortran 77,
itp. (Te ostrzeżenia mogą zostać całkowicie pominięte w zależności od innych flag, takich jak
dotychczasowy -stosowanie or -f77 flags.) W domyślnym formacie każda zmienna jest wymieniona na a
osobna linia wraz z numerem linii, w której zmienna jest zadeklarowana, ustawiona lub
użyte, zgodnie z charakterem ostrzeżenia. Krótszy format po prostu zawiera listę wszystkich
zmienne, których dotyczy ostrzeżenie, z maksymalnie 4 zmiennymi w wierszu.

Zobacz także: -cichy.

-calltree=podstęp
Rozwiązania ftnczek aby wydrukować strukturę wywołań całego programu.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Są dwa specjalne
słowa kluczowe: Żaden aby wyłączyć wszystkie opcje i pomoc aby wydrukować listę wszystkich
słowa kluczowe z krótkim wyjaśnieniem każdego z nich. (Słowo kluczowe cała kolekcja włącza wszystko
opcji, ale zwykle nie należy ich używać, ponieważ powinien być używany tylko jeden format
określone.) Jeśli podstęp jest pominięty, -drzewo połączeń odpowiada -calltree=drzewo,
-nocalltree odpowiada -calltree=brak. Domyślnie nie jest drukowany żaden wykres połączeń.

Jeśli zostanie wywołana opcja -mkhtml i Tree to zastosowana opcja calltree, plik
o nazwie CallTree.html, zostanie również utworzony obraz drzewa w formacie HTML. Ten
plik jest przydatny jako punkt wyjścia do przeglądania plików HTML opisujących każdy z nich
składnik programu.

Słowa kluczowe kontrolujące używany format są następujące:

drzewo:
utwórz wykres połączeń w formacie drzewa.

odniesienie:
utwórz wykres połączeń w formacie kto-dzwoni-kto (tak samo jak -odniesienie przełącznik).

vcg:
utwórz wykres połączeń w formacie VCG (tak samo jak -vcg przełącznik).

Tylko jeden z formatów drzewo, odniesienielub vcg można określić.

Następujące słowa kluczowe kontrolują opcje wpływające na wynik:

suszona śliwka:
przycinaj powtarzające się poddrzewa (dotyczy tylko z drzewo). To jest ustawienie domyślne.

rodzaj:
posortuj dzieci każdej procedury w porządku alfabetycznym. To jest ustawienie domyślne.

Zobacz dyskusję nt -odniesienie i -vcg flagi, aby uzyskać szczegółowe informacje na ten temat
formaty.

W razie zamówieenia projektu drzewo formacie, Wykres wywołań drukowany jest począwszy od programu głównego,
który jest wymieniony w pierwszym wierszu na lewym marginesie. Następnie w kolejnych wierszach
każda procedura wywoływana przez program główny jest wyszczególniona, z kilkoma spacjami i po niej
przez poddrzewo rozpoczynające się od tej procedury.

W trybie domyślnym, jeśli procedura jest wywoływana przez więcej niż jedną inną procedurę, jej
poddrzewo wywołań jest drukowane tylko przy pierwszym napotkaniu. Późniejsze wywołania dają tylko
nazwę procedury i uwagę „(patrz wyżej)”. Aby wydrukować poddrzewo
przy każdym wystąpieniu procedury użyj opcji nie-przycinaj.

Należy pamiętać, że drzewo wywołań będzie niekompletne, jeśli którykolwiek z plików wejściowych będzie projektem
pliki zawierające więcej niż jeden moduł, które zostały utworzone w -biblioteka tryb. Zobacz
omówienie plików projektu poniżej.

Uwagi techniczne: Drukowana jest każda lista procedur wywoływanych przez daną procedurę
kolejność alfabetyczna, chyba że nie sortowane opcja jest podana. Jeśli wiele głównych programów
zostaną znalezione, drzewo wywołań każdego z nich zostanie wydrukowane osobno. Jeśli nie ma programu głównego
zostanie znaleziony, drukowany jest raport na ten temat i drzewa wywołań dowolnego najwyższego poziomu
drukowane są procedury niebiblioteczne. Ta flaga kontroluje tylko drukowanie połączenia
drzewo: ftnczek w każdym przypadku konstruuje drzewo wywołań, ponieważ służy do określenia
które moduły biblioteczne zostaną sprawdzone krzyżowo. Zobacz dyskusję nt -biblioteka
flag.

Aby zapewnić kompatybilność z poprzednimi wersjami ftnczek, numeryczna forma tego
ustawienie jest również akceptowane: the podstęp zostaje zastąpiony liczbą od 0 do 15. To
liczba jest tworzona z 1 dla drzewo format, 2 dla odniesienie format, lub 3 dla vcg
formacie plus 4 za nie-przycinaj, i 8 dla nie sortowane.

Zobacz także: -odnośnik, -biblioteka, -odniesienie, -sortować, -symtab, -vcg.

-czek
Przełącznik ten służy do wyłączania komunikatów o błędach i ostrzeżeniach
ftnczek służy do celów innych niż wyszukiwanie błędów, takich jak składanie deklaracji
lub wydrukowanie drzewa połączeń. Jest pozycyjny, więc po wyłączeniu wszystkich zaznaczeń,
wybrane kontrole można włączyć ponownie. Efekt -bez kontroli jest położyć wszystko
przełączniki, ustawienia numeryczne i ustawienia sterujące listami ostrzeżeń do ich
wartości wyłączające, tak jakby wszystkie zostały określone z przedrostkiem -no. Przełączniki
oraz ustawienia określające opcje i tryby działania, a nie sterowanie
ostrzeżenia pozostają nienaruszone. To są -kolumny, -odnośnik, -zawierać, -wewnętrzny,
-biblioteka, -lista, -wykonane, -nowicjusz, -wyjście, -rozmiar wskaźnika, -projekt, -cichy,
-odniesienie, -zasoby, -sortować, -source, -symtab, -vcg, -wersja, -rozmiar słowa,
-owinąć. Domyślnie = tak.

Błędy analizy (błędy składniowe spowodowane nierozpoznanymi lub zniekształconymi instrukcjami) nie są
pomijane przez ten przełącznik, ponieważ wyniki mogą być nieprawidłowe, jeśli ftnczek nie ma
poprawnie przeanalizował program.

Istnieje kilka różnych błędów i komunikatów ostrzegawczych, które nie są kontrolowane przez
dowolnym innym przełącznikiem, a więc można je wyłączyć tylko tym przełącznikiem. Pamiętaj, że używając
-czek następujący -bez kontroli ma jedynie wpływ na włączenie tych specjalnych ostrzeżeń
ponownie włączony i nie przywraca wszystkich wyłączonych kontroli. Te ostrzeżenia to:

o Moduł nie zawiera żadnych instrukcji wykonywalnych.

o W formie bezpłatnego źródła brakujące miejsce tam, gdzie jest ono wymagane (np. pomiędzy plikami a
słowo kluczowe i identyfikator) lub spację tam, gdzie nie jest ona dozwolona (np. w obrębie
identyfikator).

o Podanie długości zerowej lub ujemnej w deklaracji typu danych formularza
wpisz*dł.

o Nieprawidłowy argument(y) w wyrażeniu.

o Tablica przypisana do skalara.

o Niezgodność typu pomiędzy indeksem DO a granicami.

o Niezdefiniowany wspólny blok zadeklarowany w instrukcji SAVE.

o Funkcja wewnętrzna jawnie zadeklarowana przy użyciu niezgodnego typu.

o Nieznana funkcja wewnętrzna jawnie zadeklarowana w instrukcji INTRINSIC.

o Funkcja wewnętrzna przekazana jako argument podprogramu nie jest zadeklarowana w an
Oświadczenie WEWNĘTRZNE.

o Funkcja wewnętrzna lub funkcja instrukcji została wywołana nieprawidłowo.

o Funkcja nie ustawia wartości zwracanej przed instrukcją RETURN.

o Wartość stała parametru nie została oszacowana (tzn ftnczekto wina i to jest sprawiedliwe
informując Cię o tym fakcie).

o Punkt wejścia podprogramu jest później używany jako nazwa innego podprogramu.

o Nieznane słowo kluczowe użyte w instrukcji I/O.

o Niedozwolone odniesienie do etykiety (np. GOTO odnosi się do niewykonywalnej instrukcji; I/O
instrukcja odnosi się do instrukcji nieformatowej).

Zobacz także: -błędy.

-kolumny=num
Ustaw maksymalną długość wyciągu na num kolumny. (Poza tym jest ignorowane.) To
ustawienie umożliwia sprawdzanie programów, które mogą naruszać Fortran
standardowy limit długości wyciągu wynoszący 72 kolumny. Według
standardowo, wszystkie znaki poza kolumną 72 są ignorowane. Jeśli to ustawienie jest używane, gdy
dotychczasowy -f77=długa linia opcja jest aktywna, dla wszystkich linii zostanie wyświetlone ostrzeżenie
które znaki poza kolumną 72 są przetwarzane. Włączenie = max = 132. Domyślnie = 72.

To ustawienie nie pomija ostrzeżeń o obecności znaków poza nim
kolumna 72. Aby przetworzyć kod ze znaczącym tekstem programu poza kolumną 72, użyj tej
ustawienie i upewnij się, że -f77 długa linia opcja jest wyłączona. Aby przetworzyć kod za pomocą
numery kolejne w kolumnach od 73 do 80, pozostaw ustawienie kolumn na domyślnym
wartość i użyj -pretty=bez-długiej kolejki flag.

Zobacz także: -f77, -ładny.

-wspólny=podstęp
To ustawienie kontroluje dokładność sprawdzania bloków COMMON. Domyślnie wszystkie
ostrzeżenia, z wyjątkiem lotny są włączone.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Ponieważ większość z nich
ostrzeżenia są domyślnie włączone, dodaj słowo kluczowe poprzedzone przez no- aby wyłączyć
szczególne ostrzeżenie. Istnieją trzy specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie
ostrzeżenia, Żaden aby je wszystkie wyłączyć i pomoc aby wydrukować listę wszystkich słów kluczowych
z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp jest pominięty, -wspólny odpowiada
-common=wymiary,dokładne,długość,typ, -nieczęsto odpowiada -wspólny = żaden.
Słowa kluczowe ostrzeżenia wraz z ich znaczeniem są następujące:

Wymiary:
odpowiednie tablice w każdej deklaracji bloku muszą być zgodne pod względem rozmiaru i
liczba wymiarów. Ta opcja działa tylko wtedy, gdy jest używana razem z
dokładny.

dokładny:
porównanie dwóch bloków odbywa się zmienna po zmiennej, a nie po prostu
wymagające porozumienia pomiędzy odpowiednimi miejscami przechowywania. Użyj tego, jeśli wszystko
deklaracje danego bloku COMMON mają być identyczne, czyli a
dobra praktyka programistyczna.

długość:
ostrzegaj, jeśli różne deklaracje tego samego bloku nie mają równej całkowitej długości.
Standard Fortran 77 wymaga każdego nazwanego wspólnego bloku, ale nie pustego wspólnego,
mieć tę samą długość we wszystkich modułach programu.

rodzaj:
w każdej deklaracji danego bloku COMMON odpowiednie lokalizacje pamięci
(słowa lub bajty) muszą zgadzać się co do typu danych. Jeśli jest używany razem z dokładnyTen
będzie wymagać, aby odpowiednie zmienne były zgodne co do typu danych.

lotny:
Załóżmy, że bloki COMMON są niestabilne.

Wielu programistów języka Fortran zakłada, że ​​zmienne, zarówno lokalne, jak i wspólne, są
statyczne, co oznacza, że ​​raz przypisana wartość zachowuje tę wartość na stałe do momentu
program przypisuje inną wartość. Jednak w rzeczywistości Fortran 77
Standard nie wymaga, aby tak było. Mogą stać się zmienne lokalne
niezdefiniowane pomiędzy aktywacjami modułu, w którym są zadeklarowane. Podobnie,
Bloki COMMON mogą stać się niezdefiniowane, jeśli nie ma modułu, w którym są zadeklarowane
aktywny. (Termin techniczny określający byty o takim zachowaniu to „automatyczny”, ale
ftnczek używa słowa „lotny”, ponieważ jest ono bardziej zrozumiałe dla niespecjalisty.) Tylko
Bloki COMMON zadeklarowane w instrukcji SAVE lub zadeklarowane w programie głównym lub w pliku a
Podprogram danych blokowych pozostaje zdefiniowany tak długo, jak program jest uruchomiony. Zmienne
a bloki COMMON, które w pewnym momencie mogą stać się niezdefiniowane, nazywane są lotnymi.

Jeśli -wspólny=lotny flaga jest włączona, ftnczek ostrzeże Cię, jeśli znajdzie
lotny blok WSPÓLNY. Jeżeli jednocześnie -usage=com-block-volatile opcja
jest włączony (co jest ustawieniem domyślnym), ftnczek spróbuję sprawdzić czy jest taki blok
może utracić swój zdefiniowany status pomiędzy aktywacjami modułów, w których się znajduje
zdeklarowany. ftnczek nie radzi sobie z tym zbyt dobrze: stosuje się zasadę „widzieć”.
czy blok jest zadeklarowany w dwóch oddzielnych poddrzewach drzewa wywołań. Dla
na przykład miałoby to miejsce, gdyby dwa moduły, oba wywołane z programu głównego,
udostępnił lotny blok COMMON. Blok może również stać się niezdefiniowany pomiędzy dwoma
kolejne wywołania tego samego podprogramu, ale ftnczek nie jest na tyle mądry, żeby to stwierdzić
czy podprogram można wywołać więcej niż raz, więc ten przypadek nie jest sprawdzany.

Połączenia -wspólny=lotny flaga nie ma wpływu na drogę ftnczek sprawdza użycie local
zmiennych.

Aby zapewnić kompatybilność z poprzednimi wersjami ftnczek, numeryczna forma tego
ustawienie jest również akceptowane: the podstęp zostaje zastąpiony liczbą od 0 do 3. Wartość
Wartość 0 wyłącza wszystkie ostrzeżenia, wartość 1 lub większa włącza rodzaj, 2 lub więcej włącza się
długośći 3 włącza się Wymiary i dokładny Również. Nie można włączyć formularza numerycznego
dotychczasowy lotny opcja.

Zobacz także: -biblioteka, -stosowanie.

-odnośnik=podstęp
Drukuje tabele odsyłaczy. Wartość domyślna = brak.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Słowa kluczowe z
ich znaczenie jest następujące:

Połączenia:
table zawiera listę każdego podprogramu, po której następuje lista procedur, które go wywołują.
Ta lista pomija moduły biblioteczne, które nie znajdują się w drzewie wywołań pliku main
program. Lista jest alfabetyczna.

pospolity:
tabela zawiera listę wszystkich bloków COMMON, po których następuje lista procedur uzyskujących dostęp
To. Te wymienione procedury to te, w których niektóre zmienne w COMMON
bloku, a nie tylko te procedury, które deklarują blok. (Do
dowiedz się, jakie procedury deklarują blok WSPÓLNY, ale go nie używają, zobacz
-stosowanie flaga.)

Etykiety:
tabela zawiera listę każdej etykiety, po której następuje lista wszystkich odniesień do niej. Etykieta
odwołanie jest oznaczone numerem wiersza i typem wyciągu odsyłacza
oświadczenie. Lista etykiet jest uporządkowana sekwencyjnie. Referencje są
wymienione w kolejności, w jakiej występują w programie.

Zobacz także: -drzewo połączeń, -odniesienie, -sortować, -symtab, -vcg.

-ogłosić
Jeśli ta flaga jest ustawiona, wszystkie identyfikatory, których typ danych nie jest zadeklarowany w każdym module
zostaną wymienione. Ta flaga jest przydatna, gdy chcesz znaleźć błędnie zapisane nazwy zmiennych,
itd. Ta sama lista zostanie wyświetlona, ​​jeśli moduł zawiera IMPLICIT NONE
oświadczenie. Wartość domyślna = nie.

Zobacz także: -sześć char, -stosowanie.

-podział
Przełącznik ten ma pomóc użytkownikom wykryć potencjalny podział przez zero problemów. Jeśli
ten przełącznik jest wybrany, każdy podział z wyjątkiem stałej będzie oflagowany. (To
zakłada się, że użytkownik jest na tyle inteligentny, aby nie dzielić przez stałą, która jest
równy zeru!) Domyślnie = nie.

Zobacz także: -ruchliwość, -obcięcie.

-błędy=num
Ustaw maksymalną liczbę komunikatów o błędach w „kaskadzie”. Podczas sprawdzania
zgodność argumentów podprogramu, wspólne deklaracje bloków i tak dalej,
czasami pojedynczy przypadek generuje długi ciąg ostrzeżeń. Często to po prostu
wskazuje inną przyczynę niż rzeczywista niezgodność poszczególnych pozycji, np
przykład braku zmiennej na jednej liście. Zatem w takich przypadkach ftnczek przestaje drukować
ostrzeżenia po osiągnięciu limitu kaskady i zwiastunie „etc…”
wydrukowano, aby wskazać, że było więcej błędów, które nie zostały wydrukowane. Jeśli myślisz, że
te ostrzeżenia prawdopodobnie są autentyczne. Użyj tego ustawienia, aby zobaczyć ich więcej.
Włącz = domyślnie = 3, max = 999. Wartość 0 oznacza brak limitu.

To ustawienie nie określa ogólnego limitu liczby drukowanych komunikatów o błędach,
tylko liczba wydrukowana w dowolnej kaskadzie. Większość typów ostrzeżeń i błędów
wiadomości nie podlegają efektowi kaskadowemu i dlatego nie ma to na nie wpływu
ustawienie. Aby ogólnie wyłączyć ostrzeżenia, użyj opcji indywidualnego ostrzeżenia
opcje lub -bez kontroli opcja.

Zobacz także: -czek.

-zewnętrzny
Rozwiązania ftnczek aby zgłosić, czy jakiekolwiek podprogramy wywoływane przez program nigdy nie są wywoływane
zdefiniowany. Zwykle, jeśli ftnczek jest uruchamiany w ramach kompletnego programu, każdy
podprogram inny niż funkcje wewnętrzne powinien być gdzieś zdefiniowany. Zakręt
wyłącz ten przełącznik, jeśli chcesz po prostu sprawdzić podzbiór plików stanowiących część pliku a
większy, kompletny program. Argumenty podprogramu będą nadal sprawdzane
poprawność. Domyślnie = tak.

Połączenia -zewnętrzny flaga została teraz zastąpiona przez -usage=ext-niezdefiniowany opcja. Dla
dla wygody, -zewnętrzny flaga zostaje zachowana, tak że -brak zewn jest równoważne
do -usage=no-ext-niezdefiniowany opcja. -zewnętrzny przełącznik może zostać ostatecznie wycofany.

Zobacz także: -biblioteka.

-f77=podstęp
Użyj tego ustawienia, aby wychwycić rozszerzenia językowe, które naruszają Fortran 77
Standard. Takie rozszerzenia mogą spowodować, że Twój program nie będzie przenośny. Przykłady
uwzględnić użycie podkreśleń w nazwach zmiennych; nazwy zmiennych dłuższe niż sześć
postacie; linie wyciągów dłuższe niż 72 znaki; i niestandardowe wypowiedzi
takie jak struktura DO...ENDDO. ftnczek nie informuje o wykorzystaniu
małe litery. Domyślnie wszystkie ostrzeżenia są wyłączone.

To ustawienie zapewnia szczegółową kontrolę nad ostrzeżeniami dotyczącymi obsługiwanych rozszerzeń
zgodnie ze standardem Fortran 77. (Więcej szczegółów na temat samych rozszerzeń można znaleźć w pliku
podane poniżej w części dotyczącej rozszerzeń.) The podstęp składa się z oddzielonych słów kluczowych
przecinkami lub dwukropkami. Istnieją trzy specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie
ostrzeżenia o niestandardowych rozszerzeniach, Żaden aby je wszystkie wyłączyć i pomoc drukować
listę wszystkich słów kluczowych z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp jest pominięty,
-f77 odpowiada -f77=wszystko, -nof77 odpowiada -f77=brak. Ostrzeżenie
słowa kluczowe wraz z ich znaczeniem są następujące:

typ akceptacji:
Instrukcje ACCEPT i TYPE I/O.

granice tablic:
Wyrażenia definiujące granice tablicy zawierające elementy tablicy lub funkcję
Bibliografia.

zadanie-stmt:
Instrukcje przypisania obejmujące tablice. W Fortranie 90 tablica może być
przypisany do innej tablicy o zgodnym kształcie lub do którego można przypisać skalar
tablica. Żadne z tych przypisań nie jest dozwolone w Fortranie 77.

Powiązane ostrzeżenie pojawia się, gdy tablica jest przypisana do skalara. Od tego
jest nielegalne również w Fortranie 90, zawsze jest ostrzegane, niezależnie od tego
-f77 ustawienie (chyba że wszelkie sprawdzanie jest wyłączone za pomocą opcji -bez kontroli flaga).

oparte na atrybutach dekl:
Wpisz deklaracje w nowym stylu opartym na atrybutach Fortran 90. Ten styl
deklarację wyróżnia użycie podwójnego dwukropka (::) pomiędzy
lista atrybutów i lista zadeklarowanych zmiennych. Ta opcja również
kontroluje ostrzeżenia dotyczące użycia specyfikatorów długości lub rodzaju języka Fortran 90 w typie
deklaracje. (Chociaż te specyfikatory mogą być używane w plikach nieopartych na atrybutach
deklaracji, są one kontrolowane przez tę opcję, aby uniknąć rozprzestrzeniania się
-f77 opcje.)

tablica automatyczna:
Tablice lokalne (nie fikcyjne) o zmiennym rozmiarze. Te odpowiadałyby
tablice, których pamięć musiałaby być dynamicznie przydzielana w czasie wykonywania.

ukośnik wsteczny:
Uniksowy ukośnik odwrotny w ciągach znaków. To ostrzeżenie zostanie wyświetlone tylko wtedy, gdy
-source=unix-odwrotny ukośnik ustawienie ma powodować ucieczkę
interpretacja ukośnika odwrotnego..

bajt: Deklaracja typu danych BYTE.

konstrukcja przypadku:
Konstrukcja SELECT CASE.

charakter:
Rozszerzenia standardu Fortran 77 dotyczące danych znakowych. Obecnie,
kontroluje to tylko ostrzeżenia dotyczące zmiennych znakowych zadeklarowanych z zerem lub
długość ujemna. W Fortranie 77 wszystkie zmienne znakowe muszą mieć wartość dodatnią
długość. W Fortranie 90 mogą mieć zerową długość i deklaracje tego
określ, że dozwolone są długości ujemne, zamieniając je na zero dla zadeklarowanych
długość. Uwaga: ponieważ specyfikatory długości ujemnej mogą wskazywać na programowanie
błąd, ostrzeżenie o nich pojawia się nawet jeśli ta opcja jest wyłączona, oraz
jest tłumiony jedynie przez -bez kontroli flag.

wspólna nazwa-podprogramu:
Wspólny blok i podprogram o tej samej nazwie.

nazwa-konstruktu:
Użycie nazwy konstrukcji do oznaczenia instrukcji sterującej.

kontynuacja:
Ponad 19 kolejnych linii kontynuacji.

Cpp: Dyrektywy preprocesora Unix C w kodzie źródłowym.

Cray-wskaźnik:
Składnia „wskaźnika Cray”.

wyjście z cyklu:
Instrukcje CYCLE i EXIT.

d-komentarz:
Debugowanie komentarzy zaczynających się na literę D w kodzie źródłowym.

karta dec:
Kod źródłowy w formacie tabulatora w stylu DEC Fortran. To ostrzeżenie zostanie podane wyłącznie
Jeśli -source=zakładka-dec ustawienie ma powodować interpretację tabulatorów
w tym stylu.

zrobić-koniec:
Rozszerzenia pętli DO: pominięto etykietę instrukcji terminala, END DO i WHILE.

podwójnie złożony:
Złożony typ danych o podwójnej precyzji.

format-znak dolara:
Kod kontrolny znaku dolara w instrukcjach FORMAT.

format-edycja-opis:
Niestandardowe deskryptory edycji w instrukcjach FORMAT.

funkcja-noparen:
Definicja funkcji bez nawiasów.

ukryte-brak:
DOROZUMIANE stwierdzenie BRAK.

zawierać:
ZAŁĄCZ oświadczenie.

komentarz wbudowany:
Komentarze wbudowane zaczynające się od wykrzyknika.

lista-wewnętrzna-io:
We/wy kierowane na listę do lub z pliku wewnętrznego.

wewnętrzny:
Niestandardowe funkcje wewnętrzne.

słowa kluczowe io
Niestandardowe słowa kluczowe używane w instrukcjach we/wy. Można je podzielić na trzy grupy.
Do pierwszej grupy zaliczają się słowa kluczowe akceptowane w Fortranie 90:

ODCZYT PADŁA AKCYJNEGO
ROZMIAR POZYCJI ZAAWANSOWANEJ
DELIM CZYTAJ ZAPISZ
EOR
Do drugiej grupy zaliczają się następujące słowa kluczowe VMS Fortran:

BLOCKSIZE EXTENDSIZE TYLKO DO ODCZYTU
ROZMIAR POCZĄTKU BUFORÓW ROZMIAR REKORDOWY
TYP REJESTRU CARRIAGECONTROL MAXREC
DOMYŚLNA NAZWA PLIKU (w OTWARTYM) UDOSTĘPNIONY
WYŚWIETLACZ TYPU NOSPANBLOK
ORGANIZACJA POZBYCIA
(Słowo kluczowe NAME jest standardem tylko w instrukcji INQUIRE.) Trzeci
grupa składa się z następującego słowa kluczowego IBM/MVS:

NUM
Ta flaga kontroluje również ostrzeżenie o użyciu ACCESS='APPEND', czyli
akceptowane przez niektóre kompilatory. Wartość „APPEND” nie jest poprawna dla żadnego wejścia/wyjścia
specyfikator w standardowym Fortranie 77 i w Fortranie 90 powinien zostać użyty „APPEND”.
jako wartość specyfikatora POSITION, a nie ACCESS.

długa linia:
Instrukcje ze znaczącym kodem powyżej 72 kolumn. To ostrzeżenie jest podawane wyłącznie
Jeśli -kolumny ustawienie zostało użyte do zwiększenia szerokości pola instrukcji.

długie imię:
Identyfikatory dłuższe niż 6 znaków.

mieszane-pospolite:
Mieszane dane znakowe i nieznakowe w bloku COMMON.

mieszane-wyr:
Niestandardowe kombinacje typów w wyrażeniach, na przykład DOUBLE PRECISION
z COMPLEX, przypisywanie holleritha do liczby całkowitej, operacje logiczne na liczbach całkowitych.

nazwa-znak dolara:
Znak dolara używany jako znak w identyfikatorach.

nazwa-podkreślenie:
Podkreślenie używane jako znak w identyfikatorach.

Lista imion:
Oświadczenie NAMELIST.

typ-implicit-param:
Niejawne wpisywanie parametru według typu danych przypisanej wartości. Ten
ostrzeżenie może wystąpić tylko wtedy, gdy w opcji włączono niejawne wpisywanie parametrów
-source=typ-parametru-implicit opcję lub jeśli instrukcja PARAMETER jest typu
niestandardowa forma bez nawiasów. Jeśli ta opcja jest włączona, to dowolna
przypadki, w których nastąpi niejawne wpisywanie parametrów, zostaną ostrzeżeni. Jeśli
chcesz otrzymywać ostrzeżenie tylko w tych przypadkach, gdy niejawny typ danych
różni się od typu domyślnego, użyj -portability=typ-parametru-implicit zamiast.
Zgodnie ze standardem Fortran 77 podawany jest typ danych parametru
według tych samych zasad, co w przypadku zmiennej, a jeśli to konieczne, następuje konwersja typu
wykonywane po przypisaniu wartości.

param-wewnętrzny:
Funkcja wewnętrzna lub potęgowanie przez liczbę rzeczywistą używane do definiowania wartości a
Definicja PARAMETRÓW.

param-noparen:
Instrukcja PARAMETR bez nawiasów. Użytkownik powinien mieć świadomość, że
semantyka tej formy wypowiedzi różni się od tej standardowej
formularz: w tej formie parametr pobiera typ danych z wartości
przypisany, zamiast mieć domyślny typ danych oparty na pierwszej literze
nazwy parametru. (Ta forma instrukcji PARAMETER została wprowadzona
przez DEC przed zdefiniowaniem standardu Fortran 77 i należy tego unikać.)

wskaźnik:
Standardowa składnia związana ze wskaźnikami w języku Fortran 90, obejmująca POINTER, TARGET i
deklaracje typu ALLOCATABLE, instrukcje ALLOCATE, DEALLOCATE i NULLIFY,
i przypisanie wskaźnika za pomocą =>.

stała czterokrotna:
Stałe rzeczywiste o poczwórnej precyzji, np. w postaci 1.23Q4.

cudzysłów:
Ciągi znaków rozdzielone cudzysłowami, a nie apostrofami.

relopuje:
Operatory relacyjne (porównania) złożone ze znaków interpunkcyjnych, a mianowicie: < <= == /=
> >=.

średnik:
Średnik używany jako separator instrukcji.

polecenie-polecenie:
Stwierdzenia spoza kolejności wymaganej przez Standard. Dozwolone
sekwencję przedstawiono w Tabeli 1 w części dotyczącej interpretacji wyników.

stała bez typu:
Stałe bez typu, na przykład Z'19AF'.

typ-rozmiar:
Wpisz deklaracje określające rozmiar, np. REAL*8.

zmienny format:
Zmienna specyfikacja powtórzeń lub rozmiar pola w FORMACIE. Są to formy
< expr >.

vms-io:
Przestarzały. Teraz ma takie samo znaczenie jak słowa kluczowe io słowo kluczowe.

Zobacz także: -f90, -f95, -ruchliwość, -ładny, -Style, -rozmiar słowa.

-f90=podstęp
To ustawienie zapewnia szczegółową kontrolę nad ostrzeżeniami dotyczącymi obsługiwanych rozszerzeń
do standardu Fortran 77, które nie zostały przyjęte jako część Fortran 90
Standard. Zauważ to ftnczek nie obsługuje pełnego języka Fortran 90.
Obsługuje jednak niektóre popularne rozszerzenia Fortran 77
zanim zdefiniowano Fortran 90. Niektóre z tych rozszerzeń stały się częścią Fortran
90 Standard, ale inni nie. The -f90 ustawienie ostrzega tylko o tym drugim.
Oznacza to, że ta flaga obejmuje rzeczy, które nie są ani legalne, ani legalne
Fortran 90. Dlatego ostrzeżenia kontrolowane przez tę flagę stanowią w zasadzie podzbiór
ostrzeżeń kontrolowanych przez -f77. Istnieje kilka przypadków opisanych poniżej, w których
okoliczności, w których pojawia się ostrzeżenie, są nieco inne w obu przypadkach
flagi.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Są trzy
specjalne słowa kluczowe: cała kolekcja włączyć wszystkie ostrzeżenia o niestandardowych rozszerzeniach,
Żaden aby je wszystkie wyłączyć i pomoc aby wydrukować listę wszystkich słów kluczowych z a
krótkie wyjaśnienie każdego z nich. Jeśli podstęp jest pominięty, -f90 odpowiada -f90=wszystko,
-nof90 odpowiada -f90=brak.

Poniższe słowa kluczowe mają identyczne znaczenie dla -f90 Jeśli chodzi o -f77. Czytelnik jest
odsyłamy do wyjaśnień poniżej -f77.

typ akceptacji podwójnie złożony param-noparen
ukośnik wsteczny format-znak dolara Cray-wskaźnik
bajt format-edycja-opis stała czterokrotna
Cpp funkcja-noparen typ-rozmiar
d-komentarz nazwa-znak dolara zmienny format
karta dec typ-implicit-param vms-io

Słowa kluczowe, które różnią się nieco od odpowiednich -f77 słowa kluczowe są takie jak
Następuje.

kontynuacja:
Limit liczby wierszy kontynuacji wyciągu w stałym źródle
forma jest taka sama, a mianowicie 19, w Fortran 90 i Fortran 77. Dla darmowego źródła
z limitu wynosi 39 linii kontynuacji i linia zawierająca kontynuację
znak nie może być w inny sposób pusty ani zawierać jedynie komentarza.

wewnętrzny:
To jest to samo co dla -f77 z wyjątkiem funkcji wewnętrznych określonych w
MIL-STD 1753, które są zawarte w Fortran 90 i dlatego nie są ostrzegane
o. (Widzieć -wewnętrzny dla listy.)

słowa kluczowe io:
To jest to samo co dla -f77 z wyjątkiem tego, że nie są wyświetlane żadne ostrzeżenia dotyczące wejść/wyjść
słowa kluczowe, które są standardem w Fortranie 90.

długa linia:
Chociaż standard Fortran 90 dopuszcza linie dłuższe niż 72 znaki
w formie wolnego źródła, to ograniczenie nadal dotyczy formy ze stałym źródłem. W
z darmowego źródła, limit długości linii wynosi 132 znaki i w przeciwieństwie do ustalonego
Formularz, ftnczek nie pozwala na zwiększenie tego limitu.

mieszane-wyr:
To jest to samo co dla -f77 z wyjątkiem wyrażeń łączących rozszerzoną precyzję
real ze złożonymi typami danych, które są dozwolone w Fortranie 90.

polecenie-polecenie:
Jest to podobne do odpowiedniego -f77 ostrzeżenie, ale dotyczy nieco
luźniejsze ograniczenia dotyczące kolejności instrukcji w standardzie Fortran 90. W
w szczególności Fortran 90 umożliwia instrukcje DATA i funkcję instrukcji
definicje należy mieszać ze stwierdzeniami specyfikacji.

stała bez typu:
W Fortranie 90 stałe binarne, ósemkowe i szesnastkowe w postaci B'ddd',
Odpowiednio O'ddd' i Z'ddd' są dozwolone. Tutaj „ddd” oznacza a
ciąg cyfr. ftnczek rozpoznaje te formy, a także wariant
forma X'ddd' dla stałej szesnastkowej i inne warianty, w których
wskaźnik bazowy B, O, Z lub X następuje po ciągu cyfr. Te warianty były
nie przyjęte w Fortranie 90, więc tylko oni są ostrzegani, kiedy ta flaga jest
włączone.

Zobacz także: -f77, -f95, -ruchliwość, -ładny, -Style, -rozmiar słowa.

-f95=podstęp
To ustawienie zapewnia szczegółową kontrolę nad ostrzeżeniami dotyczącymi standardowego języka Fortran 77
funkcje, które zostały usunięte ze standardu Fortran 95. w przeciwieństwie do -f77 i -f90
ustawienia, te ostrzeżenia dotyczą składni, która jest dozwolona w języku Fortran 77. Jednak ponieważ
te funkcje zostały usunięte ze standardu, możliwe, że programy
zawierające je będą nie do przyjęcia dla niektórych nowszych kompilatorów.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Są trzy
specjalne słowa kluczowe: cała kolekcja włączyć wszystkie ostrzeżenia o niestandardowych rozszerzeniach,
Żaden aby je wszystkie wyłączyć i pomoc aby wydrukować listę wszystkich słów kluczowych z a
krótkie wyjaśnienie każdego z nich. Jeśli podstęp jest pominięty, -f95 odpowiada -f95=wszystko,
-nof95 odpowiada -f95=brak. Słowa kluczowe ostrzegawcze wraz z ich znaczeniem to:
Następuje.

prawdziwe:
Zmienna DO dowolnego rzeczywistego typu liczbowego.

pauza:
Instrukcja PAUZA.

przydzielać:
Instrukcja ASSIGN, przypisany GOTO lub przypisany format.

h-edycja:
Deskryptor edycji H w formacie.

Istnieje jeszcze jedna funkcja składni języka Fortran 77, która została usunięta w języku Fortran 95, a mianowicie
rozgałęzienie do ENDIF spoza bloku IF. Jednakże, ftnczek nie jest w stanie
analizuje przebieg programu i dlatego nie wyświetla ostrzeżenia.

Zobacz także: -f77, -f90, -ruchliwość, -ładny, -Style, -rozmiar słowa.

-Pomoc
Drukuje listę wszystkich opcji wiersza poleceń z krótkim opisem każdej z nich
wraz z jego wartością domyślną. Polecenie to ma taką samą funkcję jak polecenie ``?''
argument i jest dostarczany dla wygody dla tych systemów, w których pytanie
mark ma specjalne znaczenie dla interpretera poleceń. Wartość domyślna = nie.

Lista pomocy wyświetla także numer wersji i poziom poprawki ftnczek oraz
Informacja o prawach autorskich.

Uwaga: wartości „domyślne” wydrukowane w nawiasach kwadratowych na liście pomocy to:
ściśle mówiąc, nie wbudowane wartości domyślne, ale bieżące wartości po dowolnych
opcje środowiska i wszelkie opcje wiersza poleceń poprzedzające -Pomoc opcja ma
zostało przetworzone.

Zobacz także: -nowicjusz, -wersja, pomoc opcja wszystkich ustawień, które pobierają listę
słowa kluczowe.

-znaki-identyfikatora=podstęp
Zdefiniuj znaki inne niż alfanumeryczne, które mogą być używane w identyfikatorach. Domyślnie,
ftnczek akceptuje tylko znak dolara i podkreślenie jako znaki inne niż alfanumeryczne
w nazwach identyfikatorów. Postacie w podstęp zastąp dowolny zestaw zaakceptowanych
znaki inne niż alfanumeryczne obowiązywały wcześniej. Zatem, jeśli znak dolara lub
podkreślenia nie są uwzględnione na liście, tracą status akceptowalnych
postacie.

Opcja ta umożliwia włączenie ftnczek do obsługi plików źródłowych zawierających nie-
standardowe nazwy identyfikacyjne, które mogą być potrzebne na przykład w celu uzyskania dostępu do niektórych
usługi systemu operacyjnego. Zobacz sekcję dotyczącą ograniczeń i rozszerzeń dla
traktowanie identyfikatorów zawierających te znaki przy pisaniu niejawnym.

Korzystanie z -noidentifer-znaki wyłącza akceptację znaków innych niż alfanumeryczne
całkowicie.

Zobacz także: -source.

-zawiera=ścieżka
Określa katalog, w którym będą przeszukiwane pliki określone za pomocą instrukcji INCLUDE.
W przeciwieństwie do innych opcji wiersza poleceń, to ustawienie ma charakter kumulatywny; to znaczy, jeśli tak jest
podane więcej niż raz w wierszu poleceń, wszystkie określone w ten sposób katalogi są
umieszczone na liście, które będą przeszukiwane w tej samej kolejności, w jakiej są podane. The
kolejność w jakiej ftnczek szuka pliku, który ma zostać uwzględniony, to: current
informator; katalog określony przez zmienną środowiskową FTNCHEK_INCLUDE, jeśli istnieje;
katalogi określone przez any -zawierać opcje; katalog określony przez
zmienna środowiskowa INCLUDE; i na koniec w standardowym katalogu ogólnosystemowym
(/ Usr / include dla UNIX, SYS$LIBRARY dla VMS i \include dla MSDOS).

Zobacz także: -f77, -source.

-wewnętrzne=podstęp
Kontroluje, czy ftnczek rozpoznaje pewne niestandardowe funkcje wewnętrzne jako
wewnętrzny. The podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Niektóre z
słowa kluczowe kontrolują, czy rozpoznawać określone grupy funkcji i inne
słowa kluczowe kontrolują oczekiwaną składnię wywoływania niektórych niestandardowych elementów wewnętrznych.
Dołącz słowo kluczowe, aby włączyć rozpoznawanie odpowiedniego zestawu elementów wewnętrznych lub
aby umożliwić odpowiednią składnię. Dołącz słowo kluczowe poprzedzone prefiksem no- wyłączyć
to uznanie.

Istnieją trzy specjalne słowa kluczowe: cała kolekcja włącza rozpoznawanie wszystkich niestandardowych
elementy wewnętrzne (wymienione poniżej) i akceptuje dowolną składnię dla tych, które mają odmiany.
Zastosowanie Żaden aby wyłączyć rozpoznawanie wszystkich niestandardowych elementów wewnętrznych z wyjątkiem tych zaznaczonych
poniżej. Używać pomoc aby wydrukować listę wszystkich słów kluczowych z krótkim objaśnieniem
każdy. Jeśli podstęp jest pominięty, -wewnętrzny odpowiada -wewnętrzne=wszystko,
-niewewnętrzne odpowiada -wewnętrzne=brak.

Niestandardowe funkcje wewnętrzne potrzebne do obsługi niestandardowych rozszerzeń
typy danych o precyzji (podwójna precyzja i poczwórna precyzja) są zawsze rozpoznawane.
Elementy wewnętrzne podwójnego złożonego typu danych to:

CDABS CDSQRT DREAL ZLOG
CDCOS DCMPLX IMAG ZSIN
CDEXP DCONJG ZABS ZSQRT
CDLOG DIMAG ZEXP ZCOS
CDSIN
Istotnymi cechami typów quad Precision i Quad Complex są:

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
Słowa kluczowe kontrolujące rozpoznawanie innych niestandardowych funkcji wewnętrznych to
w sposób następujący:

dodatkowy:
rozpoznaje następujące powszechnie dostępne niestandardowe elementy wewnętrzne (wszystkie z wyjątkiem
EXIT i LOC są zdefiniowane w MIL-STD 1753):

BTEST IBCLR IEOR ISHFTC
WYJDŹ IBITS IOR LOC
IAND IBSET ISHFT NOT

UNIX: rozpoznaje te typowe funkcje wewnętrzne specyficzne dla Uniksa:

PRZERWIJ GMTIME LTIME SRAND
ORAZ IARGC LUB SYSTEM
GETARG IRAND CZAS
GETENV LSHIFT RSHIFT XOR

VMs: rozpoznaje te typowe funkcje wewnętrzne specyficzne dla VMS:

DATA IDATA SEKND CZAS

ERRSNS ROZMIAR WYJŚCIA

iargc-bez-argumentu:
określ, że IARGC można wywołać bez argumentów.

iargc-jeden-argument:
określ, że IARGC można wywołać z jednym argumentem.

Rand-bez-argumentu:
określ, że RAND i IRAND można wywoływać bez argumentów.

Rand-jeden argument:
określ, że RAND i IRAND można wywołać z jednym argumentem.

Połączenia bez argumentu i jeden argument słowa kluczowe działają w następujący sposób: włączenie opcji
Przyczyny ftnczek zaakceptować odpowiednią składnię wywołania funkcji,
nie wykluczając możliwości alternatywnej składni. Przekręcenie opcji
off powoduje, że odpowiednia składnia nie jest akceptowana. Jeśli obie opcje zostaną włączone
włączone od razu (domyślnie), akceptowana jest dowolna składnia. Wyłączenie obu opcji
od razu nie miałoby sensu. Opcje te nie mają żadnego efektu w przypadku rozpoznania
Elementy wewnętrzne Uniksa zostały wyłączone.

Należy pamiętać, że to ustawienie nie wpływa na to, czy wyświetlane są niestandardowe ostrzeżenia
o tych funkcjach. Kontroluje, czy zakłada się, że funkcje są
wewnętrzne czy nie, co określa sposób sprawdzania ich użycia. Kiedy funkcjonuje w
którykolwiek z tych zestawów jest uwzględniony, ich wywołania zostaną sprawdzone zgodnie z
zasady funkcji wewnętrznych; w przeciwnym razie zostaną one sprawdzone w normalny sposób (użytkownik-
zapisane) funkcje zewnętrzne. Ostrzeżenia niestandardowe są kontrolowane przez
-f77=wewnętrzne opcja.

Domyślna wartość tego ustawienia jest równoważna -wewnętrzne=wszystko następnie
-intrinsic=brak-vms dla wersji uniksowej, -intrinsic=brak-unixa dla wersji VMS oraz
-intrinsic=brak-unix, brak-vms dla innych wersji.

Uwaga: w wersjach ftnczek przed 2.10, -wewnętrzny flaga przyjęła cyfrę
argument zamiast listy opcji. Ze względu na użytkowników, którzy mogli pisać
wywoływanie skryptów ftnczek w ten sposób forma liczbowa jest nadal akceptowana. The
numeryczna postać ustawienia składa się z trzech cyfr. Cyfra jedności wybiera
zestaw wewnętrznych funkcji, które mają być obsługiwane. Cyfra 0 wybiera tylko Fortran 77
standardowe elementy wewnętrzne plus te potrzebne do obsługi niestandardowej zwiększonej precyzji
typy danych. Cyfra 1 jest równoważna dodatkowy, 2 jest równoważne ekstra, uniksowe,
3 jest równoważne ekstra, vms. Cyfra dziesiątek tego ustawienia steruje składnią
wewnętrznej funkcji RAND, a cyfra setek kontroluje składnię
Funkcja IARGC. Dla tych cyfr określ 0, aby wymagać wywołania z numerem
argument, 1, aby wymagać jednego argumentu, i 2, aby zezwolić na dowolną formę.

Zobacz także: -f77.

-biblioteka
Ten przełącznik jest używany, gdy w pliku znajduje się wiele podprogramów, ale ich nie ma
wszystkie są używane przez aplikację. Zwykle ftnczek ostrzega Cię, jeśli taki istnieje
podprogramy są zdefiniowane, ale nigdy nie są używane. Ten przełącznik zniesie te ostrzeżenia.
Wartość domyślna = nie.

Przełącznik ten kontroluje również, jakie są wywołania podprogramów i deklaracje bloków COMMON
sprawdzony. Jeśli plik jest odczytywany z rozszerzeniem -biblioteka flaga jest aktywna, podprogram wywołuje
oraz deklaracje COMMON zawarte w procedurze w tym pliku zostaną sprawdzone tylko wtedy, gdy
procedura ta znajduje się w drzewie wywołań programu głównego. Z drugiej strony, jeśli
-biblioteka przełącznik jest wówczas wyłączony ftnczek sprawdza wywołania każdej procedury według
każdą inną rutynę, niezależnie od tego, czy te procedury kiedykolwiek mogłyby faktycznie istnieć
wywoływane w czasie wykonywania i podobnie porównywane są wszystkie deklaracje bloków COMMON
umowa.

Różnica między tym przełącznikiem a -usage=no-ext-nieużywane opcja
podprogramów polega na tym, że ten ostatni pomija jedynie ostrzeżenie o istnieniu procedur
zadeklarowany, ale nie używany. The -biblioteka przełącznik idzie dalej i wyklucza nieużywane
procedury przetwarzane w czasie ich obowiązywania na podstawie wszystkich krzyżowych kontroli argumentów i
WSPÓLNE deklaracje blokowe również.

(Jeśli w zestawie plików nie ma żadnego programu głównego, to ftnczek przeczytał, więc
że w takim razie nie ma drzewa wywołań ftnczek będzie szukać wszelkich procedur niebibliotecznych
które nie są wywoływane przez żadną inną procedurę i używaj ich jako substytutów funkcji main
program w konstruowaniu drzewa wywołań i podejmowaniu decyzji, co sprawdzić. Jeśli nie ma takiego top-
zostaną znalezione procedury niebiblioteczne na poziomie, wówczas wszystkie wywołania między modułami i wszystkie WSPÓLNE
zgłoszenia zostaną sprawdzone.)

Zobacz także: -argumenty, -drzewo połączeń, -wspólny, -zewnętrzny, -stosowanie.

-lista
Określa, że ​​lista programu Fortran ma być drukowana z linią
liczby. Jeśli ftnczek wykryje błąd, komunikat o błędzie następuje po linii programu
z daszkiem ( ^ ) określającym lokalizację błędu. Jeśli nie było listy źródeł
wymagany, ftnczek nadal wypisze każdą linię zawierającą błąd, aby pomóc
użytkownika w ustaleniu, gdzie wystąpił błąd. Wartość domyślna = nie.

Zobacz także: -wyjście, \fB-symtab, fB-cicho.

-madecls=podstęp
Przygotuj starannie sformatowany plik deklaracji zmiennych, wspólnych bloków i
listy nazw, w celu ewentualnego włączenia ich do kodu źródłowego. Deklaracje są
przechowywany w pliku o tej samej nazwie co kod źródłowy, ale z rozszerzeniem
zmienić na .dcl. Jeśli do pliku nie zostaną zapisane żadne deklaracje, zostanie on do niego usunięty
zmniejsz bałagan z pustych plików.

Jeśli dane wejściowe pochodzą ze standardowego wejścia, a nie z nazwanego pliku, wówczas deklaracje są
zapisywane na standardowe wyjście.

Zmienne deklaruje się w kolejności alfabetycznej w ramach każdej klasy deklaracji
typu, najpierw ze zmiennymi całkowitymi, ze względu na możliwość ich późniejszego użycia w tablicy
wymiary

Instrukcje PARAMETER stanowią wyjątek od reguły kolejności alfabetycznej, ponieważ
Standard Fortran 77 wymaga, aby wyrażenia definiujące wartości parametrów odnosiły się
tylko do stałych i już zdefiniowanych nazw parametrów. To wymusza oryginał
kolejność pliku źródłowego takich zestawień, jaka ma być zachowana w plikach deklaracji.

Wyraźne oświadczenie cała kolekcja zmienne są uważane za dobre, nowoczesne programowanie
ćwiczyć. Używając opcji kompilatora do odrzucania niezadeklarowanych zmiennych, błędnie napisane
nazwy zmiennych (lub nazwy wykraczające poza kolumnę 72) można przechwycić w czasie kompilacji.
Jawne deklaracje również znacznie ułatwiają zmianę precyzji zmiennoprzecinkowej
z filtrami np dtoq(1L), dto(1L), fd2s(1L), fs2d(1L), cyt(1L) i
stać(1L). Programy te potrafią zmieniać typy jawnych liczb zmiennoprzecinkowych
deklaracje typów, funkcje wewnętrzne i stałe, ale dlatego, że tak nie jest
przeprowadzić rygorystyczną analizę leksykalną i gramatyczną kodu źródłowego Fortranu,
nie mogą dostarczać deklaracji zmodyfikowanego typu dla niezadeklarowanych zmiennych. Domyślny
ustawienie = 0, włączenie = 1.

Różnymi opcjami formy pliku deklaracji steruje plik podstęp,
który składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Są trzy specjalne
słowa kluczowe: cała kolekcja aby włączyć wszystkie opcje, Żaden aby je wszystkie wyłączyć i pomoc do
wydrukuj listę wszystkich słów kluczowych z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp is
pominięty, -wykonane odpowiada -madecls=deklaracje (tzn. wyprodukuj
plik deklaracji przy użyciu opcji domyślnych) oraz -nomakowanecls odpowiada
-madecls=brak.

Aby zapewnić kompatybilność z poprzednimi wersjami ftnczek, numeryczna forma tego ustawienia
jest również akceptowane: podstęp zastępuje się liczbą będącą sumą liczb
w nawiasach obok słów kluczowych na poniższej liście. Słowa kluczowe ostrzegawcze
z ich znaczeniem są następujące:

Oświadczenia (1):
Napisz plik deklaracji. (Jest to implikowane przez którąkolwiek z pozostałych opcji oraz
można pominąć, jeśli podano inne opcje.)

tylko niezadeklarowane (2):
Domyślnie wszystkie zmienne są zawarte w pliku deklaracji. Z tym
opcja, uwzględnij tylko niezgłoszony zmienne. To ustawienie jest przydatne, jeśli
chcę sprawdzić niezadeklarowane zmienne, ponieważ pliki źródłowe Fortran zawierają wszystkie
zmienne prawidłowo zadeklarowane nie spowodują a .dcl plik. Z tym
opcja, wspólne bloki i listy nazw nie będą uwzględnione w pliku
pliku deklaracji, ponieważ ze swej natury nie mogą zostać niezgłoszone.

kompaktowy (4):
Deklaracje są zwykle ładnie wydrukowane, aby ładnie się układały
kolumny, jak w plikach deklaracji wyprowadzanych przez Rozszerzony Weryfikator PFORT,
wysiłek(1L). Ta wartość opcji wybiera zamiast tego wyjście kompaktowe, bez kolumny
wyrównanie.

linie-kontynuacji użycia (8):
Powoduje użycie linii kontynuacji tam, gdzie jest to dozwolone. Wartość domyślna to
rozpocznij nową deklarację w każdym wierszu. Ta opcja jest odpowiednia do użycia
Wraz z kompaktowy.

słowa kluczowe-małe litery (16):
Wypisz słowa kluczowe w języku Fortran małymi literami zamiast domyślnych wielkich liter.

vars-i-consts-małe litery (32):
Zmienne wyjściowe i stałe pisane małymi literami, zamiast wartości domyślnych
duże litery. Ta opcja nie ma wpływu na stałe ciągu znaków.

wyklucz-sftran3 (64):
Pomiń deklaracje wewnętrznych zmiennych całkowitych generowanych przez SFTRAN3
preprocesor, xsf3(1L), jako część tłumaczenia ustrukturyzowanego Fortranu
oświadczenia zwykłemu Fortranowi. Zmienne te mają sześcioznakowe nazwy
formularz NPRddd, NXdddd, N2dddd, N3dddd, Gdzie d jest cyfrą dziesiętną.
Ponieważ są one niewidoczne w kodzie źródłowym SFTRAN3 i ulegną zmianie, jeśli
Kod SFTRAN3 jest modyfikowany, takich zmiennych nie należy jawnie deklarować.
Zamiast tego powinni po prostu założyć domyślny typ danych Fortran INTEGER
w ich pierwszym liście, N.

gwiazdka-komentarz (128):
Użyj gwiazdki jako znaku komentarza; w przeciwnym razie wartość domyślna to „C”.

komentarz-znak-małe litery (256):
Jako znaku komentarza użyj „c” zamiast „C” lub „*”.

pomijanie wymiarów-tablicy (512):
Pomiń wymiarowanie tablic w wygenerowanych deklaracjach. Ta opcja
jest przeznaczony do użycia z kodem pozbawionym deklaracji typu, aby umożliwić deklarację
pliki, które należy wstawić bez zmiany kodu. Ponieważ kod będzie miał
już instrukcje wymiarowania, wymiarując zmienne tablicowe w typie
wyciągi z pliku deklaracji są zbędne. Należy skorzystać z tej opcji
tylko w połączeniu z opcją 2 = tylko niezadeklarowane, ponieważ w przeciwnym razie dowolne
tablice, które zostały zwymiarowane w instrukcji typu, stracą swoje
wymiarowanie.

free-form (1024):
Twórz deklaracje w formie darmowego źródła. Ten tryb jest automatycznie używany, jeśli
źródło wejściowe ma dowolną formę. Użyj tej opcji, aby utworzyć deklaracje w formacie
w dowolnej formie, nawet jeśli dane wejściowe mają stałą formę. Deklaracje w dowolnej formie są
wcięto tylko 2 kolumny zamiast 6, użyj wykrzyknika jako komentarza
znak i oznacz linie kontynuacji ampersandem na końcu
linia do kontynuacji.

Pliki deklaracji zawierają charakterystyczne komentarze oznaczające początek i koniec
deklaracje dla każdej jednostki programu, ułatwiające korzystanie z makr edytora tekstu
scalanie deklaracji z powrotem do kodu źródłowego.

Połączenia ftnczek dystrybucja obejmuje program, dcl2inc, który przetwarza deklarację
pliki, aby wygenerować pliki zawierające deklaracje wszystkich bloków COMMON w formie
nadaje się do użycia jako pliki INCLUDE. Zobacz dcl2inc(1L) strona podręcznika zawierająca szczegółowe informacje
jego użycie.

Zobacz także: -mkhtml.

-mkhtml=podstęp
Twórz dokumentację HTML ze źródła. Tworzy indywidualne pliki HTML z ftnchek
analizy i komentarze do kodu. Wszystkie komentarze bezpośrednio poprzedzające i następujące po
definicja funkcji lub podprogramu jest przechwytywana do pliku HTML. Żadnego formatowania
komentarze źródłowe są wykonywane w inny sposób niż usuwanie znaków komentarza FORTRAN.
Dodatkowo plik HTML zawiera listę zadeklarowanych zmiennych lokalnych, wspólny blok
używane zmienne, wywoływane funkcje i podprogramy, wykorzystanie jednostek we/wy i inne
informacje o każdym podprogramie. Zwykle będziesz także chciał określić
-call=drzewo aby utworzyć główny plik HTML CallTree.html. (Być może ten plik powinien
nosić nazwę Index.html.)

Różne opcje formy plików HTML są kontrolowane przez podstęp, który
składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Są trzy specjalne
słowa kluczowe: cała kolekcja aby włączyć wszystkie opcje, Żaden aby je wszystkie wyłączyć i pomoc do
wydrukuj listę wszystkich słów kluczowych z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp is
pominięty, -mkhtml odpowiada -mkhtml=dokumenty (tzn. utwórz dokument HTML
pliki przy użyciu opcji domyślnych) i -nomkhtmls odpowiada -mkhtml=brak.

Dla uproszczenia opcje dla -mkhtml są takie same jak te dla
-wykonane z wyjątkiem tych, które nie mają zastosowania. Podobnie forma liczbowa
można zastosować to ustawienie, utworzone jako suma liczb w nawiasach w
Lista poniżej. Słowa kluczowe ostrzeżenia wraz z ich znaczeniem są następujące:

dokumenty (1):
Utwórz dokumenty HTML. (Jest to implikowane przez którąkolwiek z pozostałych opcji oraz
można pominąć, jeśli podano inne opcje.)

kompaktowy (4):
Deklaracje są zwykle ładnie wydrukowane, aby ładnie się układały
kolumny. Ta wartość opcji wybiera zamiast tego wyjście kompaktowe, bez kolumny
wyrównanie.

linie-kontynuacji użycia (8):
Powoduje użycie linii kontynuacji zamiast rozpoczynania nowej deklaracji
na każdej linii. Ta opcja jest odpowiednia do użycia razem z kompaktowy.

słowa kluczowe-małe litery (16):
Wypisz słowa kluczowe w języku Fortran małymi literami zamiast domyślnych wielkich liter.

vars-i-consts-małe litery (32):
Zmienne wyjściowe i stałe pisane małymi literami, zamiast wartości domyślnych
duże litery. Ta opcja nie ma wpływu na stałe ciągu znaków.

wyklucz-sftran3 (64):
Pomiń deklaracje wewnętrznych zmiennych całkowitych generowanych przez SFTRAN3
preprocesor, xsf3(1L). (Widzieć -wykonane do dyskusji.)

pomijanie wymiarów-tablicy (512):
Pomiń wymiarowanie tablic w wygenerowanych deklaracjach. To jest
zwykle niepożądane, ale jest dostępne, jeśli z jakiegoś powodu nie chcesz
wymiary tablicy, które mają być wyświetlane w kodzie HTML.

free-form (1024):
Twórz deklaracje zmiennych w formie darmowego źródła. Ten tryb jest
automatycznie używane, jeśli źródło wejściowe jest w dowolnej formie. Dotyczy to głównie
formie linii kontynuacji, jeśli są używane.

Zobacz także: -drzewo połączeń, -wykonane.

-nowicjusz
Ta flaga ma na celu zapewnienie bardziej przydatnych wyników dla początkujących. Ma dwa
efekty:

(a) zapewnia dodatkowy komunikat informujący, że funkcja jest używana, ale nie
zdefiniowana gdziekolwiek może być tablicą, o której użytkownik zapomniał zadeklarować w pliku a
Instrukcja DIMENSION (ponieważ składnia odwołania do tablicy jest taka sama
odniesienia do funkcji).

b) modyfikuje formę komunikatów o błędach i ostrzeżeń. Jeśli flaga zostanie obrócona
off przez -nowicjusz, komunikaty te są drukowane w stylu bardziej przypominającym UNIX
szarpie.

Domyślnie = tak.

-wyjście=filename
To ustawienie jest zapewnione dla wygody w systemach, które nie pozwalają na łatwe
przekierowanie wyjścia z programów. Gdy podane jest to ustawienie, wyjście, które
zwykle pojawia się na ekranie, zostanie zamiast tego przesłany do nazwanego pliku. Notatka,
jednak błędy operacyjne ftnczek sam (np. poza miejscem lub nie może
otwarty plik) będą nadal wysyłane na ekran. Rozszerzenie nazwy pliku to
opcjonalne, a jeśli nie podano rozszerzenia, rozszerzenie Lis będzie użyty.

-wskaźnik=num
Określa rozmiar zmiennej ``wskaźnika Cray'' num bajty. Domyślnie = obróć-
on = 4 bajty.

Rozmiar wskaźnika służy do informowania o ostrzeżeniach o niedopasowaniu precyzji w odniesieniu do wskaźnika
zmienne, na przykład gdy wskaźnikowi przypisano wartość z alokacji
procedurę lub przekazywany jako parametr podprogramu.

Zobacz także: -f77, -ruchliwość, -obcięcie, -rozmiar słowa.

-przenośność=podstęp
ftnczek wyświetli ostrzeżenia dotyczące różnych zastosowań nieprzenośnych. Przykłady obejmują
użycie tabulatorów z wyjątkiem komentarzy lub ciągów wewnętrznych, użycie Holleritha
stałe i równoważność zmiennych różnych typów danych. Ta opcja
nie generuje ostrzeżeń o obsługiwanych rozszerzeniach standardu Fortran 77,
co może również powodować problemy z przenoszeniem. Aby je złapać, użyj -f77 ustawienie.
Domyślnie wszystkie ostrzeżenia są wyłączone.

To ustawienie zapewnia szczegółową kontrolę nad ostrzeżeniami dotyczącymi możliwej przenośności
problemy. Plik podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Tam są
trzy specjalne słowa kluczowe: cała kolekcja włączyć wszystkie ostrzeżenia o zastosowaniach nieprzenośnych,
Żaden aby je wszystkie wyłączyć i pomoc aby wydrukować listę wszystkich słów kluczowych z a
krótkie wyjaśnienie każdego z nich. Jeśli podstęp jest pominięty, -ruchliwość odpowiada
-przenośność=wszystko, -nieprzenośność odpowiada -przenośność=brak,
słowa kluczowe ostrzegawcze wraz z ich znaczeniem są następujące:

ukośnik wsteczny:
Znak ukośnika odwrotnego w ciągach znaków. Ponieważ niektóre kompilatory traktują ukośnik odwrotny jako
znak ucieczki, jego obecność może powodować problemy, nawet jeśli jest używana
w sposób zgodny ze standardami.

wspólne wyrównanie:
WSPÓLNE zmienne blokowe nie są uporządkowane malejąco według rozmiaru pamięci. Niektóre
kompilatory wymagają tej kolejności ze względu na wymagania dotyczące wyrównania pamięci.

Hollerith:
Stałe Holleritha (inne niż zawarte w specyfikacjach FORMAT). Holleritha
typ danych to funkcja Fortran IV, która została usunięta w Fortran 77
standard. Jest on zastępowany przez znakowy typ danych. Przechowywanie Holleritha
dane w zmiennych o numerycznym lub logicznym typie danych są nieprzenośne z powodu
różne rozmiary słów.

długi sznurek:
Ciągi stałe, zmienne lub wyrażenia o długości przekraczającej 255 znaków.

równoważność mieszana:
Zmienne różnych typów danych są równoważne.

mieszany rozmiar:
Zmienne zadeklarowane z domyślną precyzją używane ze zmiennymi jawnie podanymi
precyzję, w wyrażeniach, przypisaniach lub jako argumenty. Na przykład, jeśli A
zmienna zadeklarowana jako REAL*8 traktowana jest jako równoważna PODWÓJNEJ PRECYZJI.

prawdziwe:
Indeks i granice pętli DO niecałkowitej. Mogą one powodować zmianę wyników programu
zależą od właściwości sprzętowych konkretnego używanego komputera.

typ-implicit-param:
Niejawne wpisanie parametru według typu danych przypisanej wartości, jeśli tak
różni się od typu domyślnego. To ostrzeżenie może wystąpić tylko wtedy, gdy jest ukryte
wpisywanie parametrów zostało włączone przez -source=typ-parametru-implicit
opcji lub jeśli instrukcja PARAMETER ma niestandardową formę bez
zdanie wtrącone. Jeśli ta opcja jest włączona, wszystkie instancje będą ukryte
następuje wpisywanie parametrów i gdy typ niejawny różni się od
domyślny typ oparty na pierwszej literze nazwy parametru, zostanie ostrzeżony
o. Niejawne wpisywanie parametrów może zmienić semantykę instrukcji
gdzie parametr jest używany, powodując problemy z przenośnością.

Zakładka: Zakładki w kodzie źródłowym. Tabulatory są różnie interpretowane przez różnych
kompilatory. To ostrzeżenie zostanie podane tylko raz, na końcu pliku.

Zobacz także: -f77, -f90, -f95, -ładny, -Style, -rozmiar słowa.

-ładny=podstęp
Kontroluje niektóre komunikaty związane z wyglądem kodu źródłowego. Te ostrzegają
o rzeczach, które mogą uczynić program mniej czytelnym lub wprowadzić w błąd czytelnika.
Domyślnie wszystkie ostrzeżenia są włączone.

To ustawienie zapewnia szczegółową kontrolę nad ostrzeżeniami dotyczącymi wyglądu. The
podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Ponieważ wszystkie ostrzeżenia są włączone
domyślnie dołączaj słowo kluczowe poprzedzone przez no- aby wyłączyć określone ostrzeżenie.
Istnieją trzy specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie ostrzeżenia o wprowadzaniu w błąd
wyglądy, Żaden aby je wszystkie wyłączyć i pomoc aby wydrukować listę wszystkich
słowa kluczowe z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp jest pominięty, -ładny is
równoważny -ładne=wszystkie, -nieładny odpowiada -ładny = żaden,
słowa kluczowe ostrzegawcze wraz z ich znaczeniem są następujące:

alternatywny powrót:
Instrukcja RETURN ma stałą określającą alternatywny punkt powrotu
nie mieści się w przedziale od 0 do liczby fikcyjnych argumentów będących etykietami. To jest
legalne i ma taki sam skutek jak ZWROT bez możliwości alternatywnego zwrotu
wyrażenie, ale sugeruje, że programista zamierzał użyć alternatywy
etykieta zwrotna, która nie jest dołączona.

osadzona przestrzeń:
Spacja osadzona w nazwach zmiennych lub w operatorach wieloznakowych, takich jak **.

kontynuacja:
Znak kontynuacji po linii komentarza.

długa linia:
Linie (z wyjątkiem komentarzy) mają szerokość przekraczającą 72 kolumny (zwykle przekraczającą 72 kolumny).
ignorowane przez kompilator).

brakująca przestrzeń:
Brak spacji pomiędzy zmienną a poprzedzającym słowem kluczowym.

wielokrotne wspólne:
Blok COMMON zadeklarowany w wielu instrukcjach. Żadne ostrzeżenie nie jest wyświetlane, jeśli
instrukcje są następujące po sobie, z wyjątkiem linii komentarza.

lista wielokrotna:
NAMELIST zadeklarowana w wielu instrukcjach. Nie jest wyświetlane żadne ostrzeżenie, jeśli
instrukcje są następujące po sobie, z wyjątkiem linii komentarza.

zdanie wtrącone:
Nawiasy wokół samej zmiennej. Jako argument podprogramu, this
sprawia, że ​​argument jest wyrażeniem, którego podprogram nie może modyfikować.

Należy pamiętać, że w formie bezpłatnego źródła dodatkowa i brakująca przestrzeń są zabronione przez
Fortran 90 Standard i nie stanowią jedynie naruszenia stylu. W tym przypadku ostrzeżenia
są zastępowane komunikatami o błędach składniowych i można je wyłączyć jedynie za pomocą
-bez kontroli.

Zobacz także: -f77, -ruchliwość, -Style.

-projekt=podstęp
ftnczek utworzy plik projektu z każdego pliku źródłowego, który zostanie wprowadzony w tym czasie
opcja jest włączona. Plik projektu otrzyma taką samą nazwę jak plik wejściowy
plik, ale z rozszerzeniem .f or .dla zastąpiony przez .prj. (Jeśli dane wejściowe pochodzą z
standardowego wejścia, plik projektu otrzymuje nazwę ftnchek.prj.) Wartość domyślna = brak.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Są trzy
specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie opcje, Żaden aby je wszystkie wyłączyć i
pomoc , aby wydrukować listę wszystkich słów kluczowych z krótkim objaśnieniem każdego z nich. Jeśli
podstęp jest pominięty, -projekt odpowiada -projekt=wszystko, -brak projektu is
równoważny -projekt=brak. Słowa kluczowe wraz z ich znaczeniem są następujące:

Stwórz:
Utwórz plik projektu. Domyślnie nie jest tworzony plik projektu. Jeśli
ta opcja nie jest włączona, pozostałe opcje nie mają żadnego wpływu.

przycinanie połączeń:
Zmniejsz ilość informacji przechowywanych w pliku projektu o podprogramie
deklaracje i wezwania. To jest ustawienie domyślne. Wyłącz tę opcję tylko w
rzadkie sytuacje. (Zobacz dyskusję poniżej.) Ilość przycinania jest różna
w zależności od -biblioteka flaga. Jeśli ta flaga jest obcięta, więcej informacji zostanie przyciętych
włączone.

przycinanie-wspólne:
Obetnij liczbę typowych deklaracji bloków przechowywanych w pliku projektu.
To jest ustawienie domyślne. Wyłącz tę opcję tylko w rzadkich sytuacjach. (Widzieć
omówienie poniżej.) Ta opcja nie ma żadnego efektu, jeśli -biblioteka flaga jest obrócona
wyłączone: gdy nie jest się w trybie biblioteki, przycinanie wspólnych deklaracji bloków nie jest wykonywane
wykonane niezależnie od tej opcji.

Plik projektu zawiera podsumowanie informacji z pliku źródłowego, do wykorzystania w
sprawdzanie zgodności pomiędzy zastosowaniami FUNKCJI, PODPROGRAMÓW i WSPÓLNYCH w innych plikach.
Umożliwia sprawdzanie przyrostowe, co pozwala zaoszczędzić czas, gdy masz duży zestaw
pliki zawierające wspólne podprogramy, z których większość rzadko się zmienia. Możesz biegać
ftnczek raz na każdym pliku z rozszerzeniem -projekt flag set, tworzenie plików projektu.
Zwykle ustawiałbyś także -biblioteka i -brak zewn flagi w tym czasie, do
pomiń komunikaty dotyczące spójności z innymi plikami. Tylko komunikaty o błędach
W tym momencie wydrukowane zostaną informacje odnoszące się do każdego pliku z osobna. Następnie biegnij
ftnczek bez tych flag we wszystkich plikach projektu razem, aby sprawdzić spójność
pomiędzy różnymi plikami. Wszystkie wiadomości wewnętrzne w poszczególnych plikach zostaną teraz przesłane
zostać pominięte. Dopiero po zmianie pliku konieczne będzie utworzenie nowego pliku projektu
dla tego.

Naturalnie, gdy -projekt opcja jest włączona, ftnczek nie przeczyta projektu
pliki jako dane wejściowe.

Zwykle opcje przycinania powinny pozostać włączone, gdy zamierzasz utworzyć projekt
pliki do przyszłego wprowadzenia ftnczek. Oznacza to, że przycinanie jest domyślnie włączone
to po prostu wydanie polecenia -projekt bez listy opcji jest zalecana
tryb. Opcje wykończenia są dostępne tylko dla wygody tych, którzy chcą
używać plików projektu do celów innych niż sprawdzanie programu
ftnczek. Aby móc używać plików projektu zgodnie z ich przeznaczeniem, należy wybrać opcje przycinania
nie zostać wyłączony.

Pliki projektu zawierają jedynie informacje potrzebne do sprawdzenia zgodności pomiędzy plikami.
Oznacza to, że plik projektu jest bezużyteczny, jeśli wszystkie moduły kompletnego programu
są zawarte w jednym pliku.

Bardziej szczegółowe omówienie znajduje się w sekcji Korzystanie z plików projektu.

-czysty
Załóżmy, że funkcje są „czyste”, tj. modyfikacje nie będą miały skutków ubocznych
ich argumenty lub zmienne w bloku COMMON. Kiedy ta flaga jest aktywna,
ftnczek oprze swoje określenie ustawionego i użytego statusu rzeczywistych argumentów
przy założeniu, że argumenty przekazywane do funkcji nie ulegają zmianie. To będzie
generuje również ostrzeżenie, jeśli okaże się, że funkcja modyfikuje którykolwiek ze swoich argumentów
WSPÓLNE zmienne. Domyślnie = tak.

Gdy ta flaga jest wyłączona, obsługiwane będą rzeczywiste argumenty przekazywane do funkcji
w taki sam sposób, jak rzeczywiste argumenty przekazywane do podprogramów. To znaczy że ftnczek
założy, że argumenty mogą być modyfikowane przez funkcje. Nie będzie żadnych ostrzeżeń
podana, jeśli okaże się, że funkcja ma skutki uboczne. Ponieważ jest bardziej rygorystyczne sprawdzanie
możliwe, jeśli zakłada się, że funkcje są czyste, należy wyłączyć tę flagę tylko wtedy, gdy
twój program faktycznie używa funkcji z efektami ubocznymi.

-cichy
Ta opcja zmniejsza ilość danych wyjściowych związaną z normalną pracą, tak że
komunikaty o błędach są bardziej widoczne. Ta opcja jest dostępna dla wygody
użytkowników sprawdzających duże zestawy plików. Wyeliminowane dane wyjściowe obejmują
nazwy plików projektu oraz komunikat informujący, że nie znaleziono błędów składniowych.
Eliminuje także niektóre puste linie, które zwykle są umieszczane dla przejrzystości. (Niektóre
tego wyjścia jest ponownie włączane przez -lista i -symtab opcje.) Domyślnie = nie.

Uwaga: sposób na zapamiętanie różnicy między -cichy i -krótki jest to, że
-cichy nie pomija żadnych informacji związanych z ostrzeżeniami, natomiast -krótki robi.

Zobacz także: -krótki.

-odniesienie
Określa, że ​​ma zostać wydrukowana tabela „kto-dzwoni-kto”. W tabeli tej wyszczególniono każdy podprogram
po którym następuje lista procedur, które wywołuje. Ten przełącznik jest odpowiednikiem
-calltree=odniesienie. Wartość domyślna = nie.

Lista referencyjna pomija procedury wywoływane przez nieużywane moduły biblioteczne. W ten sposób
zawiera te same informacje, co w przypadku formatu drzewa wywołań, a mianowicie hierarchię
wywołania podprogramów, ale drukowane w inny sposób. Spowoduje to wydrukowanie wszerz
przechodzenie przez drzewo wywołań, podczas gdy -calltree=drzewo drukuje najpierw w głąb
przechodzenie.

Zobacz także: -drzewo połączeń, -odnośnik, -biblioteka, -sortować, -symtab, -vcg.

-zasoby
Drukuje ilość zasobów wykorzystanych przez ftnczek w przetwarzaniu programu. Ten
lista może być przydatna przy analizie rozmiaru i złożoności programu. To może
pomogę także w doborze większych rozmiarów ftnczekwewnętrzne tabele, jeśli one też są
small do analizy konkretnego programu. Wartość domyślna = nie.

W tym zestawieniu termin „rozmiar porcji” oznacza rozmiar bloków pamięci
przeznaczone do przechowywania danego towaru, w jednostkach o wielkości jednego artykułu, nie
koniecznie w bajtach. Gdy początkowo przydzielona przestrzeń zostanie zapełniona, pojawi się więcej pamięci
jest rozdzielany w kawałkach o tej wielkości. Poniżej znajduje się wyjaśnienie elementów
wydrukowano:

Źródło linie obrobiony:
Całkowita liczba linii kodu, z oddzielnymi sumami dla linii instrukcji i
linie komentarzy. Linie komentarza obejmują także linie oznaczone „C” lub „*” w kolumnie 1
jako puste linie i linie zawierające tylko komentarz wbudowany. Linie wypowiedzi
to wszystkie inne linie, łącznie z liniami, które mają wbudowany komentarz po niektórych
kod. Linie kontynuacyjne liczone są jako osobne linie. Linie w zestawie
pliki są zliczane za każdym razem, gdy plik jest dołączany.

Kwota produktów: plik wykonywalny sprawozdania:
Liczba instrukcji w programie, innych niż specyfikacja, dane, instrukcja-
instrukcje funkcyjne, FORMAT, ENTRY i END.

Kwota produktów: numer of moduły:
Modułem jest dowolny podprogram zewnętrzny, obejmujący program główny, podprogramy,
funkcje i blokowe jednostki danych. Ta liczba dotyczy modułów zdefiniowanych w pliku
źródło, a nie moduły, do których się odwołuje. Funkcje instrukcji nie są uwzględnione. A
podprogram z wieloma punktami wejścia jest liczony tylko raz.

Kwota produktów: oświadczenie Etykiety zdefiniowane
Liczba etykiet dołączonych do wyciągów (często nazywanych numerami wyciągów). The
podana jest całkowita liczba etykiet dla całego programu, a także maksymalna
numer w dowolnym pojedynczym podprogramie.

Max identyfikator Nazwa znaki:
Liczba znaków używana do przechowywania nazw identyfikatorów. Identyfikator to
zmienna, podprogram lub wspólna nazwa bloku. Nazwy lokalne są nazwami lokalnymi
zmienne w podprogramie, natomiast nazwy globalne odnoszą się do podprogramu i wspólnego
nazwy bloków, a także fikcyjne nazwy argumentów i popularne nazwy zmiennych. Rzeczywisty
tekst argumentu (do 15 znaków dla każdego argumentu) jest również zawarty w tym miejscu.
Miejsce używane na nazwy lokalne nie jest odzyskiwane na końcu każdego modułu, tzw
liczba ta, podobnie jak przestrzeń globalna, rośnie, dopóki nie zostanie przeanalizowany cały program.
Niestety, liczba ta może zawierać tekst zapisany więcej niż jeden raz,
chociaż stosowana jest heurystyka, która w wielu przypadkach pozwoli uniknąć duplikatów.

Max żeton XNUMX znaki:
Token to najmniejsza jednostka syntaktyczna języka FORTRAN powyżej poziomu
poszczególnych postaci. Na przykład token może być nazwą zmiennej, a
stała numeryczna, ciąg tekstowy w cudzysłowie lub znak interpunkcyjny. Znak
tekst jest przechowywany podczas przetwarzania modułu. Ze względów technicznych,
żetony jednoznakowe nie są wliczane do tej sumy. Przedmioty, których nie ma
przedstawione w tabeli symboli mogą być powielane. Miejsce na tekst tokenu to
odzyskiwane na końcu każdego modułu, zatem liczba ta reprezentuje maksimum dla
dowolny moduł.

Max miejscowy symbolika:
Jest to największa liczba wpisów w lokalnej tablicy symboli dla dowolnego modułu.
Wpisy w lokalnej tablicy symboli obejmują wszystkie zmienne i parametry, wspólny blok
nazwy, funkcje instrukcji, podprogramy zewnętrzne i funkcje wewnętrzne
do którego odwołuje się moduł. Stałe dosłowne nie są przechowywane w symbolu lokalnym
tabela.

Max światowy symbolika:
Jest to liczba wpisów w globalnej tablicy symboli na końcu
przetwarzanie. Wpisy w globalnej tablicy symboli obejmują podprogram zewnętrzny i wspólny
nazwy bloków. Funkcje wewnętrzne i funkcje instrukcji nie są uwzględnione.

Max numer of listy tokenów:
Lista tokenów to sekwencja tokenów reprezentujących rzeczywisty lub fikcyjny argument
lista podprogramu lub lista zmiennych we wspólnym bloku lub liście nazw.
Dlatego ta liczba reprezentuje największą sumę COMMON, CALL, NAMELIST i
Instrukcje ENTRY i wywołania funkcji dla dowolnego modułu. Przestrzeń jest
odzyskane na końcu każdego modułu.

Max żeton lista/drzewo przestrzeń:
Jest to największa liczba tokenów na wszystkich listach tokenów i drzewach tokenów
dowolny moduł. Podczas analizy wyrażenia tworzone jest drzewo symboli: każde
operand jest liściem drzewa, a operatory są węzłami. Dlatego to
liczba jest miarą maksymalnej złożoności pojedynczego modułu. Dla
przykład moduł z wieloma długimi wyrażeniami arytmetycznymi będzie miał wysoki poziom
numer. Należy pamiętać, że w przeciwieństwie do tekstu tokena opisanego powyżej, liczba tokenów wynosi
niezależnie od długości nazw zmiennych lub stałych literałów w pliku
wyrażenia.

Numer of podprogram modły:
Jest to suma wszystkich modułów liczby instrukcji CALL i funkcji
wywołania (z wyjątkiem funkcji wewnętrznych i funkcji instrukcji).

Numer of pospolity blok stwierdza:
Jest to suma wszystkich modułów liczby wspólnych deklaracji blokowych.
Oznacza to, że liczona jest każda deklaracja bloku w innym module
osobno. (Standard pozwala na wielokrotne deklaracje bloku w pliku
ten sam moduł; są one liczone jako tylko jedna deklaracja, ponieważ są
odpowiednik pojedynczej długiej deklaracji.)

Numer of szyk przyciemniony & moje pieniądze ptr:
Jest to suma wszystkich modułów liczby wymiarów i parametrów tablicy
ciągi tekstowe definicji zapisane do użytku przez -wykonane opcja. Długość
ciągi tekstowe nie są liczone. Każdy wymiar tablicy wielowymiarowej jest
liczone osobno.

Liczby te oczywiście nie są takie same, gdy zamiast plików projektu używane są pliki projektu
oryginalny kod źródłowy. Nawet liczby dla podmiotów globalnych mogą się różnić,
ponieważ niektóre zbędne informacje są eliminowane w plikach projektu.

-sześć char
Jeden z celów ftnczek Program ma pomóc użytkownikom w pisaniu przenośnego języka Fortran
programy. Jednym z potencjalnych źródeł nieprzenośności jest użycie nazw zmiennych, które
są dłuższe niż sześć znaków. Niektóre kompilatory po prostu ignorują dodatkowe znaki.
Takie zachowanie może potencjalnie prowadzić do uznania dwóch różnych zmiennych za
ten sam. Na przykład zmienne o nazwach AVERAGECOST i AVERAGEPRICE są takie same
w pierwszych sześciu znakach. Jeśli chcesz wyłapać takie możliwe konflikty, użyj
tę flagę. Wartość domyślna = nie.

Użyj -f77=długie nazwy jeśli chcesz dodać listę cała kolekcja zmienne dłuższe niż sześć
znaków, a nie tylko te pary, które są takie same w pierwszych sześciu.

Zobacz także: -f77, -ruchliwość.

-sortować
Określa, że ​​ma zostać wydrukowana posortowana lista wszystkich modułów używanych w programie. Ten
lista jest w kolejności „wymaganej”, tj. każdy moduł jest drukowany dopiero po wszystkich
moduły, z których jest wywoływany, zostały wydrukowane. Nazywa się to również
„sortowanie topologiczne” drzewa wywołań. Każdy moduł jest wymieniony tylko raz. Procedury
które nie znajdują się w drzewie wywołań programu głównego są pomijane. Jeśli znajdują się jakiekolwiek
cykle na wykresie wywołań (nielegalne w standardowym Fortranie) zostaną wykryte i
zdiagnozowany. Wartość domyślna = nie.

Zobacz także: -drzewo połączeń, -odnośnik, -odniesienie, -symtab, -vcg.

-źródło=podstęp
To ustawienie kontroluje pewne opcje dotyczące formy kodu źródłowego Fortran.
Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Są trzy
specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie opcje, Żaden aby je wszystkie wyłączyć i
pomoc , aby wydrukować listę wszystkich słów kluczowych z krótkim objaśnieniem każdego z nich. Jeśli
podstęp jest pominięty, -source odpowiada -źródło=wszystko, -brak źródła jest równoważne
do -źródło=brak.

Aby zapewnić kompatybilność z poprzednimi wersjami ftnczek, numeryczna forma tego ustawienia
jest również akceptowane: podstęp zastępuje się liczbą będącą sumą liczb
w nawiasach obok słów kluczowych na poniższej liście. (T ustalony i za darmo
Opcje nie mają wartości liczbowych.) Słowa kluczowe ostrzegawcze wraz z ich znaczeniem to:
w sposób następujący:

ustalony:
Interpretuj źródło jako ustaloną formę (z obsługiwanymi rozszerzeniami, takimi jak
wykrzyknik w komentarzu). Wyciągi muszą znajdować się w kolumnach od 7 do 72
(dopóki -kolumny ustawienie zostało użyte, aby to zmienić), a spacje nie są
znaczący zewnętrzny kontekst postaci (ale ostrzegany pod -ładny
opcja). Jest to tryb domyślny, chyba że rozszerzenie pliku źródłowego jest takie f90
or .F90. tej opcji nie można podawać razem z -źródło=bezpłatne.

za darmo: Interpretuj źródło w dowolnej formie. Instrukcje mogą znajdować się w dowolnym miejscu kolumny 1
do 132, komentarze mogą zaczynać się jedynie od wykrzyknika, a spacje są
wymagane w niektórych miejscach, np. pomiędzy identyfikatorami i słowami kluczowymi. To jest
tryb domyślny, jeśli rozszerzenie pliku źródłowego to f90 or .F90. Ta opcja
nie można podawać razem z -źródło = naprawione or -source=zakładka-dec

karta dec (1):
Zaakceptuj źródło w formacie tabulatora w stylu DEC. Linia rozpoczynająca się od początkowej tabulatora
będzie traktowany jako nowy wiersz instrukcji, chyba że znak po tabulatorze jest taki
cyfra różna od zera, w takim przypadku traktowana jest jako linia kontynuacji. The
następną kolumnę po tabulatorze lub znaku kontynuacji przyjmuje się jako kolumnę 7. A
ostrzeżenie zostanie podane w przypadku, gdy linia jest kontynuacją, jeśli
-f77=zakładka dec obowiązuje.

vms-include (2):
Zaakceptuj instrukcje INCLUDE w stylu VMS. Są one zgodne z normalną składnią, ale
z następującymi dodatkowymi cechami: (1) rozszerzeniem pliku, jeśli nie zostało podane,
domyślnie jest takie samo jak normalne rozszerzenie pliku źródłowego; oraz (2) opcję
/LIST lub /NOLIST można dołączyć do nazwy pliku dołączanego, aby kontrolować wyświetlanie
jego zawartości.

ukośnik odwrotny unix (4):
Obsługa ukośników odwrotnych w stylu UNIX w ciągach znaków. Ucieczka
sekwencja po ukośniku odwrotnym zostanie oceniona zgodnie z ANSI
standard dla ciągów w C: do trzech cyfr oznacza wartość ósemkową, czyli x
oznacza początek stałej szesnastkowej, dowolnej litery abfnrt
oznaczają specjalne kody kontrolne i dowolny inny znak (w tym nową linię)
oznacza samą postać. Kiedy ta opcja kodu źródłowego jest aktywna, a
ostrzeżenie zostanie wydane, jeśli -f77=ukośnik odwrotny ustawienie jest określone.

Domyślnym zachowaniem jest traktowanie ukośnika odwrotnego jak każdego innego normalnego
znak, ale zostanie wygenerowane ostrzeżenie o przenośności, jeśli
-ruchliwość flaga jest ustawiona. Ze względu na fakt, że niektóre kompilatory traktują
ukośnik odwrotny w niestandardowy sposób, jest to możliwe w przypadku zgodności ze standardem
programy nie będą przenośne, jeśli użyją znaku odwrotnego ukośnika w łańcuchach.

Ponieważ ftnczek nie robi zbyt wiele z interpretowanym ciągiem znaków, zdarza się to rzadko
konieczne, aby skorzystać z tej opcji. Jest to konieczne, aby uniknąć fałszywych
ostrzeżenia tylko wtedy, gdy (a) sprawdzany program używa ukośnika odwrotnego do osadzenia pliku
apostrof lub cudzysłów w ciągu zamiast korzystania ze standardowego mechanizmu
podwojenia separatora; (b) ukośnik odwrotny służy do ucieczki przed końcem-
linia, aby kontynuować ciąg w wielu liniach źródłowych; lub (c)
Definicja PARAMETRA wykorzystuje wewnętrzną funkcję łańcuchową, taką jak LEN z np
ciąg jako argument, a wartość ta jest później używana do definiowania tablicy
wymiary itp.

typ-implicit-param (8):
Niejawne wpisywanie parametru według typu danych przypisanej wartości. Niektóre
niestandardowe kompilatory mogą pozwolić na zastąpienie typu danych wartości
Domyślny typ parametru w Fortran 77 oparty na pierwszej literze
nazwę parametru. Ta opcja ma zastosowanie tylko do instrukcji PARAMETER instrukcji
standardowa forma z nawiasami. Parametr, który został jawnie
zadeklarowana w instrukcji typu przed instrukcją PARAMETER, nie ma to wpływu
przez tę opcję. Ostrzeżenie zostanie wydane w ramach -f77=typ-niejawnego-parametru
or -portability=typ-parametru-implicit opcja.

Należy pamiętać, że to niejawne typowanie jest traktowane jako równoważne typowi jawnemu
deklaracja parametru. Dlatego jeśli używasz
-makedcls=tylko-niezadeklarowane do generowania deklaracji wyłącznie niezgłoszonych
zmiennych, parametry te będą nie być uwzględnionym.

dec-param-typ-standardowy (16):
Postępuj zgodnie z regułą Fortran 77 w przypadku wpisywania danych parametrów stylu DEC Fortran.
Deklaruje się je przy użyciu niestandardowej formy instrukcji PARAMETER, która
brakuje nawiasów. Według DEC Fortran parametry określone w tym formularzu
instrukcji mają typ danych określony przez typ danych wartości
przydzielony. Użyj tej opcji, aby to powiedzieć ftnczek nie przestrzegać tej zasady, ale
zamiast tego użyć tej samej reguły, co w przypadku standardowych instrukcji PARAMETER. Ten
opcja nie dotyczy instrukcji PARAMETER formularza standardowego.

Domyślnie wszystkie te opcje kodu źródłowego są wyłączone, z wyjątkiem
vms-include opcja, która jest domyślnie włączona w wersji VMS..

Zobacz także: -f77, -zawierać, -ruchliwość.

-styl=podstęp
Zapewnia wyjątkowo wybredne ostrzeżenia o przestarzałym lub staromodnym programowaniu
konstrukcje. Ta opcja jest pomocna w przypadku prób podążania za nowoczesnym programowaniem
styl. (Większość rzeczy, na które narzeka się w ramach tej opcji, jest zabroniona w
F podzbiór język.) By domyślna, cała kolekcja ostrzeżenia jest obrócony poza.

Połączenia podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Są trzy
specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie opcje, Żaden aby je wszystkie wyłączyć i
pomoc , aby wydrukować listę wszystkich słów kluczowych z krótkim objaśnieniem każdego z nich. Jeśli
podstęp jest pominięty, -Style odpowiada -styl=wszystko, -nostyl odpowiada
-styl=brak. Słowa kluczowe ostrzeżenia wraz z ich znaczeniem są następujące:

blok-jeśli:
Złóż skargę dotyczącą arytmetycznej instrukcji JEŻELI. Zaakceptuj blok JEŻELI lub logiczny JEŻELI (który
kontroluje pojedynczą instrukcję).

nazwa-konstruktu:
Narzekaj na nienazwane konstrukcje blokowe: IF, DO i SELECT CASE. Zauważ to
jeśli nazwa konstrukcji jest obecna w instrukcji otwierającej konstrukcję, to
musi być obecny we wszystkich pozostałych instrukcjach składowych (ELSE, END IF,
itp.) konstrukcji. W takim przypadku brakująca nazwa konstrukcji
instrukcje generują błąd składni niezależnie od tej opcji. Cel
tej opcji ma na celu ostrzeżenie, jeśli w konstrukcie całkowicie brakuje opcji
nazwa.

odrębne-zrób:
Złóż skargę, jeśli dwie pętle DO mają wspólną instrukcję terminatora.

zbuduj:
Zgłoś skargę, jeśli terminatorem pętli DO jest cokolwiek innego niż END DO lub
KONTYNUUJ oświadczenie. Jest to wymóg, który musi spełnić pętla
definicja konstrukcji do w języku Fortran 90.

zrobić-koniec:
Zgłoś skargę, jeśli terminatorem pętli DO jest coś innego niż END DO
oświadczenie. (Ta opcja zastępuje opcję zbuduj opcja, będąc równa
bardziej rygorystyczne.)

nazwa końcowa:
Złóż skargę na brak nazwy podprogramu na strukturalnym END
sprawozdania.

format-stmt:
Złóż skargę dotyczącą obecności instrukcji FORMAT. Tylko instrukcje FORMAT
same są oznaczane, a nie odniesienia do nich na listach wejść/wyjść.

goto: Skarga na obecność bezwarunkowego, obliczonego lub przypisanego GOTO
sprawozdania. Narzekaj także na alternatywne zwroty (ale nie na etykiety, jak
argumenty podprogramu).

oznaczone-stmt:
Złóż skargę dotyczącą obecności etykiet (numerów) na oświadczeniach innych niż
FORMATUJ oświadczenia. (Ponieważ instrukcje FORMAT są prawdopodobnie wygodne i nie
łatwo nadużywane, skargi na nie są kontrolowane przez odrębnych
format-stmt słowo kluczowe.)

program-stmt:
Złóż skargę na brak instrukcji PROGRAM na czele strony głównej
program.

koniec strukturalny:
Raczej narzekaj na użycie zwykłej instrukcji END do zakończenia podprogramu
niż ustrukturyzowana instrukcja END (END PROGRAM, END SUBROUTINE, END FUNCTION,
lub DANE BLOKÓW KOŃCOWYCH).

Zobacz także: -f77, -f90, -f95, -ładny, -ruchliwość.

-symtab
Dla każdego modułu zostanie wydrukowana tabela symboli zawierająca wszystkie identyfikatory
wspomniane w module. Ta tabela podaje nazwę każdej zmiennej, jej typ danych,
oraz liczbę wymiarów tablic. Gwiazdka (*) oznacza, że
zmienna została wpisana niejawnie, a nie została nazwana w typie jawnym
oświadczenie deklaracyjne. W tabeli znajdują się także wszystkie podprogramy wywoływane przez moduł,
zadeklarowano wszystkie bloki COMMON itp. Wartość domyślna = nie.

Dla każdego modułu wydrukowana zostanie także tabela etykiet. W tabeli wymieniono każdą etykietę
zdefiniowane w module; linia, w której zdefiniowana jest wspomniana etykieta instrukcji; i
typ instrukcji (plik wykonywalny, format lub specyfikacja). Etykiety są wymienione w
kolejność sekwencyjna.

Drukowana jest także tabela opisująca jednostki we/wy wykorzystywane przez moduł wraz z
informacje o tym, jak się je wykorzystuje: jakie operacje są wykonywane, czy
dostęp jest sekwencyjny lub bezpośredni oraz czy wejścia/wyjścia są sformatowane czy niesformatowane.

Zobacz także: -drzewo połączeń, -odnośnik, -lista, -odniesienie, -sortować, -vcg.

-obcięcie=podstęp
Ostrzegaj o możliwych błędach obcięcia (lub zaokrąglenia). Większość z nich jest związana z
arytmetyka liczb całkowitych. Domyślnie wszystkie ostrzeżenia są włączone.

To ustawienie zapewnia szczegółową kontrolę nad ostrzeżeniami o możliwym obcięciu
błędy. The podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Od wszystkiego
ostrzeżenia są domyślnie włączone, dodaj słowo kluczowe poprzedzone przez no- aby wyłączyć
szczególne ostrzeżenie. Istnieją trzy specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie
ostrzeżenia o obcinaniu, Żaden aby je wszystkie wyłączyć i pomoc aby wydrukować listę
wszystkie słowa kluczowe z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp jest pominięty, -obcięcie
odpowiada -obcięcie=wszystko, -nieprzecięcie odpowiada
-obcięcie=brak. Słowa kluczowe ostrzeżenia wraz z ich znaczeniem są następujące:

wykładnik int-div:
wykorzystanie wyniku dzielenia liczb całkowitych jako wykładnika. Sugeruje to, że A
zamierzony jest iloraz rzeczywisty. Przykładem może być napisanie X**(1/3) w celu oceny
pierwiastek sześcienny z X. Prawidłowe wyrażenie to X**(1./3.).

int-div-real:
Konwersja wyrażenia polegającego na dzieleniu liczb całkowitych na liczbę rzeczywistą. Ten
sugeruje, że chodzi o iloraz rzeczywisty.

int-div-zero:
dzielenie wyrażenia stałego w postaci całkowitej, którego wynikiem jest zero.

int-neg-potęga:
potęgowanie liczby całkowitej przez ujemną liczbę całkowitą (co daje zero, chyba że
podstawowa liczba całkowita ma wielkość 1). Sugeruje to, że prawdziwa baza jest
zamierzony.

promocja:
automatyczna konwersja wielkości o niższej precyzji na wartość o większej precyzji
precyzja. Utrata dokładności dla zmiennych rzeczywistych w tym procesie wynosi
porównywalne z odpowiednią degradacją. Nie ma ostrzeżenia dotyczącego awansu
ilości całkowitych na rzeczywiste, ponieważ jest to zwykle dokładne.

indeks rzeczywistego działania:
użycie niecałkowitego indeksu DO w pętli z granicami całkowitymi. Liczba całkowita DO
niezależnie od tego ustawienia, zawsze pojawia się ostrzeżenie o indeksie z granicami rzeczywistymi.

indeks rzeczywisty:
użycie indeksu tablicy niecałkowitej.

znaczące liczby:
nadmierne określenie jednej stałej precyzji. Może to wskazywać, że podwójne
zamierzono stałą precyzji.

degradacja rozmiaru:
automatyczna konwersja ilości o większej precyzji na ilość o mniejszej precyzji
tego samego typu. To ostrzeżenie pojawia się tylko w przypadku użycia jawnego rozmiaru
deklarowanie typu jednego lub obu operandów w przypisaniu. Na przykład:
w przypadku przypisania zmiennej REAL*8 do zmiennej REAL zostanie wygenerowane ostrzeżenie,
jeśli obowiązuje domyślny rozmiar słowa 4. Ostrzeżenie jest także wydawane, jeżeli: a
długa liczba całkowita jest przypisana krótszej, na przykład, jeśli jest INTEGER
wyrażenie jest przypisane do zmiennej INTEGER*2. Jest jeden wyjątek
w tym ostatnim przypadku, a mianowicie, jeśli prawa strona przypisania jest mała
dosłowna stała (mniejsza niż 128). degradacja typu: automatyczna konwersja a
ilość o wyższej precyzji do jednej o niższej precyzji innego typu. Ten
ostrzeżenie obejmuje konwersję wielkości rzeczywistych na liczbę całkowitą, podwójną precyzję
do pojedynczej precyzji rzeczywistej i przypisanie dłuższego ciągu znaków do a
krótszy.

Ostrzeżenia o awansach i degradacjach dotyczą także stałych złożonych,
biorąc pod uwagę dokładność części rzeczywistej lub urojonej. Ostrzeżenia dot
awanse i degradacje nadawane są tylko wtedy, gdy konwersja odbywa się automatycznie,
np. w wyrażeniach o mieszanej precyzji lub w instrukcji przypisania. Jeśli wewnętrzne
do konwersji używane są funkcje takie jak INT, nie jest wyświetlane żadne ostrzeżenie.

Zobacz także: -ruchliwość, -rozmiar słowa.

-użycie=podstęp
Ostrzegaj o nieużywanych lub możliwych niezainicjowanych zmiennych, nieużywanych wspólnych blokach,
niezdefiniowane lub nieużywane etykiety instrukcji oraz nieużywane lub niezdefiniowane podprogramy. Przez
domyślnie wszystkie ostrzeżenia są włączone.

To ustawienie zapewnia szczegółową kontrolę nad ostrzeżeniami dotyczącymi możliwego użycia
błędy. The podstęp składa się ze słów kluczowych oddzielonych przecinkami lub dwukropkami. Od wszystkiego
ostrzeżenia są domyślnie włączone, dodaj słowo kluczowe poprzedzone przez no- aby wyłączyć
szczególne ostrzeżenie. Istnieją trzy specjalne słowa kluczowe: cała kolekcja aby włączyć wszystkie
ostrzeżenia dotyczące użytkowania, Żaden aby je wszystkie wyłączyć i pomoc aby wydrukować listę wszystkich
słowa kluczowe z krótkim wyjaśnieniem każdego z nich. Jeśli podstęp jest pominięty, -stosowanie is
równoważny -użycie=wszystko, -brak zastosowania odpowiada -użycie=brak, Te
ostrzeżenia obejmują cztery główne kategorie obiektów: argumenty fikcyjne podprogramu, wspólne
bloki i zmienne, podprogramy i funkcje oraz zmienne lokalne. Ostrzeżenia
uwzględnić niezdefiniowane pozycje, pomnożyć zdefiniowane pozycje, nieużywane pozycje, itp. Ostrzeżenie
słowa kluczowe wraz z ich znaczeniem są następujące:

alias arg:
fikcyjny argument skalarny jest w rzeczywistości taki sam jak inny i jest (lub może być)
zmodyfikowany. Standard Fortran 77 (sekcja 15.9.3.6) zabrania modyfikowania
argument, który jest aliasem do innego.

alias-tablicy arg:
fikcyjny argument, który jest tablicą lub elementem tablicy, znajduje się w tej samej tablicy co
inny i jest modyfikowany. Ta flaga jest podobna do alias arg ale zapewnia
osobna kontrola nad argumentami tablicy. Trudniej stwierdzić, czy aliasing jest
występujące w przypadku tablic, więc if ftnczek daje zbyt wiele fałszywych ostrzeżeń,
ta flaga umożliwia wyłączenie funkcji związanych z tablicą bez pomijania
ostrzeżenia dotyczące skalarów.

arg-common-alias:
argument fikcyjny skalarny jest taki sam jak wspólna zmienna w podprogramie,
i albo jest modyfikowany. Jest to również zabronione przez standard Fortran 77.
Jeśli wspólne sprawdzanie nie jest dokładne (patrz -wspólny ustawienie), jest to trudniejsze
informuje, czy występuje aliasing, więc w przypadku zmiennej pojawia się ostrzeżenie
w dowolnym miejscu wspólnego bloku zadeklarowanego przez podprogram.

alias-wspólnej tablicy arg:
fikcyjny argument, który jest tablicą lub elementem tablicy, znajduje się w tej samej tablicy co a
wspólna zmienna i jedna z nich jest modyfikowana. Jeżeli wspólne sprawdzenie nie jest dokładne,
zmienna może znajdować się w dowolnym miejscu wspólnego bloku zadeklarowanego przez metodę
podprogram.

zmodyfikowany-arg-const:
podprogram modyfikuje argument, który jest stałą lub wyrażeniem. Taki
akcja może spowodować nietypowe zachowanie programu.

arg-nieużywany:
fikcyjny argument jest deklarowany, ale nigdy nie jest używany. Jest to podobne do
var-nieużywany słowo kluczowe opisane poniżej, ale dotyczy tylko argumentów.

com-block-nieużywany:
zadeklarowano wspólny blok, ale żadna ze zmiennych w nim nie jest używana
podprogram. To ostrzeżenie jest pomijane, jeśli wspólne ustawienie rygorystyczności ma wartość
0.

com-block-volatile:
wspólny blok może utracić definicję swojej zawartości, jeśli wspólne bloki takie są
lotny. Ta opcja ma wpływ tylko wtedy, gdy -wspólny=lotny flaga jest
efekt. Zobacz dyskusję nt -wspólny ustawienie powyżej.

com-var-set-nieużywany:
wspólna zmienna ma przypisaną wartość, ale jej wartość nie jest przez nikogo używana
podprogram. To ostrzeżenie jest pomijane, jeśli wspólne ustawienie rygorystyczności ma wartość
0.

com-var-niezainicjowany:
wartość wspólnej zmiennej jest używana w jakimś podprogramie, ale nie jest ustawiona
gdziekolwiek. Niestety, ftnczek nie przeprowadza wystarczająco dokładnej analizy
sekwencję wywołującą, aby wiedzieć, które procedury są wywoływane przed innymi. Więc
ostrzeżenia o tego typu błędach będą wyświetlane tylko w przypadkach, w których a
zmienna jest używana w jakiejś procedurze, ale nie jest ustawiana w żadnej innej procedurze. Kontrola
poszczególnych zmiennych WSPÓLNYCH odbywa się tylko wtedy, gdy -wspólny ustawienie to 3
(zmienna w zależności od zmiennej umowy). To ostrzeżenie jest pomijane, jeśli jest wspólne
ustawienie ścisłości wynosi 0.

com-var-nieużywany:
zadeklarowano wspólną zmienną, ale nie jest ona używana przez żaden podprogram. To ostrzeżenie
jest pomijane, jeśli wspólne ustawienie ścisłości wynosi 0.

do-index-zmodyfikowany:
zmienna będąca indeksem pętli DO jest modyfikowana przez jakąś instrukcję
w zasięgu pętli. Standard pozwala na aktywną zmienną DO
modyfikować jedynie poprzez mechanizm inkrementacji instrukcji DO.

ext-multiple-definiowane:
element zewnętrzny (podprogram lub funkcja) jest zdefiniowany więcej niż raz. Definicja
zewnętrznego środka dostarczającego treść jego kodu źródłowego.

tylko-deklarowany-ext:
nazwa jest zadeklarowana w instrukcji EXTERNAL w jakimś module, ale tak nie jest
zdefiniowane lub używane gdziekolwiek.

ext-nieokreślony:
zewnętrzny jest używany (wywoływany), ale nigdzie nie zdefiniowany. Ta opcja jest
równoważny z -zewnętrzny flaga. Jeśli podprogram zostanie wywołany więcej niż
raz te wywołania będą nadal sprawdzane pod kątem spójności.

ex-nieużywane:
zdefiniowany jest element zewnętrzny (istnieje treść podprogramu), ale nie jest on używany.
Podprogram uważa się za nieużywany, nawet jeśli jest wywoływany przez inny
podprogram, jeśli nie można go wywołać z żadnego wątku wykonania, zaczynając od
główny program. Zgodność argumentów podprogramu z jego
wywołania są nadal sprawdzane, nawet jeśli to ostrzeżenie jest wyłączone. Jeśli jest
nie ma programu głównego, to ostrzeżenie jest wyświetlane tylko wtedy, gdy podprogram nie jest
wywoływane gdziekolwiek. To ostrzeżenie jest pomijane w trybie biblioteki, ale biblioteka
tryb ma dodatkowy efekt polegający na pomijaniu sprawdzania argumentów pod kątem nieużywanych
Rutyny.

etykieta-nieokreślona:
instrukcja odnosi się do etykiety, która nie została zdefiniowana.

etykieta-nieużywana:
etykieta instrukcji jest zdefiniowana, ale nigdy się do niej nie odwołuje.

var-set-nieużywany:
zmiennej lokalnej przypisuje się wartość, ale ta wartość nie jest używana.

var-niezainicjowany:
Wartość zmiennej lokalnej może zostać użyta przed jej przypisaniem. Czasami
ftnczek popełnia błąd w ostrzeżeniach dotyczących użycia zmiennej lokalnej. Zazwyczaj
popełnia błąd polegający na ostrzeganiu tam, gdzie nie ma problemu, ale w rzadkich przypadkach
W niektórych przypadkach może nie zostać ostrzeżony, gdzie rzeczywiście występuje problem. Zobacz sekcję dot
Błędy dla przykładów. Jeśli zmienne są równoważne, stosowana jest reguła ftnczek
jest to, że odniesienie do dowolnej zmiennej oznacza to samo odniesienie do wszystkich
zmiennych, z którymi jest on równoważny. W przypadku tablic obowiązuje zasada, że ​​odwołanie do
dowolny element tablicy jest traktowany jako odniesienie do wszystkich elementów tablicy.

var-nieużywany:
zmienna lokalna jest zadeklarowana (na przykład w deklaracji typu), ale tak nie jest
użyte w module. Nie dotyczy fałszywych argumentów: ostrzeżenia na ich temat
są kontrolowane przez słowo kluczowe arg-nieużywany opisane powyżej.

Uwaga: w wersjach ftnczek przed 2.10, -stosowanie flaga przyjęła argument numeryczny
zamiast listy opcji. Ze względu na użytkowników, którzy mogli pisać skrypty
inwokacja ftnczek w ten sposób forma liczbowa jest nadal akceptowana. Numeryczny
ustawienie składa się z trzech cyfr. Kontroluje pierwsza cyfra (miejsce setek).
ostrzeżenia o podprogramach (funkcjach i podprogramach), druga cyfra (dziesiątki
miejsce) ostrzeżenia o wspólnych blokach i wspólnych zmiennych oraz trzecia cyfra
(jedno miejsce) ostrzeżenia dotyczące zmiennych lokalnych. Każda cyfra steruje ostrzeżeniami
zgodnie z konwencją, że 1 oznacza ostrzeganie o niezdefiniowanych pozycjach i zmiennych
które są używane przed ustawieniem, 2 oznacza ostrzeżenie o przedmiotach, które są nieużywane, a 3 oznacza
ostrzegam przed obydwoma typami. Liczby te są teraz konwertowane na odpowiednie wartości
dla wyżej wymienionych słów kluczowych, z wyjątkiem com-block-volatile, na który nie ma to wpływu
za pomocą argumentu numerycznego.

Zobacz także: -wspólny, -ogłosić, -zewnętrzny, -biblioteka.

-vcg
Utwórz wykres wywołań w formie opisu wykresu VCG. Ten opis jest
zapisywane w osobnym pliku, z tym samym rdzeniem, co plik zawierający plik main
program i przyrostek vcg. Plik ten można przekazać bezpośrednio xvcg(1L) do
wizualizuj wykres połączeń. (Jeśli dane wejściowe pochodzą ze standardowego wejścia, wówczas wykres
opis jest wysyłany na standardowe wyjście.) Ten przełącznik jest odpowiednikiem
-calltree=vcg. Wartość domyślna = nie.

Utworzony opis VCG jest bardziej złożony, niż jest to konieczne. VCG umożliwia tworzenie wykresów
i zagnieżdżone podgrafy: każdy podprogram jest tworzony jako podgraf zagnieżdżony w jego środku
procedury wywoływania. Pozwala to na interaktywne wyświetlanie podgrafów lub podsumowań
Im.

Połączenia -vcg opcja ftnczek został napisany przez dr Philipa Rubiniego z Cranfield
Uniwersytet, Wielka Brytania.

xvcg to narzędzie do wizualizacji wykresów działające w systemie X Windows. To jest
dostępne bezpłatnie na ftp.cs.uni-sb.de. Został napisany przez G. Sandera z
Uniwersytet Saary, Niemcy.

Zobacz także: -drzewo połączeń, -odnośnik, -odniesienie, -sortować.

-wersja
Ta opcja powoduje ftnczek aby wydrukować linię zawierającą numer wersji, datę wydania,
i poziom poprawki programu. Jeśli nie zostaną podane żadne pliki, program zostanie zamknięty. Jeśli pliki
są podane, efektem tej opcji jest uwzględnienie poziomu poprawki (zwykle
pominięty) w informacjach o wersji wydrukowanych na początku przetwarzania. Domyślnie =
no.

Zobacz także: -Pomoc.

-lotny
Załóżmy, że bloki COMMON są niestabilne. Wartość domyślna = nie.

Flaga ta została zastąpiona przez -wspólny=lotnyi nie należy go już używać. Może
zostać wyeliminowane w przyszłej wersji programu ftnczek.

Zobacz także: -wspólny, -stosowanie.

-rozmiar słowa=num
Określa domyślny rozmiar słowa num bajty. Jest to rozmiar logiczny i
zmienne numeryczne o pojedynczej precyzji, którym nie nadano jawnej precyzji.
(Jawne precyzje dla zmiennych innych niż znakowe są rozszerzeniem Fortran 77
Standard i są podawane przez deklaracje typu, takie jak REAL*8 X.) Podwójna precyzja
i zmienne złożone będą dwukrotnie większe, a podwójne zmienne zespolone cztery
czasy. Stałe o poczwórnej precyzji i wyniki funkcji wewnętrznych będą czterokrotnie większe
ta wartość. Należy pamiętać, że zmienne zadeklarowane jako REAL*16 będą traktowane jako quad
precyzja tylko wtedy, gdy rozmiar słowa wynosi 4 bajty. Domyślnie = włączenie = 4 bajty.

Wartość rozmiaru słowa nie ma znaczenia przy sprawdzaniu programów zgodnych ze standardami
nie deklaruj jawnych precyzji dla zmiennych nieznakowych ani nie przechowuj Holleritha
dane w zmiennych. To ustawienie nie ma również wpływu na domyślny rozmiar znaku
zmiennych, co zawsze wynosi 1 bajt. Zakłada się, że stałe Holleritha również są zajęte
1 bajt na znak.

Rozmiar słowa służy do określenia, czy w przypisaniu występuje obcięcie
instrukcji oraz wyłapywać niedopasowania precyzji na listach argumentów podprogramów i
wspólne listy bloków. Dokładne wyświetlane ostrzeżenia będą zależeć od statusu
innych flag. Pod obydwoma -przenośność = mieszany rozmiar oraz -nowordsize flaga,
jakiekolwiek mieszanie jawnych i domyślnych obiektów precyzyjnych (wyrażenia znakowe nie
w zestawie) jest ostrzegany. Dotyczy to wyrażeń arytmetycznych zawierających oba
typów obiektów oraz do argumentów podprogramów i zmiennych WSPÓLNYCH. Pod kontrolą
ukończenia -obcięcie=degradacja i promocja opcji, wyświetlane jest ostrzeżenie
przypisanie wyrażenia do krótszej zmiennej tego samego typu lub for
promocja wartości o niższej precyzji na wyższą precyzję w arytmetyce
wyrażenie lub instrukcja przypisania.

Nadanie rozmiaru słowa 0 lub równoważnie przy użyciu -nowordsize oznacza, że ​​nie ma ustawień domyślnych
wartość zostanie przyjęta. Jest to równoznaczne z określeniem -przenośność = mieszany rozmiar.
Użyj go, aby znaleźć przypadki mieszania domyślnej i jawnej precyzji, na przykład do flagi
miejsca, gdzie RZECZYWISTOŚĆ*8 jest traktowana jako równoznaczna z PODWÓJNĄ PRECYZJĄ.

Zobacz także: -rozmiar wskaźnika, -ruchliwość, -obcięcie.

-owinięcie=col
Kontroluje zawijanie komunikatów o błędach. Długie komunikaty o błędach, które pojawiały się obok
określona kolumna zostanie podzielona na osobne wiersze pomiędzy słowami
wiadomość dla lepszej czytelności. Jeśli wyłączono za pomocą -teraz rap, każdy osobny błąd
wiadomość zostanie wydrukowana w jednej linii, pozostawiając wyświetlaczowi zawinięcie
wiadomość lub skróć ją. Domyślnie = włączenie = 79.

WYMIANA PIENIĘDZY THE DOMYŚLNE


ftnczek zawiera dwa mechanizmy zmiany domyślnych wartości wszystkich opcji: wg
definiując zmienne środowiskowe lub tworząc plik preferencji. Gdy ftnczek uruchamia się,
szuka w swoim środowisku zmiennych, których nazwy składają się z przedrostka
ciąg FTNCHEK_ na nazwę opcji pisaną wielkimi literami. Jeśli taka zmienna jest
znaleziony, jego wartość służy do określenia wartości domyślnej dla odpowiedniego przełącznika lub ustawienia.
W przypadku ustawień (np -wspólny ustawienie ścisłości) wartość
zmienna środowiskowa jest odczytywana jako domyślna wartość ustawienia. W przypadku przełączników tzw
domyślny przełącznik zostanie uznany za prawdziwy lub tak, chyba że zmienna środowiskowa ma tę wartość
0 lub NIE.

Należy pamiętać, że nazwa zmiennej środowiskowej musi być zbudowana z opcją pełnej długości
imię i nazwisko, które musi być pisane wielkimi literami. Na przykład zrobić ftnczek wydrukuj listę źródeł według
domyślnie ustaw zmienną środowiskową FTNCHEK_LIST na 1 lub YES lub dowolną wartość inną niż 0 lub
NIE. Nazwy FTNCHEK_LIS (nie pełna nazwa opcji) lub ftnchek_list (małe litery)
nie zostać rozpoznane.

Oto kilka przykładów ustawiania zmiennych środowiskowych w różnych systemach. Dla
prostota, wszystkie przykłady ustawiają wartość domyślną -lista przełącz na TAK.

1. UNIX, powłoka Bourne'a: ​​$ FTNCHEK_LIST=YES
$ eksportuj FTNCHEK_LIST

2. UNIX, powłoka C: % setenv FTNCHEK_LIST TAK

3. VAX/VMS: $ ZDEFINIUJ FTNCHEK_LIST TAK

4. MSDOS: $ SET FTNCHEK_LIST=TAK

Po przetworzeniu jakichkolwiek zmiennych środowiskowych ftnchek szuka pliku preferencji
zawierający opcje i ustawienia. Będzie wyszukiwać w następującej kolejności, używając tylko
pierwszy znaleziony plik: (1) .ftnchekrc w bieżącym katalogu, (2) ftnchek.ini w aktualnej
katalog, (3) .ftnchekrc w katalogu domowym użytkownika, (4) ftnchek.ini w domu
informator. Jeśli taki plik zostanie znaleziony, zdefiniowane w nim opcje zostaną użyte jako domyślne w
miejsce wbudowanych ustawień domyślnych i zastąpienie wszelkich ustawień domyślnych ustawionych w środowisku.

Każda opcja lub ustawienie w pliku preferencji musi znajdować się w osobnej linii. Są dane
w tej samej formie, co w wierszu poleceń, z tą różnicą, że bez początkowego myślnika. Preferencje
plik może zawierać puste linie i komentarze. Komentarze wprowadzane są w dowolnym miejscu linii
znakiem spacji (pustym lub tabulatorem) lub znakiem „#” i kończą się końcem
linia.

Opcje wiersza poleceń zastępują ustawienia domyślne ustawione w środowisku lub w preferencjach
plik w taki sam sposób, w jaki zastępują wbudowane ustawienia domyślne.

ZA POMOCĄ PROJECT AKTA


W tej sekcji znajdują się szczegółowe informacje na temat najskuteczniejszego wykorzystania plików projektu,
i jak uniknąć pewnych pułapek.

Czeki można dzielić ftnczek dzieli się na dwie kategorie: lokalną i globalną. Lokalny
sprawdzanie ogranicza się do jednej procedury i wyłapuje takie rzeczy, jak niezainicjowane
zmiennych, niezamierzona utrata precyzji w wyrażeniach arytmetycznych itp. Tego rodzaju
sprawdzenie można przeprowadzić niezależnie dla każdego podprogramu. Ponadto lokalne sprawdzanie a
podprogramu nie trzeba powtarzać w przypadku zmiany innego podprogramu. Światowy
sprawdzanie wychwytuje takie rzeczy, jak wywołanie podprogramu z niewłaściwymi typami argumentów lub
nie zgadzając się we wspólnych deklaracjach blokowych. Wymaga to spojrzenia na cały zestaw
podprogramy współdziałające ze sobą.

Celem plików projektu jest umożliwienie wykonywania czynności sprawdzania lokalnego i globalnego
być w separacji. Zakładając, że każdy podprogram znajduje się w swoim własnym pliku źródłowym, możesz go uruchomić
ftnczek raz na każdym z nich, aby przeprowadzić sprawdzanie lokalne, pomijając sprawdzanie globalne. Następnie
ftnczek można uruchomić raz na wszystkich plikach projektu razem, aby przeprowadzić globalne sprawdzenie. The
przykładowy plik makefile poniżej pokazuje, jak zautomatyzować to zadanie. Cel ``.f.prj'' aktualizuje a
projektu dla określonego pliku za każdym razem, gdy plik źródłowy ulegnie zmianie. Informacja
potrzebne do sprawdzenia globalnego są zapisywane w pliku projektu. Cel „check” wykonuje
połączone sprawdzanie globalne. Zazwyczaj polecenie „make check” powtarza polecenie „ftnchek -project”
krok tylko na zmienionych plikach źródłowych, a następnie wykonaj kontrolę globalną. To oczywiście coś dużego
zaletą w przypadku dużych programów, gdy wiele podprogramów zmienia się rzadko, jeśli w ogóle.

Najlepiej jest używać plików projektu i umieszczać każdy podprogram w osobnym pliku źródłowym.
Jeśli każdy plik źródłowy może zawierać więcej niż jeden podprogram, komplikuje to definicję
sprawdzania „lokalnego” i „globalnego”, ponieważ istnieje pewne sprawdzanie między modułami
zawarte w pliku. ftnczek próbuje postąpić właściwie w tej sprawie, ale tak jest
pewne komplikacje (opisane poniżej) wynikające z kompromisu pomiędzy unikaniem powtarzania działań krzyżowych
sprawdza i utrwala informacje o strukturze programu.

Zwykle, aby przeprowadzić jak najmniej ponownego sprawdzania, należy utworzyć pliki projektu za pomocą
dotychczasowy -biblioteka flaga włączona i przycinanie włączone. W tym trybie informacje są zapisywane
w pliku projektu zawiera wszystkie deklaracje podprogramów, wszystkie wywołania podprogramów
nie rozwiązany przez deklaracje w tym samym pliku i jedno wystąpienie każdego bloku COMMON
deklaracja. Jest to minimalna ilość informacji potrzebna do sprawdzenia zgodności pomiędzy
akta.

Jeśli plik źródłowy zawiera więcej niż jedną procedurę, mogą wystąpić pewne problemy
może wynikać z utworzenia pliku projektu w trybie bibliotecznym, ponieważ wywołanie hierarchii
pomiędzy procedurami zdefiniowanymi w pliku zostaje utracona. Ponadto, jeśli procedury w pliku make
użycie bloków COMMON, które są współdzielone z procedurami w innych plikach, nie będzie
Zapisano wystarczającą ilość informacji do prawidłowego sprawdzenia ustawionego i używanego stanu bloków COMMON
i zmienne WSPÓLNE zgodnie z -stosowanie ustawienie. Dlatego jeśli planujesz używać
pliki projektu, kiedy -stosowanie sprawdzanie jest włączone (co jest sytuacją domyślną) i if
wiele procedur w jednym pliku projektu współdzieli bloki WSPÓLNE z procedurami w innych plikach,
pliki projektu powinny zostać utworzone z rozszerzeniem -biblioteka flaga wyłączona. W tym trybie
ftnczek zapisuje, oprócz informacji wymienionych powyżej, jedno wywołanie każdego podprogramu przez
dowolny inny podprogram w tym samym pliku i wszystkie deklaracje bloków COMMON. To znaczy że
plik projektu będzie większy niż to konieczne i że po wczytaniu, ftnczek może
powtórz niektóre kontrole między modułami, które już wykonano podczas tworzenia pliku projektu. Jeśli
każdy plik projektu zawiera tylko jeden moduł, tworzenie nie powoduje utraty informacji
pliki projektu w trybie biblioteki.

Ze względu na możliwą utratę informacji związaną z utworzeniem pliku projektu z rozszerzeniem
-biblioteka flaga jest włączona, za każdym razem, gdy plik projektu zostanie wczytany później, zostanie on rozpatrzony
jako plik biblioteki niezależnie od bieżących ustawień pliku -biblioteka flaga. Na inne
strony, plik projektu utworzony przy wyłączonym trybie biblioteki można później wczytać w obu przypadkach
tryb.

W powyższej dyskusji założono, że opcje przycinania pliku -projekt ustawienie są
włączone podczas tworzenia pliku projektu. To jest normalna sytuacja. The bez wykończenia
opcje -projekt ustawienia są dostępne na wypadek, gdyby ktoś chciał użyć plików projektu
w celach innych niż sprawdzanie programu za pomocą ftnczek. Można na przykład pisać
skrypt Perla do analizy plików projektu w celu uzyskania informacji o różnicach
wywoływane są podprogramy. Nie należy używać bez wykończenia możliwości poradzenia sobie z problemami
utratę informacji omówioną powyżej, ponieważ powodują one więcej informacji, niż jest to konieczne
przechowywane. To sprawia, że ​​pliki projektu są większe i powodują ftnczek aby wykonać więcej pracy później, kiedy
czyta je, aby sprawdzić cały program. Zwykle powinieneś używać -biblioteka
możliwość kontrolowania ilości informacji przechowywanych do późniejszego wykorzystania ftnczek podczas sprawdzania twojego
program.

Oto przykład użycia systemu UNIX robić narzędzie do automatycznego tworzenia nowego
projektu za każdym razem, gdy zmieniany jest odpowiedni plik źródłowy, i sprawdzanie zestawu
pliki dla spójności. Dodaj te linie do pliku makefile. W przykładzie założono, że a
Zdefiniowano makro OBJS, które wyświetla listę wszystkich nazw plików obiektowych, które mają zostać połączone
razem tworząc kompletny program wykonywalny. (W tym pliku makefile wcięte linie
każdy powinien zaczynać się od tabulatora, a nie spacji.) Jeśli jakikolwiek plik źródłowy zawiera wiele procedur
które dzielą między sobą wspólne bloki, należy usunąć opcję no-com-\*
z NOGLOBAL i/lub usuń flagę -library.
# powiedz make, jaki jest przyrostek pliku projektu
.SUFIKSY: .prj

# te opcje pomijają kontrole globalne.
NOGLOBAL=-usage=no-ext-undefinied,no-com-\*

# powiedz make, jak utworzyć plik .prj z pliku .f
.f.prj:
ftnchek -projekt $(NOGLOBAL) -biblioteka $

# skonfiguruj makro PRJS zawierające nazwy plików projektu
PRJS= $(OBJS:.o=.prj)

# „make check” sprawdzi wszystko, co zostało zmienione.
sprawdź: $(PRJS)
ftnchek $(PRJS)

Kiedy program używa wielu procedur zdefiniowanych w dużej liczbie różnych plików źródłowych w
różnych katalogach, określenie wszystkich różnych plików projektu może być kłopotliwe
potrzebne do prawidłowego sprawdzenia programu. Aby sobie poradzić z takimi przypadkami, ftnczek pozwala na projekt
pliki, które należy połączyć w jeden duży plik. Ten pojedynczy plik można następnie przekazać
ftnczek dostarczenie informacji umożliwiających sprawdzenie wykorzystania którejkolwiek lub wszystkich procedur
zdefiniowane w połączonych plikach projektu. Używając takiego pliku projektu ``biblioteki'', ty
Może chcieć ftnczekraporty o błędach, aby dokładnie udokumentować nazwę pliku, w którym znajduje się plik
określona jest konkretna funkcja. Jeśli różne pliki źródłowe znajdują się w kilku katalogach, plik an
raport o błędach, który podaje tylko nazwę pliku, może być niejednoznaczny i powinien raczej zawierać
ścieżka do pliku. Rozwiązaniem jest utworzenie każdego z indywidualnych plików projektu według
podając pełną ścieżkę do pliku źródłowego. Następnie cała ścieżka pojawi się w pliku
raporty o błędach. Załóżmy na przykład, że wszystkie pliki źródłowe podprogramów bibliotecznych są
w podkatalogach katalogu o nazwie /util/lib. Wtedy poszczególne pliki projektu mogłyby
najpierw zostać utworzony za pomocą polecenia takiego jak
znajdź /util/lib -name '*.f' -exec ftnchek -project '{}' ';'
(Być może zapewnione zostaną inne opcje ftnczek Jak omówiono powyżej. Również ten krok
można zamiast tego obsłużyć poprawioną regułę pliku makefile, która zapewniłaby kompletne źródło
ścieżka pliku zamiast tylko nazwy lokalnej podczas wywoływania ftnczek.) Następnie połącz wszystkie
te pliki projektu ręcznie.
znajdź /util/lib -name '*.prj' -exec cat '{}' ';' > naszalib.prj
Następnie można sprawdzić plik źródłowy programu za pomocą polecenia
ftnchek prog.f ... -lib naszalib.prj
a komunikat o błędzie związany z dowolną procedurą biblioteczną będzie zawierał pełną ścieżkę do pliku
plik źródłowy procedury.

Obecnie nie ma narzędzia archiwizującego takiego jak ar do zarządzania zawartością połączonego pliku
plik projektu, taki jak ten na powyższej ilustracji. W przypadku wprowadzenia zmian w jednym z
procedur bibliotecznych, jedynym sposobem aktualizacji połączonego pliku projektu jest połączenie wszystkich
ponownie poszczególne pliki projektu. Takie narzędzie byłoby dość łatwe do napisania.
Ktoś powinien to zrobić i wnieść swój wkład w tę sprawę ftnczek wysiłku.

AN PRZYKŁAD


Poniższy prosty program w języku Fortran ilustruje komunikaty podawane przez ftnczek,
Program ma akceptować tablicę wyników testów, a następnie obliczać średnią dla
series.

AUTORZY C: MIKE MYERS I LUCIA SPAGNUOLO
C DATA: 8 MAJA 1989

Zmienne C:
C SCORE -> tablica wyników testów
C SUM -> suma wyników testu
C COUNT -> licznik wczytanych wyników
CI -> licznik pętli

PRAWDZIWA FUNKCJA COMPAV (WYNIK, LICZBA)
SUMA CAŁKOWITA, LICZBA, J,SCORE(5)

DO 30 I = 1,LICZ
SUMA = SUMA + WYNIK(I)
30 KONTYNUUJ
KOMPAW = SUMA/LICZBA
KONIEC

PROGRAM AVENUM
C
PROGRAM GŁÓWNY C
C
C AUTOR: LOIS BIGBIE
C DATA: 15 MAJA 1990
C
Zmienne C:
C MAXNOS -> maksymalna liczba wartości wejściowych
C NUMS -> tablica liczb
C COUNT -> dokładna liczba wartości wejściowych
C AVG -> średnia zwrócona przez COMPAV
CI -> licznik pętli
C

PARAMETR(MAXNOS=5)
LICZBA CAŁKOWITA I, LICZBA
LICZBY PRAWDZIWE (MAXNOS), ŚREDNIE
LICZBA = 0
DO 80 I = 1,MAXNOS
CZYTAJ (5,*,END=100) LICZBY(I)
LICZBA = LICZBA + 1
80 KONTYNUUJ
100 ŚREDNIA = KOMPAW(NUMERY, LICZBA)
KONIEC

Kompilator nie wyświetla żadnych komunikatów o błędach podczas kompilacji tego programu. A jednak oto co
dzieje się, gdy jest uruchamiane:

$ średnia biegowa
70
90
85

$

Co się stało? Dlaczego program nic nie zrobił? Poniżej znajduje się wynik z
ftnczek gdy jest używany do debugowania powyższego programu:

$ ftnchek -list -symtab średnia

FTNCHEK wersja 3.3 listopad 2004

Plik średnia.f:

1 C AUTORZY: MIKE MYERS I LUCIA SPAGNUOLO
2 C DATA: 8 MAJA 1989
3
4 Zmienne C:
5 C SCORE -> tablica wyników testów
6 C SUM -> suma wyników testu
7 C COUNT -> licznik wczytanych wyników
8 CI -> licznik pętli
9
10 PRAWDZIWYCH FUNKCJI COMPAV (WYNIK, LICZBA)
11 SUMA CAŁKOWITA, LICZBA, J,SCORE(5)
12
13 DO 30 I = 1,LICZ
14 SUMA = SUMA + WYNIK(I)
15 30 KONTYNUUJ
16 KOMPAW = SUMA/LICZBA
^
Ostrzeżenie w pobliżu linii 16 kolumna 20: iloraz całkowity wyraż SUM/COUNT przekonwertowany na
real
17 KONIEC

Moduł COMPAV: func: real

Zmienne:

Nazwa Typ Przyciemnia Nazwa Typ Przyciemnia Nazwa Typ Przyciemnia Nazwa Typ Przyciemnia
COMPAV real COUNT intg I intg* J intg
SCORE ing 1 SUMA ing

* Zmienna nie została zadeklarowana. Typ został zdefiniowany domyślnie.

Ostrzeżenie w module COMPAV: Zmienne zadeklarowane, ale nigdy się do nich nie odwoływano:
J zadeklarowany w linii 11

Ostrzeżenie w module COMPAV: Zmienne mogą być użyte przed ustawieniem:
SUM użyta w linii 14
SUM ustawiona w linii 14

Zdefiniowano etykiety instrukcji:

Typ linii etykiety
<30> 15 wyk

18
19
20 PROGRAM AVENUM
21 C
22 C PROGRAM GŁÓWNY
23 C
24 C AUTOR: LOIS BIGBIE
25 C DATA: 15 MAJA 1990
26 C
27 Zmienne C:
28 C MAXNOS -> maksymalna liczba wartości wejściowych
29 C NUMS -> tablica liczb
30 C COUNT -> dokładna liczba wartości wejściowych
31 C AVG -> średnia zwracana przez COMPAV
32 CI -> licznik pętli
33 C
34
35 PARAMETR(MAXNOS=5)
36 LICZBA CAŁKOWITA I, LICZBA
37 LICZB PRAWDZIWYCH(MAXNOS), ŚREDNIE
38 LICZBA = 0
39 DO 80 I = 1,MAXNOS
40 CZYTAJ (5,*,END=100) LICZBY(I)
41 LICZBA = LICZBA + 1
42 80 KONTYNUUJ
43 100 ŚREDNIA = KOMPAW(NUMERY, LICZBA)
44 KONIEC

Moduł AVENUM: prog

Podprogramy zewnętrzne, o których mowa:

COMPAV: prawdziwy*

Zmienne:

Nazwa Typ Przyciemnia Nazwa Typ Przyciemnia Nazwa Typ Przyciemnia Nazwa Typ Przyciemnia
AVG real COUNT intg I intg MAXNOS intg*
NUMS prawdziwe 1

* Zmienna nie została zadeklarowana. Typ został zdefiniowany domyślnie.

Ostrzeżenie w module AVENUM: Zmienne ustawione, ale nigdy nie używane:
AVG ustawiony w linii 43

Operacje we/wy:

Identyfikator jednostki Nr jednostki Linia operacyjna formularza dostępu
5 SEQ FMTD ODCZYT 40

Zdefiniowano etykiety instrukcji:

Linia etykiety StmtType Linia etykiety StmtType
<80> 42 wykonanie <100> 43 wykonanie

W pliku medium.f wykryto 0 błędów składniowych
6 ostrzeżeń wystawionych w pliku średnia.f

Ostrzeżenie: Niezgodność typu danych argumentu podprogramu COMPAV na pozycji 1:
Atrapa arg SCORE w module COMPAV linia 10 w pliku Average.f jest typu intg
Rzeczywisty argument NUMS w wierszu 43 modułu AVENUM w pliku Average.f jest typu real

Zgodnie z ftnczek, program zawiera zmienne, które można wykorzystać wcześniej
przypisano wartość początkową oraz zmienne, które nie są potrzebne. ftnczek ostrzega również
użytkownikowi, że iloraz całkowity został przekonwertowany na liczbę rzeczywistą. Może to pomóc użytkownikowi
wyłapanie niezamierzonego błędu zaokrąglenia. Od -symtab wręczono flagę, ftnczek wydruki
wygenerować tabelę zawierającą identyfikatory z modułu lokalnego i odpowiadający im typ danych
i ilość wymiarów. Wreszcie, ftnczek ostrzega, że ​​funkcja COMPAV nie jest używana
z odpowiednim typem argumentów.

Z ftnczekz pomocą możemy zdebugować program. Widzimy, że były następujące
błędy:

1. Przed dzieleniem należy zamienić sumę i liczbę na liczby rzeczywiste.

2. Przed wejściem do pętli SUM powinna zostać zainicjowana na 0.

3. AVG nigdy nie został wydrukowany po obliczeniu.

4. Liczby NUMS powinny zostać zadeklarowane jako INTEGER zamiast REAL.

Widzimy również, że w funkcji COMPAV należało zadeklarować I, a nie J. Również,
W programie AVENUM nie zadeklarowano MAXNOS jako INTEGER, ani COMPAV jako REAL. Te nie są
błędy, ale mogą one wskazywać na nieostrożność. Tak się złożyło, że jest to domyślny typ tych
zmienne pokrywały się z zamierzonym typem.

Oto poprawiony program i jego wynik po uruchomieniu:

AUTORZY C: MIKE MYERS I LUCIA SPAGNUOLO
C DATA: 8 MAJA 1989
C
Zmienne C:
C SCORE -> tablica wyników testów
C SUM -> suma wyników testu
C COUNT -> licznik wczytanych wyników
CI -> licznik pętli
C
PRAWDZIWA FUNKCJA COMPAV (WYNIK, LICZBA)
SUMA CAŁKOWITA, LICZBA, I,SCORE(5)
C
SUMA = 0
DO 30 I = 1,LICZ
SUMA = SUMA + WYNIK(I)
30 KONTYNUUJ
COMPAV = zmiennoprzecinkowy(SUMA)/zmiennoprzecinkowy(LICZBA)
KONIEC
C
C
PROGRAM AVENUM
C
PROGRAM GŁÓWNY C
C
C AUTOR: LOIS BIGBIE
C DATA: 15 MAJA 1990
C
Zmienne C:
C MAXNOS -> maksymalna liczba wartości wejściowych
C NUMS -> tablica liczb
C COUNT -> dokładna liczba wartości wejściowych
C AVG -> średnia zwrócona przez COMPAV
CI -> licznik pętli
C
C
MAKSYMALNE LICZBY
PARAMETR(MAXNOS=5)
LICZBA CAŁKOWITA I, NUMS(MAXNOS), LICZBA
PRAWDZIWE ŚREDNIE, KOMPAV
LICZBA = 0
DO 80 I = 1,MAXNOS
CZYTAJ (5,*,END=100) LICZBY(I)
LICZBA = LICZBA + 1
80 KONTYNUUJ
100 ŚREDNIA = KOMPAW(NUMERY, LICZBA)
WRITE(6,*) 'ŚREDNIA =',ŚREDNIA
KONIEC
$ średnia biegowa
70
90
85

ŚREDNIA = 81.66666
$

Z ftnczekpomocy, nasz program zakończył się sukcesem!

INTERPRETACJA THE WYDAJNOŚĆ


Wiadomości przekazane przez ftnczek obejmują nie tylko błędy składniowe, ale także ostrzeżenia i
wiadomości informacyjne o rzeczach, które są legalne w języku Fortran, ale które mogą wskazywać na błędy lub
nieostrożność. Większość tych komunikatów można wyłączyć za pomocą opcji wiersza poleceń. Który
Opcja steruje każdym komunikatem w zależności od charakteru warunku, o którym jest ostrzegany.
Zobacz opisy flag wiersza poleceń w poprzednich sekcjach i poszczególnych
wiadomości poniżej. Każda wiadomość jest poprzedzona słowem lub frazą wskazującą na charakter wiadomości
stan i jego ciężkość.

``Błąd'' oznacza błąd składniowy. Najprostszym rodzajem błędów składniowych są błędy typograficzne
błędy, na przykład niezrównoważone nawiasy lub błędna pisownia słowa kluczowego. Ten typ
błąd jest wychwytywany przez parser i pojawia się z opisem „błąd analizy” lub „składnia”.
error'' (w zależności od wersji generatora parsera i tego, czy jest to GNU bizon or
UNIX Yacc). Tego typu komunikatu o błędzie nie można ukryć. Należy pamiętać, że tego typu
błąd często to oznacza ftnczek nie zinterpretował właściwie instrukcji, w której wystąpił błąd
wystąpi, tak że jego późniejsze operacje kontrolne będą zagrożone. Powinieneś
wyeliminuj wszystkie błędy składniowe przed przystąpieniem do interpretacji pozostałych komunikatów ftnczek
daje.

``Ostrzeżenie: niestandardowa składnia'' wskazuje na rozszerzenie języka Fortran ftnczek wspiera
ale nie jest to zgodne ze standardem Fortran 77. Rozszerzenia, które ftnczek akceptuje
opisano w sekcji dotyczącej rozszerzeń poniżej. Jednym z przykładów jest DO...ENDDO
budowa. Jeśli program korzysta z tych rozszerzeń, zostaną wyświetlone ostrzeżenia zgodnie z
specyfikacje pod -f77 ustawienie. Domyślnym zachowaniem jest brak ostrzeżeń.

„Ostrzeżenie” w innych przypadkach oznacza stan, który jest podejrzany, ale może tak być lub nie
błąd programistyczny. Często warunki te są zgodne z prawem w ramach normy. Niektóre są
nielegalne, ale nie mieszczą się w kategorii błędów składniowych. Błędy użytkowania są jednym z przykładów.
Odnoszą się one do możliwości wykorzystania zmiennej przed przypisaniem jej a
wartość (zazwyczaj błąd) lub że zmienna została zadeklarowana, ale nigdy nie została użyta (nieszkodliwa, ale
może wskazywać na nieostrożność). Ilość sprawdzania błędów użytkowania jest kontrolowana przez
-stosowanie flaga, która domyślnie określa maksymalną ilość sprawdzania.

Ostrzeżenia o obcięciu dotyczą sytuacji, w których dokładność może zostać niezamierzona utracona, np
przykład, gdy do zmiennej rzeczywistej przypisano wartość podwójnej precyzji. Te ostrzeżenia są
kontrolowany przez -obcięcie ustawienie, które jest domyślnie włączone.

``Nieprzenośne użycie'' ostrzega o pewnych funkcjach, które mogą nie być akceptowane przez niektóre kompilatory
nawet jeśli nie jest to sprzeczne ze standardem Fortran 77 lub może powodować działanie programu
działać inaczej na różnych platformach. Na przykład równoważność rzeczywistych i
zmienne całkowite są zwykle praktyką nieprzenośną. Stosowanie rozszerzeń do
Język standardowy jest oczywiście kolejnym źródłem nieprzenośności, ale jest on traktowany jako
osobna sprawa. Aby sprawdzić program pod kątem prawdziwej przenośności, zarówno -ruchliwość oraz
-f77 należy używać flag. Obydwa są domyślnie wyłączone. The -rozmiar słowa ustawienie jest
udostępniono, aby sprawdzić tylko te nieprzenośne zastosowania, które zależą od konkretnej maszyny
rozmiar słowa.

„Prawdopodobnie mylący wygląd” jest używany w odniesieniu do konstrukcji prawnych, które mogą nie oznaczać co
wydają się mieć na myśli na pierwszy rzut oka. Na przykład Fortran jest niewrażliwy na spację,
czyli niepotrzebna spacja w nazwach zmiennych lub brak spacji pomiędzy słowem kluczowym a a
zmienna może wywołać u czytelnika złe wrażenie. Komunikaty te można ukryć
wyłączając -ładny flaga, która jest domyślnie włączona.

Inne komunikaty podawane po przetworzeniu wszystkich plików i z nimi związane
porozumienia między modułami, nie używaj słowa „ostrzeżenie”, ale ogólnie do niego się zaliczaj
Kategoria. Przykładami mogą być niezgodności typów pomiędzy odpowiednimi zmiennymi w różnych
WSPÓLNE deklaracje bloków lub pomiędzy fikcyjnymi i rzeczywistymi argumentami podprogramu. Te
ostrzeżenia są kontrolowane przez -wspólny i -argumenty odpowiednio ustawienia. Domyślnie
oba są ustawione na maksymalną rygorystyczność sprawdzania.

Kolejna grupa ostrzeżeń o stanach, które często są nieszkodliwe, odnosi się do przypadków, w których
właściwości tablicy zmiennej przekazanej jako argument podprogramu różnią się w obu przypadkach
rutyny. Na przykład element tablicy można przekazać do podprogramu, który oczekuje a
cały szereg. Jest to powszechnie stosowana technika przetwarzania pojedynczych wierszy lub kolumn
tablice dwuwymiarowe. Może to jednak również wskazywać na błąd programowania. The -szyk
ustawienie pozwala użytkownikowi dostosować stopień rygorystyczności stosowanej przy sprawdzaniu tego
rodzaj zgodności pomiędzy rzeczywistymi i fikcyjnymi argumentami tablicy. Domyślnie ścisłość to
maksymalny.

„Ups” oznacza problem techniczny, czyli błąd ftnczek albo że to
zasoby zostały przekroczone.

Komunikaty o błędach składniowych i ostrzeżenia zawierają nazwę pliku wraz z numerem wiersza i
numer kolumny. ftnczek ma dwie różne opcje pojawienia się tych błędów
wiadomości. Jeśli -nowicjusz działa, co jest ustawieniem domyślnym, wiadomości są w stylu
zbliżony do normalnego angielskiego. (W stylu domyślnym nazwa pliku nie jest drukowana w wiadomościach
w treści programu if -lista obowiązuje.) Inny styl komunikatów o błędach
jest wybrany przez -nowicjusz opcja. W tym stylu wygląd wiadomości jest
podobny do systemu UNIX szarpie program.

ftnczek jest nadal ślepy na niektóre rodzaje błędów składniowych. Najważniejsze są dwa
szczegółowe sprawdzanie instrukcji FORMAT i prawie wszystko, co ma związek z kontrolą
przebieg wykonania za pomocą instrukcji IF, DO i GOTO: czyli prawidłowe zagnieżdżenie kontroli
struktury, dopasowywanie instrukcji otwierających, takich jak JEŻELI ... TO, z instrukcjami zamykającymi
takich jak ENDIF, oraz właściwe użycie etykiet instrukcji (cyfr). Większość kompilatorów to zrobi
wychwycić te błędy. Bardziej szczegółowe omówienie można znaleźć w sekcji Ograniczenia.

If ftnczek wyświetla komunikat o błędzie składni, gdy kompilator tego nie robi, może to być spowodowane tym, że
twój program zawiera rozszerzenie standardowego Fortranu, które jest akceptowane przez kompilator
ale nie przez ftnczek. (Zobacz sekcję dotyczącą rozszerzeń.) W systemie VAX/VMS możesz użyć
opcję kompilatora /STANDARD, aby kompilator akceptował tylko standardowy Fortran. NA
większości systemów UNIX lub UNIX, można to osiągnąć poprzez ustawienie flagi -ansi.

Wiele wiadomości przekazanych przez ftnczek są oczywiste. Te, które trochę potrzebują
dodatkowe wyjaśnienia wymieniono poniżej w kolejności alfabetycznej.

wspólny blok NAZWA: dane rodzaj niedopasowanie at position n
Połączenia n-ta zmienna w bloku COMMON różni się typem danych w dwóch różnych
deklaracje bloku COMMON. Domyślnie (-wspólny poziom rygorystyczności 3), ftnczek
jest bardzo wybredny w stosunku do bloków COMMON: wymienione w nich zmienne muszą dokładnie pasować
według typu danych i wymiarów tablicy. Oznacza to, że para prawna deklaracji w
różne moduły:
WSPÓLNY /COM1/ A,B
i
WSPÓLNY /COM1/ A(2)
spowoduje ftnczek dać ostrzeżenia na poziomie rygorystyczności 3. Te dwie deklaracje
są legalne w Fortranie, ponieważ oba deklarują dwie rzeczywiste zmienne. Przy rygorystyczności
na poziomie 1 lub 2, w tym przykładzie nie zostanie wyświetlone żadne ostrzeżenie, ale ostrzeżenie tak
podana w przypadku niezgodności typu danych, na przykład, jeśli B zostało zadeklarowane jako INTEGER.
Kontrolowany przez -wspólny ustawienie.

wspólny blok IMIĘ ma długie dane rodzaj następujący krótki dane rodzaj
Niektóre kompilatory wymagają wyrównania elementów wielobajtowych, tak aby każdy element zaczynał się od
adres będący wielokrotnością rozmiaru elementu. Zatem jeśli krótki (np. pojedynczy-
po elemencie o dokładności rzeczywistej) następuje długi element (np. o podwójnej precyzji rzeczywistej), the
ten ostatni może nie być prawidłowo ustawiony. Kontrolowany przez -przenośność=wspólne wyrównanie
opcja.

wspólny blok IMIĘ ma mieszany charakter i nie-charakterystyczny zmienne
Standard ANSI wymaga, aby każda zmienna w bloku COMMON była typu
CHARACTER, wówczas wszystkie inne zmienne w tym samym bloku COMMON również muszą być typu
POSTAĆ. Kontrolowany przez -f77=mieszane-wspólne opcja.

wspólny blok NAZWA: zmienne długość
W razie zamówieenia projektu -wspólny poziom ustawień 2, ten komunikat oznacza, że ​​zadeklarowano blok COMMON
mają różną liczbę słów w dwóch różnych podprogramach. Słowo to ilość
pamięci zajmowanej przez jedną liczbę całkowitą lub zmienną rzeczywistą. Dla -wspólny poziom ustawień 3,
oznacza to, że obie deklaracje mają różną liczbę zmiennych, gdzie an
tablica o dowolnym rozmiarze jest uważana za jedną zmienną. To niekoniecznie jest błąd,
ale może to wskazywać, że na jednej z list brakuje zmiennej. Zauważ to
zgodnie ze standardem Fortran 77 jest to błąd dla nazwanych bloków COMMON (ale
nie puste WSPÓLNE), aby różnić się liczbą słów w różnych deklaracjach
moduły. Oddany za -wspólny ustawienie 2 lub 3.

błąd: Źle utworzony logiczne/relacyjne operator or stały

błąd: Źle utworzony real stały
Analizator składni znalazł początek jednego ze specjalnych słów rozpoczynających się i
kończyć się kropką (np. .EQ.) lub początkiem stałej numerycznej, ale tak się nie stało
udało się znaleźć kompletny przedmiot tego rodzaju.

błąd: nie może be nastawny rozmiar in moduł IMIĘ
Nie można zadeklarować zmiennej znakowej o rozmiarze zawierającym gwiazdkę
nawiasach, chyba że jest to fikcyjny argument, parametr lub nazwa funkcji
zdefiniowane w module.

błąd: nie może be Deklarowana in RATOWAĆ oświadczenie in moduł IMIĘ
W instrukcji SAVE można zadeklarować tylko zmienne lokalne i wspólne bloki.

błąd: Nie ścieżka do to oświadczenie
ftnczek wykryje instrukcje, które są ignorowane lub pomijane, ponieważ ich nie ma
przewidywalną drogę do oświadczenia. Na przykład instrukcja nienumerowana (a
instrukcja bez etykiety instrukcji), występująca bezpośrednio po instrukcji GOTO,
nie może zostać wykonana.

błąd: Parse błąd
Oznacza to, że parser analizujący program Fortran na wyrażenia,
wypowiedzi itp., nie był w stanie znaleźć właściwej interpretacji dla niektórych fragmentów
wypowiedzi w programie. Jeśli Twój kompilator nie zgłosi błędu składniowego pod adresem
w tym samym miejscu najczęstsze wyjaśnienia to: (1) użycie rozszerzenia ANSI
standardowy Fortran, który nie jest rozpoznawany przez ftnczeklub (2) oświadczenie tego wymaga
bardziej przewidywalne niż ftnczek zastosowań (zobacz sekcję o błędach).

UWAGA: Ten komunikat oznacza, że ​​instrukcja, której dotyczy problem, nie jest interpretowana.
Dlatego możliwe, że ftnczekpóźniejsze przetwarzanie będzie błędne, jeśli
zależy to od wszelkich kwestii, na które wpływa to oświadczenie (deklaracje typu itp.).

błąd: Składnia błąd
To jest to samo, co ``Błąd: błąd analizy'' (patrz wyżej). Jest generowany, jeśli Twój
wersja ftnczek został zbudowany przy użyciu systemu UNIX Yacc generator parsera zamiast GNU
bizon.

Identyfikatory który jest nie wyjątkowy in drugim sześć znaki
Ostrzega, że ​​dwa identyfikatory dłuższe niż 6 znaków nie różnią się między sobą
pierwsze 6 znaków. Ma to na celu przenośność: nie można ich uważać za odrębne
przez niektóre kompilatory. Kontrolowany przez -sześć char opcja.

Nieprzenośny stosowanie: argument precyzja może nie be skorygowania dla wewnętrzny funkcjonować
Precyzja argumentu przekazanego do funkcji wewnętrznej może być nieprawidłowa
niektóre komputery. Wywoływane, gdy zmienna numeryczna jest zadeklarowana z wyraźną precyzją
(np. REAL*8 X) jest przekazywany do określonej funkcji wewnętrznej (np. DSQRT(X)).
Kontrolowany przez -przenośność = mieszany rozmiar i -rozmiar słowa.

Nieprzenośny stosowanie: charakter stała/zmienna długość przekracza 255
Niektóre kompilatory nie obsługują ciągów znaków o długości większej niż 255 znaków.
Kontrolowany przez -przenośność = długi ciąg.

Nieprzenośny stosowanie: filet zawiera tabs
ftnczek rozwija tabulatory tak, aby odpowiadały spacji aż do następnej kolumny, czyli a
wielokrotność liczby 8. Niektóre kompilatory traktują tabulatory inaczej i jest to również możliwe
w plikach przesyłanych pocztą elektroniczną tabulatory zostaną w jakiś sposób zamienione na puste.
Dlatego pliki zawierające tabulatory mogą po ich skompilowaniu nie zostać poprawnie skompilowane
przeniesione. ftnczek nie wyświetla tego komunikatu, jeśli tabulatory występują tylko w komentarzach
lub stałe znakowe. Kontrolowany przez -przenośność=zakładka.

Nieprzenośny stosowanie: niecałkowite DO pętla miedza
To ostrzeżenie jest wyświetlane tylko wtedy, gdy indeks DO i granice nie są liczbami całkowitymi. Zastosowanie
ilości niecałkowite w instrukcji DO mogą powodować nieoczekiwane błędy lub inne
wyniki na różnych maszynach ze względu na efekt zaokrąglenia. Kontrolowany przez
-przenośność = real-do.

Ewentualnie it is an szyk który była nie Deklarowana
Komunikat ten jest dołączany do ostrzeżeń związanych z wywołaniem funkcji lub z komunikatem
niezgodność typu argumentu, w przypadku której istnieje możliwość, że coś, co wydaje się być a
funkcja w rzeczywistości ma być tablicą. Jeśli programista zapomniał zwymiarować
tablicę, odniesienia do tablicy będą interpretowane jako wywołania funkcji.
Ten komunikat zostanie pominięty, jeśli dana nazwa pojawi się w ZEWNĘTRZNYM lub
Oświadczenie WEWNĘTRZNE. Kontrolowany przez -nowicjusz opcja.

Ewentualnie zwodniczy wygląd: znaków Przeszłość 72 kolumny
Program jest przetwarzany ze standardową szerokością pola instrukcji
z 72, a poza kolumną 72 znaleziono kilka niepustych znaków. W tym przypadku
ftnczek nie przetwarza znaków poza kolumną 72 i powiadamia użytkownika
że stwierdzenie może nie mieć takiego znaczenia, jakie wydaje się mieć. Te
znaki mogą być w zamierzeniu programisty uważane za znaczące, ale tak właśnie będzie
ignorowane przez kompilator. Kontrolowany przez -pretty=długa linia.

Ewentualnie zwodniczy wygląd: wspólny blok Deklarowana in jeszcze niż pierwszej oświadczenie
Takie wielokrotne oświadczenia są legalne i mają taki sam skutek jak kontynuacja
pierwotna deklaracja bloku. To ostrzeżenie jest wyświetlane tylko w przypadku dwóch
deklaracje są oddzielone jedną lub większą liczbą instrukcji pośrednich. Kontrolowany przez
-pretty=wielokrotne-wspólne.

Ewentualnie zwodniczy wygląd: Kontynuacja następujący sposób komentarz or pusty linia
ftnczek wyświetla ten komunikat ostrzegawczy, aby ostrzec użytkownika, że ​​kontynuacja a
Stwierdzenie jest przeplatane komentarzami, co ułatwia przeoczenie. Kontrolowany przez
-dość=kontynuacja.

Ewentualnie zwodniczy wygląd: Obcy zdanie wtrącone
Ostrzega przed nawiasami otaczającymi samą zmienną w wyrażeniu. Kiedy
zmienna w nawiasach jest przekazywana jako argument do podprogramu, jest traktowana jako
wyrażenie, a nie zmienna, której wartość może być modyfikowana przez wywoływaną procedurę.
Kontrolowany przez -pretty=nawiasy.

Podprogram NAZWA: argument dane rodzaj niedopasowanie at position n
Podprogram n-ty aktualny argument (w CALL lub przy użyciu funkcji)
różni się typem danych lub precyzją od n-ty argument fikcyjny (w podprogramie lub
Deklaracja FUNKCJI). Na przykład, jeśli użytkownik zdefiniuje podprogram poprzez
PODPROCEDURA SBA(X)
PRAWDZIWY X
i gdzie indziej wywołuje SUBA przez
ZAPROSZENIE SUBA(2)
ftnczek wykryje błąd. Powodem jest to, że liczba 2 jest liczbą całkowitą,
nieprawdziwy. Użytkownik powinien był napisać
ZADZWOŃ DO SUBY(2.0)

Podczas sprawdzania argumentu będącego podprogramem, ftnczek trzeba umieć określić
czy jest to funkcja czy podprogram. Zasady stosowane przez ftnczek aby to zrobić, są
w następujący sposób: Jeśli podprogram, oprócz tego, że jest przekazywany jako rzeczywisty argument, jest również
wywoływany bezpośrednio w innym miejscu tego samego modułu, wówczas jego typ jest przez to określany
stosowanie. Jeśli nie, to jeśli nazwa podprogramu nie pojawia się jawnie
deklaracja typu, zakłada się, że jest to podprogram; jeśli jest to wyraźnie wpisane, tak jest
traktowany jako funkcja. Dlatego podprogramy przekazywane są jedynie jako rzeczywiste argumenty
być zadeklarowana przez instrukcję EXTERNAL w module wywołującym, podczas gdy funkcje muszą
należy również wpisać jawnie, aby uniknąć generowania tego komunikatu o błędzie.
Kontrolowany przez -argumenty ustawienie.

Podprogram NAZWA: argument szykowność niedopasowanie at position n
Sytuacja podobna do poprzedniej, ale argument fikcyjny podprogramu różni się od
odpowiedni rzeczywisty argument w liczbie wymiarów lub liczbie
elementy. Kontrolowany przez -szyk Wraz z -argumenty ustawienia.

Podprogram NAZWA: argument niedopasowanie at position n
Argument fikcyjny w postaci znaku jest większy niż odpowiadający mu argument rzeczywisty, lub a
Sztuczny argument Holleritha jest większy niż odpowiadający mu rzeczywisty argument.
Kontrolowany przez -argumenty ustawienie.

Podprogram NAZWA: argument zwyczaj niedopasowanie
ftnczek wykrywa możliwy konflikt między sposobem, w jaki podprogram używa argumentu
oraz sposób, w jaki argument jest dostarczany do podprogramu. Konflikt może
być jednym z dwóch typów, jak opisano poniżej.

Manekin arg is zmodyfikowany, Aktualne arg is const or expr
Argument fikcyjny to argument nazwany w instrukcji PODPROGRAM lub FUNKCJA
wykorzystywane w podprogramie. Rzeczywisty argument to argument przekazany do a
podprogram lub funkcję przez osobę wywołującą. ftnczek twierdzi, że jest to fikcyjny argument
zmodyfikowany przez podprogram, co oznacza, że ​​jego wartość zostanie zmieniona w wywołaniu
moduł. Odpowiedni rzeczywisty argument nie powinien być stałą ani wyrażeniem,
ale raczej element zmiennej lub tablicy, do którego można legalnie przypisać.
Kontrolowane przez -usage=arg-const-zmodyfikowany opcja.

Manekin arg używany zanim zestaw, Aktualne arg nie zestaw
W tym przypadku w podprogramie można zastosować argument fikcyjny przed przypisaniem wartości
do niego przez podprogram. Odpowiedni rzeczywisty argument powinien mieć wartość
przypisane mu przez obiekt wywołujący przed wywołaniem podprogramu. Kontrolowany przez
-usage=var-niezainicjowany opcja.

Na to ostrzeżenie nie ma wpływu -argumenty ustawienie.

Podprogram IMIĘ przywołany niekonsekwentnie
Tutaj niezgodność występuje pomiędzy typem danych samego podprogramu jako używany i jako
zdefiniowany. Na przykład, jeśli użytkownik zadeklaruje
FUNKCJA CAŁKOWITA LICZBA(A)
i wywołuje COUNT w innym module jako
N = LICZBA(A)
bez zadeklarowania typu danych, domyślnie będzie to typ rzeczywisty, oparty na pierwszym
litera jego imienia. Moduł wywołujący powinien zawierać deklarację
LICZBA CAŁKOWITA

Przyznane za -argumenty ustawienie 2 lub 3.

Podprogram NAZWA: zmienne długość argument listy:
Stwierdzono niespójność pomiędzy liczbą fikcyjnych argumentów (parametrów)
podprogram i liczbę rzeczywistych argumentów podanych mu w wywołaniu.
ftnczek śledzi wszystkie wywołania podprogramów (instrukcje CALL i
wyrażenia wykorzystujące funkcje) i porównuje je z definicjami
podprogramów w innym miejscu kodu źródłowego. Kompilator Fortran zwykle tego nie robi
wychwycić tego typu błąd. Oddany za -argumenty ustawienie 1 lub 3.

Zmienna nie zdeklarowany. Rodzaj Nieruchomości ma być niejawnie zdefiniowane
Podczas drukowania tabeli symboli dla modułu, ftnczek oznaczy wszystko gwiazdką
identyfikatory, które nie są jawnie wpisane i będą pokazywać typ danych, który był
przypisywane poprzez niejawne pisanie. Zapewnia to wsparcie użytkownikom, którzy tego chcą
zadeklaruj wszystkie zmienne zgodnie z wymaganiami w języku Pascal lub innych językach. Ten
komunikat pojawia się tylko wtedy, gdy -symtab opcja jest aktywna. Alternatywnie użyj
-ogłosić flag, jeśli chcesz uzyskać listę wszystkich niezadeklarowanych zmiennych.

Zmienne Deklarowana ale nigdy odwołanie
Wykrywa wszelkie identyfikatory, które zostały zadeklarowane w Twoim programie, ale nigdy nie zostały użyte,
albo przypisać wartość, albo uzyskać dostęp do jej wartości. Zmienne w COMMON
Są wykluczone. Kontrolowany przez -usage=zmienna-nieużywana opcja.

Zmienne zestaw ale nigdy używany
ftnczek powiadomi użytkownika, gdy zmiennej zostanie przypisana wartość, ale
zmienna nie jest w inny sposób używana w programie. Zwykle wynika to z
przeoczenie. Kontrolowany przez -usage=var-set-nieużywany opcja.

Zmienne używany zanim zestaw
Ten komunikat wskazuje, że identyfikator jest używany do obliczenia wartości przed nią
inicjalizacja. Takie użycie może prowadzić do obliczenia nieprawidłowej wartości, ponieważ
jego wartość początkowa nie jest kontrolowana. Kontrolowany przez -usage=var-niezainicjowany
opcja.

Zmienne może be używany zanim zestaw
Podobny do używanego przed ustawieniem, z tą różnicą, że ftnczek nie jest w stanie określić jego stanu
z pewnością. ftnczek zakłada, że ​​zmienna może zostać użyta przed ustawieniem, jeśli jest pierwsza
użycie zmiennej następuje przed jej przypisaniem w tekście programu.
Kontrolowane przez -usage=var-niezainicjowany opcja.

Ostrzeżenie: DO wskaźnik is nie liczba całkowita
To ostrzeżenie jest wyświetlane tylko wtedy, gdy granice DO są liczbami całkowitymi, ale indeks DO nie jest.
Może to oznaczać niepowodzenie w zadeklarowaniu indeksu jako liczby całkowitej. Kontrolowany przez
-truncation=prawdziwe wykonanie opcja.

Ostrzeżenie: liczba całkowita iloraz expr ... przeliczone do real
Iloraz dwóch liczb całkowitych daje wynik typu całkowitego, w którym
część ułamkowa jest odrzucana. Jeśli takie wyrażenie całkowite obejmujące dzielenie to
później przekonwertowany na prawdziwy typ danych, być może nastąpił podział na typ rzeczywisty
przeznaczony. Kontrolowany przez -truncation=int-div-real opcja.

Ostrzeżenie: Liczba całkowita iloraz expr ... używany in wykładnik potęgowy
Iloraz dwóch liczb całkowitych daje wynik typu całkowitego, w którym
część ułamkowa jest odrzucana. Jeśli takie wyrażenie całkowite zostanie użyte jako wykładnik,
jest całkiem prawdopodobne, że zamierzono podział na typy rzeczywiste. Kontrolowany przez
-truncation=int-div-wykładnik opcja.

Ostrzeżenie: IMIĘ nie zestaw jeśli chodzi o komunikację i motywację POWRÓT napotkany
Sposób, w jaki funkcje w Fortranie zwracają wartość, polega na przypisaniu wartości do
nazwa funkcji. Komunikat ten wskazuje, że funkcja nie została przypisana
wartość przed punktem, w którym znaleziono instrukcję RETURN. Dlatego tak jest
możliwe, że funkcja może zwrócić niezdefiniowaną wartość.

Ostrzeżenie: Niestandardowe składnia: nastawny rozmiar nie może be połączone tutaj
Standard Fortran 77 (rozdz. 6.2.2) zabrania łączenia zmiennych znakowych
którego rozmiar jest gwiazdką w nawiasach, z wyjątkiem instrukcji przypisania.
Kontrolowany przez -f77=wyrażenie mieszane.

Ostrzeżenie: Niestandardowe składnia : znaczący znaków Przeszłość 72 kolumny
To ostrzeżenie jest podane w punkcie -f77=długa linia ustawienie, jeśli -kolumny ustawienie ma
zostało użyte do zwiększenia szerokości pola instrukcji, a instrukcja ma znaczenie
zaprogramuj tekst poza kolumną 72. Standardowy Fortran ignoruje cały tekst w tych kolumnach,
ale niektóre kompilatory tego nie robią. Zatem program może być traktowany inaczej
różne kompilatory.

Ostrzeżenie: Niestandardowe składnia : Zestawienie sprzedaży na zewnątrz of zamówienie.
ftnczek wykryje instrukcje spoza kolejności określonej dla ANSI
standardowy Fortran 77. Tabela 1 ilustruje dozwoloną sekwencję instrukcji w
Język fortrański. Stwierdzenia, które są nie w porządku, są mimo to interpretowane przez
ftnczek, aby zapobiec „kaskadom” komunikatów o błędach. Licznik sekwencji również
wycofane, aby zapobiec powtórzeniu komunikatu o błędzie dla bloku podobnego
sprawozdania. Kontrolowany przez -f77=kolejność instrukcji opcja.

-------------------------------------------------- ------
| | domniemany
| parametr |-----------------------------------
| | inna specyfikacja
format |---------------|------
i | | funkcja-wyrażenia
wpis | dane |---------------------
| | wykonywalny
-------------------------------------------------- ------

Tabela 1

Ostrzeżenie: Możliwy podział by zero
Komunikat ten jest drukowany wszędzie tam, gdzie wykonywane jest dzielenie (z wyjątkiem dzielenia przez a
stały). Użyj go, aby zlokalizować problem dzielenia czasu wykonania przez problem zerowy. Kontrolowane
by -podział opcja.

Ostrzeżenie: real kadłubowy do międzyn
ftnczek wykrył instrukcję przypisania, która ma prawdziwe wyrażenie na
po prawej stronie, ale zmienna całkowita po lewej stronie. Część ułamkowa wartości rzeczywistej
będzie zgubiony. Jeśli jawnie przekonwertujesz wyrażenie rzeczywiste na liczbę całkowitą za pomocą
Funkcja wewnętrzna INT lub NINT, żadne ostrzeżenie nie zostanie wydrukowane. Podobny komunikat jest
drukowane, jeśli wyrażenie o podwójnej precyzji jest przypisane do pojedynczej precyzji
zmienna itp. Kontrolowane przez -obcięcie=degradacja opcja.

Ostrzeżenie: indeks is nie liczba całkowita
Ponieważ indeksy dolne tablicy są zwykle wielkościami całkowitymi, należy użyć liczby niecałkowitej
wyrażenie tutaj może sygnalizować błąd. Kontrolowany przez -truncation=prawdziwy indeks dolny
opcja.

Ostrzeżenie: Autor nieznany wewnętrzny funkcjonować
Ten komunikat ostrzega użytkownika, że ​​nazwa zadeklarowana w instrukcji INTRINSIC jest
nieznane ftnczek. Prawdopodobnie jest to niestandardowa funkcja wewnętrzna i dlatego
program nie będzie przenośny. Funkcja będzie traktowana przez ftnczek jako użytkownik-
zdefiniowana funkcja. To ostrzeżenie nie jest pomijane przez żadną opcję, ponieważ ma ono wpływ
ftnczekanaliza programu. Jeśli jednak funkcja wewnętrzna znajduje się w jednym z
obsługiwane zestawy niestandardowych elementów wewnętrznych, możesz użyć -wewnętrzny ustawienie
przyczyna ftnczek rozpoznać.

OGRANICZENIA ROLNICZE ROZSZERZENIA


ftnczek akceptuje programy Fortran-77 w standardzie ANSI z pewnymi drobnymi i licznymi ograniczeniami
wspólne rozszerzenia.

Ograniczenia:
Argumenty fikcyjne w funkcjach instrukcji są traktowane jak zwykłe zmienne
program. Oznacza to, że ich zakres obejmuje cały podprogram, a nie tylko instrukcję
definicja funkcji.

Sprawdzanie instrukcji FORMAT jest luźne i toleruje brakujące separatory (przecinek,
itp.) pomiędzy deskryptorami formatu w miejscach, gdzie jest to wymagane przez Standard, oraz
pozwalając .d pola deskryptorów, które nie powinny ich zawierać. Ostrzega pod
-f77=format-edycja-opisu o niestandardowych typach deskryptorów (takich jak O) i obsługiwanych
rozszerzenia.

Istnieje kilka rozszerzeń składniowych i elementów Fortran 90, które to umożliwiają ftnczek akceptuje
ale bardzo mało sprawdza. Na przykład użycie wskaźnika (niezależnie od tego, czy
niestandardowa składnia Cray lub składnia Fortran 90) nie jest sprawdzana inaczej niż dla set
i używany stan. Mamy nadzieję, że pewnego dnia nastąpi dokładniejsze sprawdzenie
zaimplementowane, ale na razie użytkownik powinien rozważyć akceptację tej składni
funkcje po prostu dla wygody umożliwiającej sprawdzenie innych aspektów kodu
je zawiera. Zobacz sekcję Rozszerzenia, aby uzyskać szczegółowe informacje na temat funkcji
zaakceptowane, ale nie w pełni sprawdzone.

Jeśli podprogram dostarczony przez użytkownika ma taką samą nazwę jak podprogram niestandardowy
funkcje rozpoznawane przez ftnczek, należy go zadeklarować w instrukcji EXTERNAL w
dowolną procedurę, która ją wywołuje. W przeciwnym razie będzie podlegał normalnej kontroli
przypisany funkcji wewnętrznej. Ponieważ niestandardowe elementy wewnętrzne nie są
standardem, to oświadczenie ZEWNĘTRZNE nie jest wymagane przez standard Fortran 77.
Korzystanie z -wewnętrzne=brak ustawienie, rozpoznanie większości niestandardowych elementów
(z wyjątkiem tylko tych potrzebnych do obsługi podwójnego złożonego typu danych) można odwrócić
wyłączony. Zobacz listę obsługiwanych niestandardowych funkcji wewnętrznych w sekcji
dyskusja na temat -wewnętrzny ustawienie powyżej.

Rozszerzenia:
Wszystkie te rozszerzenia (z wyjątkiem małych liter) będą generować ostrzeżenia, jeśli
Istotny -f77 opcja jest ustawiona. Niektóre z rozszerzeń wymienionych poniżej są częścią
standardu Fortran-90. Są one oznaczone oznaczeniem (F90).

Dozwolone są tabulatory i tłumaczone na równoważne spacje odpowiadające tabulatorowi
zatrzymuje się co 8 kolumn. Standard nie rozpoznaje zakładek. Zauważ, że niektórzy
kompilatory dopuszczają tabulatory, ale traktują je inaczej. Leczenie określone dla DEC
FORTRAN można osiągnąć za pomocą -source=zakładka-dec ustawienie.

Ciągi znaków mogą być rozdzielane cudzysłowami lub apostrofami. Sekwencja dwóch
znaki ogranicznika są interpretowane jako pojedynczy osadzony znak ogranicznika.
(F90)

Ciągi mogą zawierać sekwencje ucieczki w stylu ukośnika odwrotnego w stylu UNIX. Oni będą
interpretowane w ten sposób, jeżeli -source=unix-odwrotny ukośnik ustawienie jest podane. W przeciwnym razie
znak ukośnika odwrotnego będzie traktowany jak normalny znak drukowany.

Kod źródłowy może być w darmowym formacie Fortran 90 lub w tradycyjnym, stałym formacie.
(F90)

Jako separator instrukcji dozwolony jest średnik. (F90)

Dozwolone są małe litery, które są wewnętrznie konwertowane na wielkie litery
z wyjątkiem ciągów znaków. Norma określa tylko wielkie litery, z wyjątkiem
komentarze i ciągi znaków. (F90)

Dopuszczalne są stałe Holleritha, zgodnie z normą Fortran 77,
dodatek C. Nie należy ich używać w wyrażeniach ani mylić z typem danych
POSTAĆ.

Literę „D” (dużą lub małą) w kolumnie 1 traktuje się jako początek a
komentarz. Nie ma możliwości traktowania takich linii jako instrukcji, a nie komentarzy.

Wyciągi mogą być dłuższe niż 72 kolumny pod warunkiem zachowania ustawienia -kolumny była
użyte do zwiększenia limitu. Zgodnie ze standardem cały tekst z kolumn 73
do 80 jest ignorowane, a żadna linia nie może być dłuższa niż 80 kolumn.

Nazwy zmiennych mogą mieć więcej niż sześć znaków. Norma określa sześć jako
maksymalny. ftnczek pozwala na nazwy o długości do 31 znaków (F90).

Nazwy zmiennych mogą zawierać podkreślenia i znaki dolara (lub inne znaki niealfabetyczne).
znaków określonych przez -znaki-identyfikatora opcja). Te znaki są
traktowane tak samo jak litery alfabetu. Domyślny typ zmiennych rozpoczynających się
z tymi postaciami jest PRAWDZIWE. W instrukcjach typu IMPLICIT określających zakres
znaków, po znaku Z następuje znak dolara, po którym następuje podkreślenie. (Każdy inny
znaki zdefiniowane przez użytkownika są traktowane tak samo jak znak dolara.) Fortran 90
zezwala na podkreślenia w nazwach zmiennych.

Wersja UNIX toleruje obecność dyrektyw preprocesora, czyli linii
zaczynając od znaku funta (#). Są one traktowane jako komentarze, z wyjątkiem #line
dyrektywy, które są interpretowane i używane do ustawiania numeru linii i źródła
nazwa pliku ostrzeżeń i komunikatów o błędach. Zauważ, że dyrektywy #include nie są
przetworzone przez ftnczek. Programy, które ich używają do dołączania plików źródłowych, powinny być
przechodzi przez preprocesor przed wprowadzeniem do pliku ftnczek. Jak wspomniano poniżej,
ftnczek przetwarza instrukcje INCLUDE, które mają inną składnię. Jakiś
program opcjonalny, ftnpp(1L) (dostępny osobno) zapewnia wstępne przetwarzanie
poprawnie obsługuje pliki INCLUDE.

Dopuszczalna jest struktura sterująca Fortran 90 DO ... ENDDO. CYKL i WYJŚCIE
oświadczenia są akceptowane. Wszystkie z nich mogą mieć opcjonalną nazwę konstrukcji do, ale
nazwy konstrukcji nie są sprawdzane pod kątem spójności. (F90)

Zaakceptowano konstrukcję Fortran 90 SELECT CASE. (F90)

Nazwy konstrukcji są również akceptowane w przypadku IF, THEN, ELSE, ENDIF i SELECT CASE
sprawozdania. (F90)

Dozwolone są instrukcje ACCEPT i TYPE (dla wejść/wyjść terminala).
składnia jak PRINT.

Tolerowana jest tak zwana składnia „wskaźnika Cray”. To nie to samo co
Instrukcja Fortran 90 POINTER. Nie ma prawdziwego sprawdzenia innego oświadczenia
niż podstawowa składnia. Forma tego stwierdzenia jest
WSKAŹNIK (wskaźnik, wskazówka) [,(wskaźnik, wskazówka)]
Zmienne wskaźnikowe mają przypisany typ danych INTEGER *4. Sprawdzanie użycia
zmienne pointee są pomijane, ponieważ w praktyce dostęp do nich jest pośredni
poprzez wskaźniki.

Akceptowane są następujące składnie związane ze wskaźnikami w języku Fortran 90: ALLOCATABLE,
Instrukcje POINTER i TARGET oraz te same atrybuty w deklaracjach typów;
Instrukcje wykonywalne ALOCATE, DEALLOCATE i NULLIFY; przypisywanie wskaźników za pomocą
=> operator; oraz funkcje wewnętrzne ALLOCATED i ASSOCIATED. Mało semantyczne
sprawdzanie zmiennych wskaźnikowych i operacji odbywa się poza podstawowym zestawem i używanym
status. Nie ma na przykład sprawdzania takich błędów, jak wiszące wskaźniki,
lub użycie nieprzydzielonych tablic.

Instrukcje mogą mieć dowolną liczbę linii kontynuacji. Fortran 77 i Fortran
Standardy 90 pozwalają na maksymalnie 19 w formie stałego źródła. Standard Fortran 90
pozwala na maksymalnie 39 w formie darmowego źródła.

Operatory relacyjne (porównania) złożone ze znaków interpunkcyjnych, a mianowicie: < <= == /= > >=
są dozwolone. (F90)

Dozwolone są komentarze śródliniowe rozpoczynające się od wykrzyknika. (F90)

Obsługiwane jest we/wy z listy nazw. Składnia jest taka sama jak w Fortranie 90.

Instrukcje FORMAT mogą zawierać znak dolara, aby wskazać zniesienie przewozu-
powrót. Wyrażenie całkowite ujęte w nawiasy ostre może być użyte w dowolnym miejscu w a
Instrukcja FORMAT, w której standard Fortran 77 dopuszcza stałą całkowitą (z wyjątkiem
dla długości stałej Holleritha), aby zapewnić wartość czasu wykonania dla powtórzenia
specyfikacji lub szerokości pola.

W instrukcjach I/O dozwolone są niestandardowe słowa kluczowe, odpowiadające tym w VMS
Fortran.

Obsługiwana jest instrukcja IMPLICIT NONE. Znaczenie tego stwierdzenia jest takie
wszystkie zmienne muszą mieć jawnie zadeklarowane typy danych. Zamiast oflagować
wystąpienia takich zmiennych z komunikatami o błędach składniowych, ftnczek czeka do
koniec modułu, a następnie wypisuje listę wszystkich niezadeklarowanych zmiennych
robi dla -ogłosić opcja. (F90)

Typy danych INTEGER, REAL, COMPLEX i LOGICAL mogą mieć opcję
specyfikacja precyzji w deklaracjach typu. Na przykład REAL*8 oznacza 8 bajtów
zmiennoprzecinkowy typ danych. Typ danych REAL*8 nie jest koniecznie brany pod uwagę
odpowiednik PODWÓJNEJ PRECYZJI, w zależności od -rozmiar słowa ustawienie. Fortran 77
Standard pozwala na określenie długości tylko dla danych ZNAKOWYCH.

ftnczek obsługuje specyfikację typu DOUBLE COMPLEX dla wielkości zespolonej, której
części rzeczywiste i urojone mają podwójną precyzję. Arytmetyka w trybie mieszanym obejmująca
kompleks o pojedynczej precyzji z rzeczywistymi danymi o podwójnej precyzji, zabroniony na mocy art
Standard, daje podwójnie złożony wynik.

Akceptowane są deklaracje typów łączonych i inicjatory przypominające instrukcje danych.
Mają one formę standardowej deklaracji typu Fortran 77, po której następuje ukośnik
rozdzielana lista stałych, takich jak ta używana w instrukcji DATA. Przykład
składnia to
LICZBA CAŁKOWITA N / 100 /
Ta drania forma deklaracji inicjującej nie została przyjęta w Fortranie 90. Takie
oświadczenia należy składać przy wykorzystaniu standardowego formularza opisanego poniżej, tj
zaakceptowana przez ftnczek.

Obsługa deklaracji typu opartych na atrybutach języka Fortran 90 jest ograniczona. Ten
styl deklaracji wyróżnia się użyciem podwójnego dwukropka (::) pomiędzy
lista atrybutów i lista zadeklarowanych zmiennych. Obsługiwane funkcje mogą
będą odpowiednie dla początkujących programistów, ale nie są jeszcze wystarczające dla profesjonalnych
wysokiej jakości programy Fortran 90. Mam nadzieję dodać obsługę większej liczby funkcji w przyszłości
wydania. Zapraszam wolontariuszy do pomocy w tym zadaniu. Zobacz plik ToDo w formacie
szczegóły dotyczące dystrybucji kodu źródłowego. Poza tym obecnie akceptowane atrybuty
wszystkie typowe typy danych to WYMIAR, ZEWNĘTRZNY, WEWNĘTRZNY, PARAMETR i ZAPISZ.
Nowa forma deklaracji umożliwia także przypisanie wartości do zmiennych
zdeklarowany. Obecnie (LEN=wartość) jest również forma określania długości znaków
przyjęty. Rodzaje specyfikacji, użycie (KIND=wartość) są analizowane, ale tak nie jest
przetworzone: wszystkie rodzaje są traktowane jako rodzaje domyślne. Poza tym niewiele jest kontroli
tych deklaracji wykracza poza podstawową składnię.

Dostępnych jest wiele powszechnie spotykanych, niestandardowych funkcji wewnętrznych. Zobacz
dyskusja o -wewnętrzny aby zapoznać się z listą funkcji i sposobem kontrolowania, które z nich są
rozpoznane.

Sprawdzanie argumentów nie jest ścisłe w przypadku niestandardowych elementów wewnętrznych, które pobierają tablice lub
mieszane typy argumentów.

ftnczek pozwala na instrukcję INCLUDE, która powoduje włączenie tekstu pliku
podany plik. Składnia jest
WŁĄCZAĆ 'filename'
Jest to kompatybilne z Fortran 90. Jeśli -source=vms-include podana jest opcja,
ftnczek przestrzega konwencji VMS w odniesieniu do tego stwierdzenia: zakłada:
domyślne rozszerzenie .dla jeśli nie podano rozszerzenia nazwy pliku i pozwala
kwalifikator /[NO]LIST po nazwie pliku, aby kontrolować listę dołączonych plików
plik. Nie ma obsługi dołączania modułów tekstowych VMS.

W wynikach diagnostycznych odnoszących się do elementów zawartych w plikach dołączanych, lokalizacja
błąd jest określony zarówno przez jego lokalizację w pliku dołączanym, jak i lokalizację w
plik nadrzędny, do którego plik został dołączony.

ftnczek akceptuje instrukcje PARAMETER bez nawiasów. Zostaną ostrzeżeni
o tym, czy -f77=param-noparen podano flagę.

ftnczek akceptuje definicje PARAMETRÓW, które obejmują funkcje wewnętrzne i
potęgowanie przez wykładnik niecałkowity. Obydwa te przypadki są zabronione przez
standardu Fortran 77 i zostanie ostrzeżony, jeśli -f77=parametr wewnętrzny flaga
jest podawany. Jeśli wartość funkcji wewnętrznej jest stałą całkowitą w czasie kompilacji,
ftnczek to ocenię. Pozwala to lepiej sprawdzić, czy parametr jest używany w
deklarowanie rozmiarów tablic. Fortran 90 umożliwia funkcje wewnętrzne w PARAMETER
definicje.

Funkcje wewnętrzne, które są oceniane to:

ABS IABS DIM IDIM MAKS
MAX0 MIN MIN0 ZNAK MODU
ISIGN LEN ICHAR INDEKS

Funkcje argumentów całkowitych są oceniane tylko wtedy, gdy argumenty są liczbami całkowitymi
wyrażenia stałe. (Mogą one obejmować stałe całkowite, parametry i
oceniane funkcje wewnętrzne.) Funkcja LEN jest oceniana, jeśli jej argumentem jest
wyrażenie zawierające tylko stałe znakowe i zmienne, których długość nie jest taka sama
nastawny. Funkcje ICHAR i INDEX są oceniane tylko wtedy, gdy argumenty są
stałe znakowe. ftnczek daje ostrzeżenie, jeśli potrzebuje wartości niektórych
funkcja wewnętrzna, która nie jest oceniana.

NOWOŚĆ ROZWIĄZANIA


Oto zmiany z wersji 3.2 do wersji 3.3:

1. Front-end został przepisany w celu zapewnienia nieograniczonego podglądu, eliminując długotrwały błąd
co spowodowało błędną interpretację stwierdzeń, których dwuznaczność nie została wyjaśniona
pierwsza linia.

2. -mkhtml opcja jest teraz dostępna w wersji MS-DOS.

3. Dodano obsługę składni związanej ze wskaźnikami w języku Fortran 90: ALLOCATE, DEALLOCATE i NULLIFY
sprawozdania; atrybuty ALLOCATABLE, POINTER i TARGET w deklaracjach typu; the
operator przypisania wskaźnika => i funkcje wewnętrzne ALLOCATED i ASSOCIATED; I
Deklaracje tablic o odroczonym kształcie. Obecnie te nowe funkcje składni są akceptowane
ale nie zostało właściwie sprawdzone. Ta funkcja została dodana przez Roberta Landrito.

4. -f77 i -f90 wskaźnik Dodano opcję kontrolującą ostrzeżenia dotyczące ``wskaźników Cray''
przemianowany na Cray-wskaźnik, -f77=wskaźnik zamiast tego opcja kontroluje teraz ostrzeżenia dla
kod zawierający składnię związaną ze wskaźnikami w języku Fortran 90.

5. Ponowne wdrożenie -mkhtml przetwarzanie, dzięki czemu jest teraz znacznie szybsze w przypadku plików źródłowych zawierających
wiele rutyn.

6. Zmieniono układ katalogu testowego, tak że nie ma już potrzeby modyfikowania
dystrybucję w celu uruchomienia zestawu testów (sprawdź.bat) w systemie MS-DOS.

7. Naprawiono błąd w czytaniu ustawień numerycznych w wierszu poleceń, gdy nazwa została skrócona do
3 znaki.

8. Naprawiono błąd powodujący fałszywe ostrzeżenie dla GOTO odnoszącego się do instrukcji oznaczonej jako END
gdy instrukcja przed END była FORMATEM.

9. Nowa flaga -f77=znak do kontrolowania ostrzeżeń o rozszerzeniach Fortran 77
znakowy typ danych. Tej nowej fladze towarzyszy obsługa reguł Fortran 90 dla
deklaracje zmiennych znakowych, których wartość wynosi zero lub ujemna długość, pozwalając
je i traktowanie wartości długości ujemnej jako zero.

10. Naprawiono drobny błąd w drukowaniu komentarzy i pustych linii po ostatniej instrukcji END
in -lista tryb.

Użyj ftnchek online, korzystając z usług onworks.net



Najnowsze programy online dla systemów Linux i Windows