EnglishFrenchSpanyol

Ad


Favicon OnWorks

ftnchek - Dalam talian di Awan

Jalankan ftnchek dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan ftnchek yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


ftnchek - Pemeriksa program Fortran 77

SINOPSIS


ftnchek [ -hujah[=senarai] ] [ -susunan[=senarai] ]
[ -[tidak]ringkas ] [ -calltree[=senarai] ] [ -[tidak]menyemak ]
[ -lajur[=num] ] [ -biasa[=senarai] ]
[ -[tidak]silang silang[=senarai] ] [ -[tidak]mengisytiharkan ]
[ -[tidak]bahagian ] [ -kesilapan[=num] ] [ -[tidak]luar ]
[ -[tidak]f77[=senarai] ] [ -[tidak]f90[=senarai] ]
[ -[tidak]f95[=senarai] ] [ -[tidak]membantu ]
[ -[tidak]aksara-pengenal[=senarai] ] [ -termasuk=str ]
[ -intrinsik[=senarai] ] [ -[tidak]perpustakaan ] [ -[tidak]senarai ]
[ -makedcls[=senarai] ] [ -mkhtml[=senarai] ]
[ -[tidak]orang baru ] [ -output=str ]
[ -bersaiz penunjuk[=num] ] [ -[tidak]mudah alih[=senarai] ]
[ -[tidak]cantik[=senarai] ] [ -projek[=senarai] ]
[ -[tidak]tulen ] [ -[tidak]tenang ] [ -[tidak]rujukan ]
[ -[tidak]sumber ] [ -[tidak]enamchar ] [ -[tidak]jenis ]
[ -sumber[=senarai] ] [ Gaya[=senarai] ] [ -[tidak]symtab ]
[ -[tidak]pemangkasan[=senarai] ] [ -penggunaan[=senarai] ]
[ -[tidak]vcg ] [ -[tidak]versi ] [ -[tidak]menentu ]
[ -saiz perkataan[=num] ] [ -bungkus[=num] ] [ fail ... ]

DESCRIPTION


ftnchek (singkatan untuk Fortran checker) direka untuk mengesan ralat tertentu dalam Fortran
atur cara yang biasanya tidak dilakukan oleh pengkompil. ftnchek bukan bertujuan untuk mengesan
ralat sintaks. Tujuannya adalah untuk membantu pengguna dalam mencari ralat semantik. Semantik
ralat adalah sah dalam bahasa Fortran tetapi membazir atau boleh menyebabkan tidak betul
operasi. Sebagai contoh, pembolehubah yang tidak pernah digunakan mungkin menunjukkan beberapa peninggalan dalam
program; pembolehubah tidak dimulakan mengandungi sampah yang boleh menyebabkan keputusan yang salah
dikira; dan pembolehubah yang tidak diisytiharkan mungkin tidak mempunyai jenis yang dimaksudkan. ftnchek
bertujuan untuk membantu pengguna dalam penyahpepijatan program Fortran mereka. Ia tidak dimaksudkan
untuk menangkap semua ralat sintaks. Ini adalah fungsi pengkompil. Sebelum digunakan
ftnchek, pengguna harus mengesahkan bahawa atur cara menyusun dengan betul.

Dokumen ini mula-mula meringkaskan cara memanggil ftnchek. Bahagian itu harus dibaca sebelum ini
mula digunakan ftnchek. Bahagian kemudian menerangkan ftnchekPilihan dengan lebih terperinci, berikan
contoh penggunaannya, dan terangkan cara mentafsir output. Bahagian akhir
sebutkan batasan dan pepijat yang diketahui ftnchek.

MENYERU FTNCHEK


ftnchek dipanggil melalui arahan borang:

$ ftnchek [-option -option ...] nama fail [nama fail ...]

Tanda kurung menunjukkan sesuatu yang tidak wajib. Kurungan itu sendiri tidak
sebenarnya ditaip. Di sini pilihan ialah suis atau tetapan baris arahan, yang mengawal
pengendalian program dan jumlah maklumat yang akan dicetak. Jika tidak
pilihan ditentukan, tindakan lalai adalah untuk mencetak mesej ralat, amaran dan
mesej maklumat, tetapi bukan senarai atur cara atau jadual simbol.

Setiap pilihan bermula dengan aksara '-'. (Pada sistem VAX/VMS atau MS-DOS yang anda boleh gunakan
sama ada '/' atau '-'.) Demi pematuhan dengan konvensyen yang semakin umum,
pilihan juga boleh bermula dengan '--'. Pilihan diterangkan dengan panjang lebar di bahagian seterusnya
bawah seksyen ini.

ftnchek pilihan terbahagi kepada dua kategori: suis, yang sama ada benar atau palsu, dan
tetapan, yang mempunyai nilai angka atau rentetan. Nama suis diawali dengan 'tidak'
atau 'tidak-' untuk mematikannya: cth -tidak suci akan mematikan amaran tentang fungsi yang tidak tulen.
Awalan 'tidak' juga boleh digunakan dengan tetapan angka, mempunyai kesan mematikan
amaran yang sepadan. Tetapan yang mengawal senarai amaran mempunyai sintaks khas
dibincangkan di bawah. Hanya 3 aksara pertama bagi nama pilihan (tidak mengira '-')
perlu disediakan. Tanda bertindih boleh digunakan sebagai ganti tanda sama dengan angka atau rentetan
menetapkan tugasan; walau bagaimanapun, kami hanya menunjukkan borang tanda sama di bawah.

Suis dan tetapan yang ftnchek yang dikenali pada masa ini disenaraikan di bawah. Untuk setiap
pilihan, lalai ialah nilai yang digunakan jika pilihan tidak dinyatakan secara eksplisit, manakala
hidupkan ialah nilai yang digunakan jika pilihan diberikan tanpa memberikannya nilai.

-hujah=senarai
Kawal amaran tentang jenis subprogram dan tidak sepadan hujah. Lalai = hidupkan
= semua.

-susunan=senarai
Kawal amaran dalam menyemak argumen tatasusunan subprogram. Lalai = hidupkan =
semua.

-ringkas Gunakan format yang lebih pendek untuk beberapa mesej ralat. Lalai = tidak.

-calltree=senarai
Hasilkan hierarki panggilan subprogram dalam salah satu daripada 3 format: text call-tree, who-calls-
siapa dan VCG. Lalai = tiada, hidupkan = pokok, cantas, isihan.

Jika -mkhtml pilihan dipanggil and tree ialah pilihan calltree yang digunakan, fail
bernama CallTree.html, akan dihasilkan menggambarkan pokok dalam format HTML.

-semak Lakukan pemeriksaan. Lalai = ya.

-lajur=num
Tetapkan panjang garisan maksimum kepada num lajur. (Di luar ini diabaikan.) Hidupkan = maks =
132. Lalai = 72.

-biasa=senarai
Tetapkan tahap ketegasan dalam memeriksa blok BIASA. Lalai = hidupkan = semua.

-crossref=senarai
Cetak senarai rujukan silang bagi panggilan subprogram, penggunaan label dan/atau blok BIASA
guna. Lalai = tiada.

-mengisytiharkan
Cetak senarai semua pengecam yang jenis datanya tidak diisytiharkan secara eksplisit. lalai
= tidak.

-pembahagian
Beri amaran di mana sahaja pembahagian dilakukan (kecuali pembahagian dengan pemalar). Lalai = tidak.

-kesilapan=num
Tetapkan bilangan maksimum mesej ralat setiap lata. Lalai = hidupkan = 3.

-luaran
Beri amaran jika subprogram luaran yang digunakan tidak pernah ditakrifkan. Lalai = ya.

-f77=senarai
Kawal amaran khusus tentang sambungan yang disokong kepada Standard Fortran 77.
Lalai = tiada, hidupkan = semua.

-f90=senarai
Kawal amaran khusus tentang sambungan yang disokong kepada Standard Fortran 77
yang tidak diterima pakai sebagai sebahagian daripada Piawaian Fortran 90. Lalai = tiada, hidupkan
= semua.

-f95=senarai
Kawal amaran khusus tentang ciri standard Fortran 77 yang telah dipadamkan
Fortran 95 Standard. Lalai = tiada, hidupkan = semua.

-membantu Cetak ringkasan arahan. Lalai = tidak.

-identifier-chars=senarai
Tentukan aksara bukan abjad angka yang boleh digunakan dalam pengecam. Lalai =
hidupkan = tanda dolar dan garis bawah.

-termasuk=jalan
Tentukan direktori untuk mencari INCLUDE file sebelum mencari di seluruh sistem
direktori. Kumulatif. Lalai = hidupkan = tiada.

-intrinsik=senarai
Kawal rawatan fungsi intrinsik bukan standard. Lalai = semua kecuali vms Untuk
Versi Unix, semua kecuali unix untuk versi VMS, semua kecuali unix and vms untuk yang lain
versi. Hidupkan = semua.

-perpustakaan
Mulakan mod perpustakaan: jangan beri amaran tentang subprogram dalam fail yang ditakrifkan tetapi
tidak pernah digunakan. Lalai = tidak.

- senarai Penyenaraian sumber cetak program. Lalai = tidak.

-makedcls=senarai
Sediakan fail pengisytiharan. The senarai menentukan pilihan untuk format ini
fail. Lalai = tiada, hidupkan = pengisytiharan.

-mkhtml=senarai
Cipta fail dokumen HTML individu daripada analisis ftnchek dan komen kod.
Biasanya anda juga akan mahu menentukan -panggilan=pokok untuk mencipta fail HTML akar
CallTree.html. Lalai = tiada, hidupkan = dokumen.

-orang baru
Berikan output yang sesuai untuk pengguna baru. Lalai = ya.

-output=nama fail
Hantar output ke fail yang diberikan. Lalai dan hidupkan menghantar output ke skrin.
(Sambungan nama fail lalai ialah .lis).

-saiz penunjuk=num
Tetapkan saiz pembolehubah ``Penunjuk Cray'' kepada num bait. Min = 1, maks = 16.
Lalai = hidupkan = 4

-mudah alih=senarai
Beri amaran tentang penggunaan bukan mudah alih. Lalai = tiada, hidupkan = semua.

-cantik=senarai
Beri amaran kerana kemungkinan munculnya kod sumber yang mengelirukan. Lalai = giliran-
pada = semua.

-projek=senarai
Cipta fail projek (lihat penjelasan di bawah). Lalai = tidak.

-suci Andaikan fungsi adalah tulen, iaitu tiada kesan sampingan. Lalai = ya.

-senyap Menghasilkan output yang kurang bertele-tele. Lalai = tidak.

-rujukan
Cetak jadual subprogram yang dirujuk oleh setiap subprogram. Lalai = tidak.

-sumber
Cetak jumlah sumber yang digunakan dalam menganalisis program. Lalai = tidak.

-enam arang
Senaraikan sebarang nama pembolehubah yang bertembung dengan panjang 6 aksara. Lalai = tidak.

-susun Cetak senarai subprogram yang disusun mengikut susunan prasyarat. Lalai = tidak.

-sumber=senarai
Pilih pilihan pemformatan sumber: bentuk tetap atau percuma, DEC Fortran berformat tab
baris, penyataan INCLUDE gaya VMS, jujukan melarikan diri segaris ke belakang gaya UNIX, dan
penaipan tersirat parameter. Lalai = tiada, hidupkan = semua.

-gaya=senarai
Menghasilkan amaran yang lebih memilih tentang pengaturcaraan yang lapuk atau lama
pembinaan. Lalai = tiada, hidupkan = semua.

-symtab
Cetak jadual simbol dan jadual label untuk setiap subprogram. Lalai = tidak.

-pemangkasan=senarai
Semak kemungkinan kehilangan ketepatan dengan pemotongan. Lalai = hidupkan = semua.

-penggunaan=senarai
Kawal amaran tentang pembolehubah yang tidak digunakan atau tidak dimulakan, blok biasa, dsb.
Lalai = hidupkan = semua.

-vcg Menghasilkan format VCG graf panggilan.

-turun
Nombor versi cetakan. Lalai = tidak.

-tidak menentu
Andaikan blok COMMON kehilangan definisi antara pengaktifan. Lalai = tidak. (Usang.
Penggunaan -biasa=tidak menentu sebaliknya.)

-saiz perkataan=num
Tetapkan saiz perkataan lalai untuk kuantiti angka num bait. Lalai = hidupkan =
4 bait.

-bungkus=num
Tetapkan lajur output untuk membungkus mesej ralat dan amaran yang panjang kepada yang seterusnya
barisan. Jika ditetapkan kepada 0, matikan pembalut. Lalai = hidupkan = 79.

Apabila lebih daripada satu pilihan digunakan, ia hendaklah dipisahkan dengan ruang kosong, kecuali pada
sistem seperti VMS di mana pilihan bermula dengan slash ( / ). Tiada ruang kosong boleh diletakkan
di sekeliling tanda sama dengan ( = ) dalam tetapan. ftnchek "?" akan menghasilkan ringkasan arahan
menyenaraikan semua pilihan dan tetapan.

Untuk tetapan yang mengambil senarai kata kunci, iaitu -hujah, -susunan, -calltree, -biasa,
-crossref, -f77, -f90, -f95, -intrinsik, -makedcls, -mkhtml, -mudah alih, -cantik,
-projek, -sumber, Gaya, -pemangkasan, dan -penggunaan, senarai itu terdiri daripada kata kunci
dipisahkan dengan koma atau titik bertindih. Jika senarai kata kunci ditinggalkan, kesannya adalah untuk ditetapkan
pilihan kepada nilai menghidupkannya (sama seperti ``semua'' dalam kebanyakan kes). Juga, jika senarai itu
diabaikan, nama tetapan boleh diawali dengan tidak or NO- untuk mematikan semua pilihan itu
kawalan. Sebagai contoh, -f77 menghidupkan semua amaran tentang pembinaan tidak standard, manakala
-nof77 mematikan mereka semua. Tiga kata kunci khas ialah:

membantu Cetak semua kata kunci pilihan yang dikawal oleh tetapan, dengan ringkas
penjelasan tentang maksud mereka. Kata kunci ini tidak boleh diberikan dalam senarai dengan yang lain
kata kunci.

semua Tetapkan semua pilihan. Ini menghidupkan semua pilihan yang dikawal oleh tetapan.

tiada Kosongkan semua pilihan. Ini mematikan semua pilihan yang dikawal oleh tetapan.

Tiga kata kunci istimewa ini mesti diberikan sepenuhnya. Untuk semua kata kunci lain, hanya sebanyak
huruf kata kunci yang diperlukan untuk mengenal pastinya dengan jelas perlu diberikan, atau a
corak kad bebas boleh digunakan. Memasukkan kata kunci dalam senarai menukar kata kunci yang sepadan
pilihan pada. Sebagai contoh, -f77=intrinsik hanya akan menghidupkan amaran tentang penggunaan
fungsi intrinsik bukan piawai. Mengawal kata kunci oleh NO- mematikan pilihannya. Untuk
contohnya, -cantik=tidak beratur panjang mematikan amaran tentang baris yang melebihi 72 lajur masuk
panjang sambil meninggalkan semua amaran lain tentang penampilan yang mengelirukan berkuat kuasa. Sekiranya
tetapan mempunyai lalai tiada, anda boleh menghidupkan semua pilihan kecuali satu atau dua dengan menggunakan semua
pertama. Sebagai contoh, -f77=semua,tiada-termasuk membolehkan amaran tentang semua sambungan bukan standard
kecuali INCLUDE statement. Jika tetapan mempunyai lalai semua, anda boleh mematikan semua amaran
kecuali satu atau dua dengan menggunakan tiada pertama. Sebagai contoh, -pemotongan=tiada,turun pangkat akan bertukar
mematikan semua amaran berkaitan ketepatan kecuali mengenai penurunan pangkat. Corak kad bebas mengandungi satu
asterisk untuk menandakan sebarang rentetan aksara. Jika corak kad bebas digunakan, semua
amaran yang sepadan dengannya terjejas. Jika NO- diawalikan pada corak, semua padanan
amaran dimatikan, jika tidak semuanya dihidupkan. Panjang minimum yang tidak jelas
peraturan tidak digunakan pada pemadanan kad bebas. Sebagai contoh, gunakan -penggunaan=tidak-*var* untuk mematikan
semua amaran yang berkaitan dengan penggunaan berubah-ubah (setempat dan biasa). (Pengguna Unix mungkin perlu
sebutkan sebarang pilihan yang mengandungi kad bebas untuk menghalang shell daripada mencuba
kembangkan mereka.) Kad bebas diiktiraf hanya dalam senarai kata kunci amaran, bukan di bahagian atas-
pilihan peringkat itu sendiri.

Bila ftnchek bermula, ia mencari pembolehubah persekitaran dan juga untuk pilihan
fail. Sebarang pilihan yang ditakrifkan dalam persekitaran atau dalam fail keutamaan digunakan sebagai
lalai menggantikan lalai terbina dalam. Mereka terlalu sibuk dengan mana-mana baris arahan
pilihan. Lihat bahagian tentang menukar lalai untuk mendapatkan butiran tentang persekitaran
pilihan dan fail keutamaan.

Apabila memberikan nama fail input, sambungan adalah pilihan. Jika tiada lanjutan diberikan,
ftnchek mula-mula akan mencari fail projek dengan sambungan .prj, dan akan menggunakannya jika ia
wujud. Jika tidak, maka ftnchek akan mencari fail sumber Fortran dengan sambungan .untuk
untuk sistem VMS, .f untuk sistem UNIX. Lebih daripada satu nama fail boleh diberikan kepada ftnchek,
dan ia akan memproses modul dalam semua fail seolah-olah ia berada dalam satu fail.

Kad bebas dibenarkan dalam spesifikasi nama fail pada baris arahan untuk VMS
dan versi MS-DOS, seperti juga sudah tentu di bawah UNIX dan mana-mana sistem lain yang berfungsi
pengembangan kad bebas dalam pemproses arahan.

Jika tiada nama fail diberikan, ftnchek akan membaca input daripada input standard.

PILIHAN


Bahagian ini menyediakan perbincangan yang lebih terperinci tentang ftnchek pilihan baris arahan. Pilihan
dan nama fail boleh diselingi pada baris arahan. Kebanyakan pilihan adalah kedudukan: setiap satu
pilihan kekal berkuat kuasa dari titik ia ditemui sehingga ia ditindih oleh a
nanti berubah. Oleh itu sebagai contoh, penyenaraian mungkin ditindas untuk beberapa fail dan bukan untuk
yang lain. Pengecualian ialah: -intrinsik, -bersaiz penunjuk, dan -saiz perkataan tetapan, yang
tidak boleh diubah setelah pemprosesan fail input telah dimulakan; yang -hujah, -susunan,
-calltree, -biasa, -crossref, -luaran, -rujukan, -sumber, -susun, -vcg, dan -tidak menentu
pilihan, di mana tindakan hanya bergantung pada nilai pilihan selepas pemprosesan
fail input selesai; dan juga -termasuk tetapan, yang terkumpul.

Nama pilihan dalam senarai berikut adalah dalam susunan abjad.

-hujah=senarai
Mengawal amaran tentang ketidakpadanan antara argumen subprogram sebenar dan dummy,
dan juga tentang ketidakpadanan antara jenis subprogram yang dijangka dan sebenar. (Sebenarnya
hujah ialah hujah yang dihantar kepada subprogram oleh pemanggil; hujah palsu adalah
hujah yang diterima oleh subprogram.) Secara lalai, semua amaran dihidupkan.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Sejak semua ini
amaran dihidupkan secara lalai, sertakan kata kunci yang diawali oleh NO- untuk mematikan a
amaran tertentu. Terdapat tiga kata kunci khas: semua untuk menghidupkan semua
amaran tentang hujah, tiada untuk mematikan semuanya, dan membantu untuk mencetak senarai
semua kata kunci dengan penerangan ringkas setiap satu. Jika senarai ditinggalkan, -hujah
adalah bersamaan dengan -hujah=semua, dan -noargumen adalah bersamaan dengan -hujah=tiada.
Kata kunci amaran dengan maksudnya adalah seperti berikut:

tatasusunan:
memberi amaran tentang penggunaan argumen yang tidak konsisten yang merupakan tatasusunan. Amaran ini boleh
dikawal lagi oleh -susunan pilihan.

jenis:
memberi amaran tentang hujah palsu jenis data yang berbeza daripada hujah sebenar.

jenis fungsi:
memberi amaran jika seruan menganggap nilai pulangan fungsi adalah jenis yang berbeza
daripada yang sebenarnya. Juga memberi amaran jika fungsi dipanggil sebagai subrutin, atau
sebaliknya.

nombor:
memberi amaran tentang menggunakan subprogram dengan bilangan argumen yang berbeza daripada
subprogram menjangkakan.

Untuk keserasian dengan versi sebelumnya ftnchek, bentuk angka ini
tetapan juga diterima: yang senarai digantikan dengan nombor dari 0 hingga 3. Nilai bagi
0 mematikan semua amaran, 1 menghidupkan sahaja nombor, 2 menghidupkan semua kecuali nombor,
dan 3 menghidupkan semua amaran.

Tetapan ini tidak digunakan untuk menyemak seruan fungsi intrinsik atau
fungsi pernyataan, yang hanya boleh dimatikan oleh -tiada semak pilihan.

Lihat juga: -susunan, -perpustakaan, -penggunaan.

-susunan=senarai
Mengawal tahap ketegasan dalam menyemak persetujuan antara sebenar dan dummy
hujah subprogram iaitu tatasusunan. Amaran yang dikawal oleh tetapan ini ialah
untuk pembinaan yang mungkin digunakan secara sah oleh pengaturcara yang berpengetahuan,
tetapi itu sering menunjukkan ralat pengaturcaraan. Secara lalai, semua amaran dihidupkan
pada.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Sejak semua ini
amaran dihidupkan secara lalai, sertakan kata kunci yang diawali oleh NO- untuk mematikan a
amaran tertentu. Terdapat tiga kata kunci khas: semua untuk menghidupkan semua
amaran tentang hujah array, tiada untuk mematikan semuanya, dan membantu untuk mencetak
senarai semua kata kunci dengan penerangan ringkas setiap satu. Jika senarai ditinggalkan,
-susunan adalah bersamaan dengan -array=semua, dan -noarray adalah bersamaan dengan -array=tiada. Yang
kata kunci amaran dengan maksudnya adalah seperti berikut:

dimensi:
memberi amaran jika argumen berbeza dalam bilangan dimensinya, atau jika sebenarnya
hujah ialah elemen tatasusunan manakala hujah dummy ialah tatasusunan keseluruhan.

saiz:
memberi amaran jika kedua-dua argumen adalah tatasusunan, tetapi ia berbeza dalam bilangan elemen.

Untuk keserasian dengan versi sebelumnya ftnchek, bentuk angka ini
tetapan juga diterima: yang senarai digantikan dengan nombor dari 0 hingga 3. Nilai bagi
0 mematikan semua amaran, 1 menghidupkan sahaja dimensi, 2 pusingan sahaja saiz, dan
3 menghidupkan semua amaran.

Nota: Amaran sentiasa diberikan tanpa mengira tetapan ini jika hujah sebenar
ialah tatasusunan manakala hujah tiruan ialah pembolehubah skalar, atau jika sebenarnya
hujah ialah pembolehubah atau ungkapan skalar manakala hujah dummy ialah tatasusunan.
Kes-kes ini jarang disengajakan. (Untuk mematikan amaran ini, gunakan
-hujah=tiada susunan.) Tiada amaran pernah diberikan jika hujah sebenar adalah an
elemen tatasusunan manakala hujah dummy ialah pembolehubah skalar. Berdimensi boleh ubah
tatasusunan dan tatasusunan berdimensi dengan 1 atau asterisk sepadan dengan sebarang bilangan tatasusunan
elemen. Tiada semakan sama ada tatasusunan berbilang dimensi bersetuju dalam saiz
setiap dimensi secara berasingan.

Lihat juga: -hujah, -perpustakaan, -penggunaan.

-ringkas
Memilih format yang lebih pendek untuk beberapa mesej amaran. Pada masa ini, satu-satunya amaran
dikawal oleh bendera ini adalah yang dicetak pada akhir pemprosesan setiap satu
subprogram. Ini termasuk amaran tentang pembolehubah yang ditetapkan tetapi tidak digunakan atau
digunakan sebelum ditetapkan, nama pembolehubah yang tidak mematuhi standard Fortran 77,
dsb. (Amaran ini mungkin dihalang sepenuhnya bergantung pada bendera lain, seperti
yang -penggunaan or -f77 bendera.) Dalam format lalai setiap pembolehubah disenaraikan pada a
baris berasingan, bersama dengan nombor baris tempat pembolehubah diisytiharkan, ditetapkan atau
digunakan, mengikut sifat amaran. Format yang lebih ringkas hanya menyenaraikan semua
pembolehubah yang digunakan amaran, dengan sehingga 4 pembolehubah setiap baris.

Lihat juga: -senyap.

-calltree=senarai
Punca ftnchek untuk mencetak struktur panggilan program lengkap.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Ada dua yang istimewa
kata kunci: tiada untuk mematikan semua pilihan, dan membantu untuk mencetak senarai semua
kata kunci dengan penerangan ringkas setiap satu. (Kata kunci semua menghidupkan semua
pilihan, tetapi biasanya tidak boleh digunakan kerana hanya satu format sahaja
dinyatakan.) Jika senarai ditinggalkan, -calltree adalah bersamaan dengan -calltree=pokok, dan
-nocalltree adalah bersamaan dengan -calltree=tiada. Secara lalai tiada graf panggilan dicetak.

Jika pilihan -mkhtml digunakan and tree ialah pilihan calltree yang digunakan, fail
dinamakan CallTree.html, juga akan dihasilkan menggambarkan pokok dalam format HTML. ini
fail berguna sebagai titik permulaan untuk menyemak imbas fail HTML yang menerangkan setiap satu
komponen program.

Kata kunci yang mengawal format yang digunakan adalah seperti berikut:

pokok:
menghasilkan graf panggilan dalam format pokok.

rujukan:
menghasilkan graf panggilan dalam format siapa-panggil-siapa (sama seperti -rujukan suis).

vcg:
menghasilkan graf panggilan dalam format VCG (sama seperti -vcg suis).

Hanya satu daripada format pokok, rujukan, Atau vcg boleh ditentukan.

Kata kunci berikut mengawal pilihan yang mempengaruhi output:

plum:
pangkas subpokok berulang (hanya terpakai dengan pokok). Ini lalai.

jenis:
menyusun kanak-kanak setiap rutin mengikut susunan abjad. Ini adalah lalai.

Lihat perbincangan mengenai -rujukan and -vcg bendera untuk butiran tentang ini
format.

Untuk pokok format, Graf panggilan dicetak bermula dari program utama,
yang disenaraikan pada baris pertama di jidar kiri. Kemudian pada baris berikut,
setiap rutin yang dipanggil oleh program utama disenaraikan, diinden beberapa ruang, diikuti
oleh subpokok bermula pada rutin itu.

Dalam mod lalai, jika rutin dipanggil oleh lebih daripada satu rutin lain, ia
subtree panggilan dicetak hanya pada kali pertama ia ditemui Kemudian panggilan memberi sahaja
nama rutin dan notis ``(lihat di atas)''. Untuk mendapatkan subpokok dicetak untuk
setiap kejadian rutin, gunakan pilihan tiada pemangkasan.

Ambil perhatian bahawa pepohon panggilan tidak akan lengkap jika mana-mana fail input adalah projek
fail yang mengandungi lebih daripada satu modul yang dicipta dalam -perpustakaan mod. Lihat
perbincangan fail projek di bawah.

Perkara teknikal: Setiap senarai rutin yang dipanggil oleh rutin tertentu dicetak masuk
susunan abjad melainkan tiada jenis pilihan diberi. Jika berbilang program utama
ditemui, pokok panggilan setiap satu dicetak secara berasingan. Jika tiada program utama
didapati, laporan mengenai kesan itu dicetak dan pokok panggilan mana-mana peringkat atasan
rutin bukan perpustakaan dicetak. Bendera ini hanya mengawal pencetakan panggilan
pokok: ftnchek membina pepohon panggilan dalam apa jua keadaan kerana ia digunakan untuk menentukan
modul perpustakaan yang manakah akan disemak silang. Lihat perbincangan mengenai -perpustakaan
bendera.

Untuk keserasian dengan versi sebelumnya ftnchek, bentuk angka ini
tetapan juga diterima: yang senarai digantikan dengan nombor dari 0 hingga 15. Ini
nombor terbentuk daripada 1 untuk pokok format, 2 untuk rujukan format, atau 3 untuk vcg
format, tambah 4 untuk tiada pemangkasan, dan 8 untuk tiada jenis.

Lihat juga: -crossref, -perpustakaan, -rujukan, -susun, -symtab, -vcg.

-semak
Suis ini disediakan supaya ralat dan mesej amaran boleh dimatikan apabila
ftnchek digunakan untuk tujuan selain mencari pepijat, seperti membuat pengisytiharan
atau mencetak pokok panggilan. Ia adalah kedudukan, jadi selepas mematikan semua semakan,
semakan yang dipilih boleh dihidupkan semula. Kesan daripada -tiada semak adalah untuk meletakkan semua
suis, tetapan berangka dan tetapan yang mengawal senarai amaran kepada mereka
nilai turn-off, seolah-olah semuanya telah ditentukan dengan awalan -no. Suis
dan tetapan yang menentukan pilihan dan mod operasi, bukannya mengawal
amaran, tidak terjejas. Ini adalah -lajur, -crossref, -termasuk, -intrinsik,
-perpustakaan, - senarai, -makedcls, -orang baru, -pengeluaran, -bersaiz penunjuk, -projek, -senyap,
-rujukan, -sumber, -susun, -sumber, -symtab, -vcg, -turun, -saiz perkataan, dan
-bungkus. Lalai = ya.

Ralat parse (ralat sintaks disebabkan oleh kenyataan yang tidak dikenali atau salah bentuk) tidak
ditindas oleh suis ini, kerana keputusan mungkin tidak betul jika ftnchek belum
menghuraikan program dengan betul.

Terdapat beberapa ralat pelbagai dan mesej amaran yang tidak dikawal oleh
mana-mana suis lain, dan oleh itu boleh dimatikan hanya dengan suis ini. Perhatikan bahawa menggunakan
-semak berikutan -tiada semak hanya mempunyai kesan mengubah amaran khas ini
dihidupkan semula dan tidak memulihkan semua pemeriksaan yang dimatikan. Amaran ini ialah:

o Modul tidak mengandungi penyataan boleh laku.

o Dalam bentuk sumber bebas, tiada ruang di mana ruang diperlukan (cth antara a
kata kunci dan pengecam) atau ruang hadir di mana tiada satu pun dibenarkan (cth dalam
pengecam).

o Sifar atau spesifikasi panjang negatif dalam pengisytiharan jenis data borang
taip*len.

o Operan tidak sah dalam ungkapan.

o Tatasusunan diperuntukkan kepada skalar.

o Jenis ketidakpadanan antara indeks DO dan sempadan.

o Blok biasa yang tidak ditentukan diisytiharkan dalam pernyataan SAVE.

o Fungsi intrinsik secara eksplisit diisytiharkan dengan jenis yang tidak serasi.

o Fungsi intrinsik yang tidak diketahui diisytiharkan secara eksplisit dalam pernyataan INTRINSIK.

o Fungsi intrinsik yang diluluskan sebagai hujah subprogram tidak diisytiharkan dalam
pernyataan INTRINSIK.

o Fungsi intrinsik atau fungsi pernyataan yang digunakan secara salah.

o Fungsi tidak menetapkan nilai pulangan sebelum penyataan RETURN.

o Nilai pemalar parameter tidak dinilai (ini ialah ftnchekkesalahan, dan ia adalah adil
memberitahu anda tentang fakta itu).

o Titik masuk subprogram kemudiannya digunakan sebagai nama subprogram yang berbeza.

o Kata kunci tidak diketahui digunakan dalam pernyataan I/O.

o Rujukan label yang tidak sah (cth GOTO merujuk kepada pernyataan tidak boleh dilaksanakan; I/O
pernyataan merujuk kepada pernyataan bukan format).

Lihat juga: -kesilapan.

-lajur=num
Tetapkan panjang penyata maksimum kepada num lajur. (Di luar ini diabaikan.) Ini
tetapan disediakan untuk membenarkan penyemakan program yang mungkin melanggar Fortran
had piawai 72 lajur untuk panjang pernyataan. Mengikut
standard, semua aksara melepasi lajur 72 diabaikan. Jika tetapan ini digunakan apabila
yang -f77=garisan panjang pilihan berkuat kuasa, amaran akan diberikan untuk mana-mana talian masuk
aksara yang melepasi lajur 72 diproses. Hidupkan = maks = 132. Lalai = 72.

Tetapan ini tidak menyekat amaran tentang kehadiran aksara di luar
lajur 72. Untuk memproses kod dengan teks program yang bermakna di luar lajur 72, gunakan ini
tetapan dan pastikan -f77 Barisan yang panjang pilihan dimatikan. Untuk memproses kod dengan
nombor turutan dalam lajur 73 hingga 80, biarkan tetapan lajur pada lalai
nilai dan gunakan -cantik=tidak beratur panjang bendera.

Lihat juga: -f77, -cantik.

-biasa=senarai
Tetapan ini mengawal ketegasan menyemak blok COMMON. Secara lalai, semua
amaran kecuali menentu dihidupkan.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Oleh kerana kebanyakan ini
amaran dihidupkan secara lalai, sertakan kata kunci yang diawali oleh NO- untuk mematikan a
amaran tertentu. Terdapat tiga kata kunci khas: semua untuk menghidupkan semua
amaran, tiada untuk mematikan semuanya, dan membantu untuk mencetak senarai semua kata kunci
dengan penerangan ringkas masing-masing. Jika senarai ditinggalkan, -biasa adalah bersamaan dengan
-biasa=dimensi,tepat,panjang,jenis, dan -tidak biasa adalah bersamaan dengan -biasa=tiada.
Kata kunci amaran dengan maksudnya adalah seperti berikut:

dimensi:
tatasusunan yang sepadan dalam setiap pengisytiharan blok mesti bersetuju dalam saiz dan
bilangan dimensi. Pilihan ini hanya mempunyai kesan apabila digunakan bersama-sama dengan
tepat.

tepat:
perbandingan dua blok dilakukan pembolehubah demi pembolehubah dan bukannya semata-mata
memerlukan persetujuan antara lokasi penyimpanan yang sepadan. Gunakan ini jika semua
pengisytiharan blok COMMON yang diberikan sepatutnya sama, iaitu a
amalan pengaturcaraan yang baik.

panjang:
memberi amaran jika pengisytiharan berbeza bagi blok yang sama tidak sama panjang keseluruhannya.
Standard Fortran 77 memerlukan setiap blok biasa yang dinamakan, tetapi bukan biasa kosong,
panjang yang sama dalam semua modul program.

jenis:
dalam setiap pengisytiharan blok COMMON yang diberikan, lokasi memori yang sepadan
(perkataan atau bait) mesti bersetuju dalam jenis data. Jika digunakan bersama-sama dengan tepat, Ini
akan memerlukan pembolehubah yang sepadan bersetuju dalam jenis data.

menentu:
Andaikan bahawa blok BIASA adalah tidak menentu.

Ramai pengaturcara Fortran menganggap bahawa pembolehubah, sama ada tempatan atau BIASA, adalah
statik, iaitu apabila memberikan nilai, mereka mengekalkan nilai itu secara kekal sehingga
diberikan nilai yang berbeza oleh program. Walau bagaimanapun, sebenarnya Fortran 77
Standard tidak memerlukan perkara ini berlaku. Pembolehubah tempatan boleh menjadi
tidak ditentukan antara pengaktifan modul di mana ia diisytiharkan. Begitu juga,
Blok biasa mungkin menjadi tidak ditentukan jika tiada modul di mana ia diisytiharkan
aktif. (Istilah teknikal untuk entiti dengan tingkah laku ini ialah ``automatik'', tetapi
ftnchek menggunakan perkataan ``volatile'' kerana ia lebih jelas kepada yang bukan pakar.) Sahaja
Blok biasa diisytiharkan dalam penyata SAVE, atau diisytiharkan dalam program utama atau dalam a
subprogram data blok kekal ditakrifkan selagi program berjalan. Pembolehubah
dan blok BIASA yang boleh menjadi tidak ditentukan pada satu ketika dipanggil tidak menentu.

Jika -biasa=tidak menentu bendera dihidupkan, ftnchek akan memberi amaran kepada anda jika ia mendapati a
blok BIASA yang tidak menentu. Jika, pada masa yang sama, -usage=com-block-volatile pilihan
dihidupkan (iaitu lalai), ftnchek akan cuba menyemak sama ada blok tersebut
boleh kehilangan status yang ditetapkan antara pengaktifan modul di mana ia berada
diisytiharkan. ftnchek tidak melakukan kerja yang sangat baik dalam hal ini: peraturan yang digunakan adalah untuk melihat
sama ada blok itu diisytiharkan dalam dua subpokok berasingan bagi pepohon panggilan. Untuk
contoh, ini akan berlaku jika dua modul, kedua-duanya dipanggil dari program utama,
berkongsi blok COMMON yang tidak menentu. Satu blok juga boleh menjadi tidak ditentukan antara dua
panggilan berturut-turut daripada subprogram yang sama, tetapi ftnchek tidak cukup bijak untuk memberitahu
sama ada subprogram boleh dipanggil lebih daripada sekali, jadi kes ini tidak diperiksa.

. -biasa=tidak menentu bendera tidak menjejaskan jalan ftnchek menyemak penggunaan tempatan
pembolehubah.

Untuk keserasian dengan versi sebelumnya ftnchek, bentuk angka ini
tetapan juga diterima: yang senarai digantikan dengan nombor dari 0 hingga 3. Nilai bagi
0 mematikan semua amaran, 1 atau lebih besar dihidupkan jenis, 2 pusingan atau lebih besar dihidupkan
panjang, dan 3 menghidupkan dimensi and tepat juga. Borang angka tidak boleh dihidupkan
yang menentu pilihan.

Lihat juga: -perpustakaan, -penggunaan.

-crossref=senarai
Mencetak jadual rujukan silang. Lalai = tiada.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Kata kunci dengan
maksud mereka adalah seperti berikut:

panggilan:
jadual menyenaraikan setiap subprogram diikuti dengan senarai rutin yang memanggilnya.
Penyenaraian ini mengetepikan modul perpustakaan yang tiada dalam pepohon panggilan utama
program. Senarainya mengikut abjad.

biasa:
jadual menyenaraikan setiap blok BIASA diikuti dengan senarai rutin yang diakses
ia. Rutin tersenarai ini ialah rutin di mana beberapa pembolehubah dalam COMMON
blok diakses, bukan sekadar rutin yang mengisytiharkan blok. (Kepada
mengetahui rutin apa yang mengisytiharkan blok BIASA tetapi tidak menggunakannya, lihat
-penggunaan bendera.)

label:
jadual menyenaraikan setiap label diikuti dengan senarai semua rujukan kepadanya. Sebuah label
rujukan dilambangkan dengan nombor baris dan jenis pernyataan rujukan
kenyataan. Senarai label adalah mengikut urutan. Rujukannya ialah
disenaraikan dalam susunan yang ditemui dalam program.

Lihat juga: -calltree, -rujukan, -susun, -symtab, -vcg.

-mengisytiharkan
Jika bendera ini ditetapkan, semua pengecam yang jenis datanya tidak diisytiharkan dalam setiap modul
akan disenaraikan. Bendera ini berguna untuk membantu mencari nama pembolehubah yang salah eja,
dan lain-lain. Penyenaraian yang sama akan diberikan jika modul mengandungi TIADA YANG TERSIRAT
kenyataan. Lalai = tidak.

Lihat juga: -enam arang, -penggunaan.

-pembahagian
Suis ini disediakan untuk membantu pengguna mengesan potensi pembahagian dengan masalah sifar. Jika
suis ini dipilih, setiap bahagian kecuali dengan pemalar akan dibenderakan. (Ia
diandaikan bahawa pengguna cukup bijak untuk tidak membahagi dengan pemalar iaitu
sama dengan sifar!) Lalai = tidak.

Lihat juga: -mudah alih, -pemangkasan.

-kesilapan=num
Tetapkan bilangan maksimum mesej ralat dalam ``lata''. Semasa memeriksa
persetujuan argumen subprogram, pengisytiharan blok biasa, dan sebagainya,
kadangkala satu kes akan menghasilkan rentetan amaran yang panjang. Selalunya ini secara ringkas
menunjukkan beberapa sebab lain daripada ketidakpadanan item demi item yang tulen, seperti untuk
contoh pembolehubah hilang daripada satu senarai. Jadi dalam kes sedemikian ftnchek berhenti mencetak
amaran selepas had lata dicapai, dan treler ``dll...'' ialah
dicetak untuk menunjukkan bahawa terdapat lebih banyak ralat yang tidak dicetak. Jika anda fikir begitu
amaran ini berkemungkinan tulen, gunakan tetapan ini untuk melihat lebih banyak amaran itu.
Hidupkan = lalai = 3, maks = 999. Nilai 0 bermakna tiada had.

Tetapan ini tidak menetapkan had keseluruhan pada bilangan mesej ralat yang dicetak,
hanya nombor yang dicetak dalam mana-mana satu lata. Kebanyakan jenis amaran dan ralat
mesej tidak tertakluk kepada kesan lata dan oleh itu tidak terjejas oleh ini
tetapan. Untuk mematikan amaran secara amnya, gunakan kawalan amaran individu
pilihan atau yang -tiada semak pilihan.

Lihat juga: -semak.

-luaran
Punca ftnchek untuk melaporkan sama ada mana-mana subprogram yang digunakan oleh program itu tidak pernah
ditakrifkan. Biasanya, jika ftnchek sedang dijalankan pada program yang lengkap, setiap satu
subprogram selain daripada fungsi intrinsik harus ditakrifkan di suatu tempat. pusing
matikan suis ini jika anda hanya ingin menyemak subset fail yang membentuk sebahagian daripada a
program lengkap yang lebih besar. Argumen subprogram masih akan disemak
ketepatan. Lalai = ya.

. -luaran bendera kini digantikan oleh -usage=ext-undefined pilihan. Untuk
demi kemudahan, itu -luaran bendera dikekalkan, supaya -noextern adalah setaraf
kepada -usage=no-ext-undefined pilihan. The -luaran suis mungkin bersara akhirnya.

Lihat juga: -perpustakaan.

-f77=senarai
Gunakan tetapan ini untuk menangkap sambungan bahasa yang melanggar Fortran 77
Standard. Sambungan sedemikian boleh menyebabkan program anda tidak mudah alih. Contoh
termasuk penggunaan garis bawah dalam nama berubah; nama pembolehubah lebih panjang daripada enam
watak; baris pernyataan lebih panjang daripada 72 aksara; dan pernyataan tidak standard
seperti struktur DO ... ENDDO. ftnchek tidak melaporkan penggunaan
huruf kecil. Secara lalai, semua amaran dimatikan.

Tetapan ini menyediakan kawalan terperinci ke atas amaran tentang sambungan yang disokong
kepada Standard Fortran 77. (Butiran lanjut tentang sambungan itu sendiri ialah
diberikan di bawah dalam bahagian Sambungan.) The senarai terdiri daripada kata kunci yang diasingkan
dengan koma atau titik bertindih. Terdapat tiga kata kunci khas: semua untuk menghidupkan semua
amaran tentang sambungan bukan standard, tiada untuk mematikan semuanya, dan membantu untuk mencetak
senarai semua kata kunci dengan penerangan ringkas setiap satu. Jika senarai ditinggalkan,
-f77 adalah bersamaan dengan -f77=semua, dan -nof77 adalah bersamaan dengan -f77=tiada. Amaran itu
kata kunci dengan maksudnya adalah seperti berikut:

jenis terima:
TERIMA dan TYPE pernyataan I/O.

sempadan tatasusunan:
Ungkapan yang mentakrifkan sempadan tatasusunan yang mengandungi elemen atau fungsi tatasusunan
rujukan.

tugasan-stmt:
Penyataan tugasan yang melibatkan tatasusunan. Dalam Fortran 90, tatasusunan boleh
diperuntukkan kepada tatasusunan lain bentuk serasi, atau skalar boleh diberikan kepada
tatasusunan. Kedua-dua tugasan ini tidak dibenarkan dalam Fortran 77.

Amaran berkaitan berlaku apabila tatasusunan diberikan kepada skalar. Sejak ini
adalah menyalahi undang-undang juga dalam Fortran 90, ia sentiasa diberi amaran tanpa mengira
-f77 tetapan (melainkan jika semua pemeriksaan dimatikan dengan -tiada semak bendera).

berasaskan atribut-decl:
Taipkan pengisytiharan dalam gaya berasaskan atribut Fortran 90 baharu. Gaya ini
pengisytiharan dibezakan dengan penggunaan tanda dua bertindih (::) antara
senarai atribut dan senarai pembolehubah yang diisytiharkan. Pilihan ini juga
mengawal amaran untuk penggunaan penentu panjang atau jenis Fortran 90 dalam jenis
pengisytiharan. (Walaupun penentu ini boleh digunakan dalam bukan berasaskan atribut
pengisytiharan, mereka dikawal oleh pilihan ini untuk mengelakkan percambahan
-f77 pilihan.)

susunan automatik:
Tatasusunan setempat (bukan dummy) yang mempunyai saiz berubah-ubah. Ini akan sepadan dengan
tatasusunan yang storannya perlu diperuntukkan secara dinamik pada masa berjalan.

garis belakang:
Unix backslash melarikan diri dalam rentetan. Amaran ini akan diberikan hanya jika
-source=unix-backslash tetapan ditentukan untuk menyebabkan pelarian
tafsiran garis miring terbalik..

bait: pengisytiharan jenis data BYTE.

pembinaan kes:
Pembinaan SELECT CASE.

watak:
Sambungan kepada standard Fortran 77 mengenai data aksara. Pada masa ini,
ini hanya mengawal amaran tentang pembolehubah aksara yang diisytiharkan dengan sifar atau
panjang negatif. Dalam Fortran 77, semua pembolehubah aksara mestilah positif
panjang. Dalam Fortran 90, mereka boleh menjadi sifar panjang, dan pengisytiharan itu
nyatakan panjang negatif dibenarkan, bertukar menjadi sifar untuk yang diisytiharkan
panjang. Nota: kerana penentu panjang negatif mungkin menunjukkan pengaturcaraan
ralat, amaran tentang mereka diberikan walaupun pilihan ini dimatikan, dan
hanya ditindas oleh -tiada semak bendera.

nama-subprog biasa:
Blok dan subprogram biasa mempunyai nama yang sama.

nama binaan:
Penggunaan nama binaan untuk melabel pernyataan kawalan.

kesinambungan:
Lebih daripada 19 baris sambungan berturut-turut.

cpp: Arahan prapemproses Unix C dalam kod sumber.

cray-pointer:
Sintaks ``Penunjuk Cray'.

kitaran-keluar:
Penyataan CYCLE dan EXIT.

d-komen:
Menyahpepijat komen bermula dengan D dalam kod sumber.

tab dec:
Kod sumber berformat tab gaya DEC Fortran. Amaran ini hanya akan diberikan
jika -source=tab-dec tetapan ditentukan untuk menyebabkan tafsiran tab
dalam gaya ini.

buat-akhir:
Sambungan gelung DO: label pernyataan terminal diabaikan, END DO dan WHILE.

kompleks berganda:
Jenis data kompleks berketepatan ganda.

format-tanda dolar:
Kod kawalan tanda dolar dalam penyata FORMAT.

format-edit-descr:
Deskriptor edit bukan standard dalam pernyataan FORMAT.

fungsi-noparen:
Definisi fungsi tanpa kurungan.

tersirat-tiada:
kenyataan TIADA TERSIRAT.

termasuk:
SERTAKAN kenyataan.

komen dalam talian:
Komen sebaris bermula dengan tanda seru.

senarai dalaman-io:
I/O terarah senarai ke atau daripada fail dalaman.

intrinsik:
Fungsi intrinsik tidak standard.

io-kata kunci
Kata kunci tidak standard yang digunakan dalam penyata I/O. Ini dibahagikan kepada tiga kumpulan.
Kumpulan pertama termasuk kata kunci yang diterima dalam Fortran 90:

ACTION PAD READWRITE
SAIZ KEDUDUKAN MAJU
DELIM BACA TULIS
EOR
Kumpulan kedua terdiri daripada kata kunci VMS Fortran berikut:

BLOCKSIZE EXTENDSIZE BACA SAHAJA
SAIZ REKOD SAIZ AWAL BUFFERCOUNT
CARRIAGECONTROL MAXREC RECORDTYPE
NAMA FAIL DEFAULT (dalam OPEN) DIKONGSI
DISP NOSPANBLOCK JENIS
BUANG ORGANISASI
(Kata kunci NAME adalah standard hanya dalam pernyataan INQUIRE.) Yang ketiga
kumpulan terdiri daripada kata kunci IBM/MVS berikut:

NUM
Bendera ini juga mengawal amaran tentang penggunaan ACCESS='APPEND', iaitu
diterima oleh beberapa penyusun. Nilai 'APPEND' tidak sah untuk mana-mana I/O
penentu dalam standard Fortran 77, dan dalam Fortran 90 'APPEND' harus digunakan
sebagai nilai penentu POSITION, bukan ACCESS.

Barisan yang panjang:
Pernyataan dengan kod bermakna melepasi 72 lajur. Amaran ini hanya diberikan
jika -lajur tetapan telah digunakan untuk meningkatkan lebar medan pernyataan.

nama panjang:
Pengecam lebih daripada 6 aksara panjang.

bercampur-biasa:
Data aksara dan bukan aksara bercampur dalam blok COMMON.

bercampur-expr:
Kombinasi jenis tidak standard dalam ungkapan, contohnya DOUBLE PECISION
dengan KOMPLEKS, memberikan hollerith kepada integer, operasi logik pada integer.

nama-tanda dolar:
Tanda dolar digunakan sebagai watak dalam pengecam.

nama-garis bawah:
Garis bawah digunakan sebagai watak dalam pengecam.

senarai nama:
NAMELIST kenyataan.

jenis-param-tersirat:
Penaipan tersirat parameter mengikut jenis data nilai yang diberikan. ini
amaran hanya boleh berlaku jika penaipan parameter tersirat telah dihidupkan oleh
-source=param-implisit-type pilihan, atau jika pernyataan PARAMETER adalah daripada
bentuk bukan piawai tanpa kurungan. Jika pilihan ini dihidupkan, maka sebarang
kejadian di mana penaipan parameter tersirat berlaku akan diberi amaran. Jika
anda mahu diberi amaran hanya dalam keadaan di mana jenis data tersirat
berbeza daripada jenis lalai, gunakan -mudah alih=param-jenis-tersirat sebaliknya.
Menurut standard Fortran 77, jenis data parameter diberikan
dengan peraturan yang sama seperti pembolehubah, dan jika perlu penukaran jenis adalah
dilakukan apabila nilai diberikan.

param-intrinsik:
Fungsi intrinsik atau eksponen oleh nyata digunakan untuk mentakrifkan nilai a
Definisi PARAMETER.

param-noparen:
PERNYATAAN PARAMETER tanpa kurungan. Pengguna harus sedar bahawa
semantik bentuk pernyataan ini berbeza daripada standard
borang: dalam borang ini, parameter mengambil jenis datanya daripada nilai
diberikan, dan bukannya mempunyai jenis data lalainya berdasarkan huruf pertama
daripada nama parameter. (Bentuk pernyataan PARAMETER ini telah diperkenalkan
oleh DEC sebelum standard Fortran 77 ditakrifkan, dan harus dielakkan.)

penunjuk:
Sintaks berkaitan penuding standard Fortran 90, termasuk POINTER, TARGET dan
penyataan jenis ALLOCATABLE, ALLOCATE, DEALLOCATE, dan NULLIFY,
dan penugasan penunjuk menggunakan =>.

empat-malar:
Pemalar nyata ketepatan empat, cth dalam bentuk 1.23Q4.

tanda petikan:
Rentetan dibatasi oleh tanda petikan dan bukannya apostrof.

relops:
Operator perhubungan (perbandingan) yang terdiri daripada tanda baca, iaitu: < <= == /=
> >=.

koma bertitik:
Titik bertitik digunakan sebagai pemisah pernyataan.

perintah-penyata:
Pernyataan di luar urutan yang dimandatkan oleh Standard. Yang dibenarkan
turutan digambarkan dalam Jadual 1 dalam bahagian Mentafsir Output.

malar tanpa jenis:
Pemalar tanpa taip, contohnya Z'19AF'.

saiz jenis:
Taipkan pengisytiharan yang menyatakan saiz, contohnya REAL*8.

format pembolehubah:
Spesifikasi ulangan boleh ubah atau saiz medan dalam FORMAT. Ini adalah dalam bentuk
< expr >.

vms-io:
usang. Kini mempunyai maksud yang sama dengan io-kata kunci kata kunci.

Lihat juga: -f90, -f95, -mudah alih, -cantik, Gaya, -saiz perkataan.

-f90=senarai
Tetapan ini menyediakan kawalan terperinci ke atas amaran tentang sambungan yang disokong
kepada Standard Fortran 77 yang tidak diterima pakai sebagai sebahagian daripada Fortran 90
Standard. Perhatikan bahawa ftnchek tidak menyokong bahasa Fortran 90 penuh.
Walau bagaimanapun, ia menyokong beberapa sambungan biasa kepada Fortran 77 yang lazim
sebelum Fortran 90 ditakrifkan. Beberapa sambungan ini menjadi sebahagian daripada Fortran
90 Standard, tetapi yang lain tidak. The -f90 tetapan hanya memberi amaran tentang yang terakhir.
Iaitu, bendera ini meliputi perkara yang bukan Fortran 77 yang sah dan tidak sah
Fortran 90. Oleh itu, amaran yang dikawal oleh bendera ini pada asasnya adalah subset
daripada amaran yang dikawal oleh -f77. Terdapat beberapa kes, diterangkan di bawah, di mana
keadaan di mana amaran diberikan adalah sedikit berbeza untuk kedua-duanya
bendera.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Ada tiga
kata kunci khas: semua untuk menghidupkan semua amaran tentang sambungan bukan standard,
tiada untuk mematikan semuanya, dan membantu untuk mencetak senarai semua kata kunci dengan a
penerangan ringkas masing-masing. Jika senarai ditinggalkan, -f90 adalah bersamaan dengan -f90=semua, dan
-nof90 adalah bersamaan dengan -f90=tiada.

Kata kunci berikut mempunyai maksud yang sama untuk -f90 untuk -f77. Pembaca adalah
merujuk kepada penjelasan di bawah -f77.

jenis terima kompleks berganda param-noparen
garis belakang format-tanda dolar cray-pointer
bait format-edit-descr empat-malar
cpp fungsi-noparen saiz jenis
d-komen nama-tanda dolar format pembolehubah
tab dec jenis-param-tersirat vms-io

Kata kunci yang agak berbeza daripada kata kunci yang sepadan -f77 kata kunci adalah sebagai
ikut.

kesinambungan:
Had bilangan baris sambungan untuk pernyataan dalam sumber tetap
bentuk adalah sama, iaitu 19, dalam Fortran 90 seperti dalam Fortran 77. Untuk sumber percuma
membentuk had ialah 39 baris sambungan, dan garis yang mengandungi sambungan
tanda tidak boleh sebaliknya kosong atau mengandungi hanya ulasan.

intrinsik:
Ini adalah sama seperti untuk -f77 kecuali untuk fungsi intrinsik yang ditakrifkan dalam
MIL-STD 1753, yang semuanya termasuk dalam Fortran 90, dan sebagainya tidak diberi amaran
tentang. (Lihat -intrinsik untuk senarai.)

io-kata kunci:
Ini adalah sama seperti untuk -f77 kecuali tiada amaran diberikan untuk I/O
kata kunci yang standard dalam Fortran 90.

Barisan yang panjang:
Walaupun Fortran 90 Standard membenarkan baris lebih panjang daripada 72 aksara masuk
borang sumber percuma, sekatan ini masih digunakan untuk borang sumber tetap. Dalam
bentuk sumber percuma had panjang baris ialah 132 aksara, dan tidak seperti tetap
bentuk, ftnchek tidak membenarkan had ini ditingkatkan.

bercampur-expr:
Ini adalah sama seperti untuk -f77 kecuali untuk ungkapan yang mencampurkan ketepatan lanjutan
nyata dengan jenis data yang kompleks, yang dibenarkan dalam Fortran 90.

perintah-penyata:
Ini serupa dengan yang sepadan -f77 amaran, tetapi terpakai agaknya
sekatan yang lebih longgar pada perintah penyata Piawaian Fortran 90. Dalam
khususnya, Fortran 90 membenarkan penyata DATA dan fungsi penyataan
definisi untuk dicampur dengan pernyataan spesifikasi.

malar tanpa jenis:
Dalam Fortran 90, pemalar binari, perlapanan, dan perenambelasan dalam bentuk B'ddd',
O'ddd', dan Z'ddd', masing-masing, dibenarkan. Di sini 'ddd' mewakili a
rentetan digit. ftnchek mengenali bentuk-bentuk ini, serta varian daripada
bentuk X'ddd' untuk pemalar heksadesimal, dan varian lain di mana
penunjuk asas B, O, Z, atau X mengikut rentetan digit. Varian ini adalah
tidak diterima pakai dalam Fortran 90, jadi hanya mereka diberi amaran tentang bila bendera ini
terangsang.

Lihat juga: -f77, -f95, -mudah alih, -cantik, Gaya, -saiz perkataan.

-f95=senarai
Tetapan ini menyediakan kawalan terperinci ke atas amaran tentang standard Fortran 77
ciri yang telah dipadamkan daripada Fortran 95 Standard. Berbeza dengan -f77 and -f90
tetapan, amaran ini digunakan pada sintaks yang sah Fortran 77. Walau bagaimanapun, sejak
ciri-ciri ini telah dipadamkan daripada Standard, ada kemungkinan bahawa program
mengandunginya tidak akan diterima oleh sesetengah penyusun yang lebih baharu.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Ada tiga
kata kunci khas: semua untuk menghidupkan semua amaran tentang sambungan bukan standard,
tiada untuk mematikan semuanya, dan membantu untuk mencetak senarai semua kata kunci dengan a
penerangan ringkas masing-masing. Jika senarai ditinggalkan, -f95 adalah bersamaan dengan -f95=semua, dan
-nof95 adalah bersamaan dengan -f95=tiada. Kata kunci amaran dengan maksudnya adalah sebagai
ikut.

kerja nyata:
Pembolehubah DO daripada sebarang jenis angka sebenar.

berhenti seketika:
Kenyataan PAUSE.

menetapkan:
Pernyataan ASSIGN, GOTO yang diberikan atau format yang ditetapkan.

h-edit:
Deskriptor edit H dalam format.

Terdapat satu lagi ciri sintaks Fortran 77 yang telah dipadamkan dalam Fortran 95, iaitu
bercabang ke ENDIF dari luar blok IF. Walau bagaimanapun, ftnchek tidak mampu
menganalisis aliran program, jadi ia tidak memberikan amaran untuk ini.

Lihat juga: -f77, -f90, -mudah alih, -cantik, Gaya, -saiz perkataan.

-membantu
Mencetak senarai semua pilihan baris arahan dengan penerangan ringkas setiap satu
bersama dengan nilai lalainya. Perintah ini adalah sama dalam fungsi dengan ``?''
hujah, dan disediakan sebagai kemudahan untuk sistem tersebut di mana soalan
mark mempunyai makna khusus kepada jurubahasa arahan. Lalai = tidak.

Penyenaraian bantuan juga mencetak nombor versi dan tahap tampung ftnchek dan
notis hak cipta.

Nota: nilai ``default'' yang dicetak dalam kurungan segi empat sama dalam penyenaraian bantuan ialah,
secara tegasnya, bukan lalai terbina dalam tetapi nilai semasa selepas mana-mana
pilihan persekitaran dan sebarang pilihan baris arahan sebelum -membantu pilihan mempunyai
telah diproses.

Lihat juga: -orang baru, -turun, dan membantu pilihan semua tetapan yang mengambil senarai
kata kunci.

-identifier-chars=senarai
Tentukan aksara bukan abjad angka yang boleh digunakan dalam pengecam. Secara lalai,
ftnchek hanya menerima tanda dolar dan garis bawah sebagai aksara bukan abjad angka
dalam nama pengecam. Watak-watak dalam senarai menggantikan mana-mana set yang diterima
aksara bukan abjad angka telah digunakan sebelum ini. Oleh itu, jika tanda dolar atau
garis bawah tidak termasuk dalam senarai, mereka kehilangan status mereka sebagai boleh diterima
watak-watak.

Pilihan ini disediakan untuk membolehkan ftnchek untuk mengendalikan fail sumber yang mengandungi bukan
nama pengenal standard yang mungkin diperlukan, sebagai contoh, untuk mengakses tertentu
perkhidmatan sistem pengendalian. Lihat bahagian mengenai Had dan Sambungan untuk
perlakuan pengecam yang mengandungi aksara ini dalam penaipan tersirat.

Menggunakan -noidentifer-chars mematikan penerimaan aksara bukan abjad angka
sepenuhnya.

Lihat juga: -sumber.

-termasuk=jalan
Menentukan direktori untuk dicari untuk fail yang ditentukan oleh pernyataan INCLUDE.
Tidak seperti pilihan baris perintah lain, tetapan ini adalah terkumpul; iaitu, jika ia
diberikan lebih daripada sekali pada baris arahan, semua direktori yang dinyatakan adalah
diletakkan pada senarai yang akan dicari dalam susunan yang sama seperti yang diberikan. The
perintah di mana ftnchek carian untuk fail yang akan disertakan ialah: semasa
direktori; direktori yang ditentukan oleh pembolehubah persekitaran FTNCHEK_INCLUDE jika ada;
direktori yang ditentukan oleh mana-mana -termasuk pilihan; direktori yang ditentukan oleh
pembolehubah persekitaran TERMASUK; dan akhirnya dalam direktori seluruh sistem standard
(/ usr / sertakan untuk UNIX, SYS$LIBRARY untuk VMS, dan \include untuk MSDOS).

Lihat juga: -f77, -sumber.

-intrinsik=senarai
Mengawal sama ada ftnchek mengiktiraf fungsi intrinsik bukan piawai tertentu sebagai
intrinsik. The senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Sebahagian daripada
kata kunci mengawal sama ada untuk mengenali kumpulan fungsi tertentu, dan lain-lain
kata kunci mengawal sintaks yang dijangkakan untuk menggunakan beberapa intrinsik bukan standard.
Sertakan kata kunci untuk menghidupkan pengecaman set intrinsik atau yang sepadan
untuk membenarkan sintaks yang sepadan. Sertakan kata kunci yang diawali dengan NO- untuk mematikan
pengiktirafan itu.

Terdapat tiga kata kunci khas: semua menghidupkan pengiktirafan semua bukan standard
intrinsik (disenaraikan di bawah) dan menerima sama ada sintaks untuk yang mempunyai variasi.
Penggunaan tiada untuk mematikan pengiktirafan semua intrinsik bukan standard kecuali yang dinyatakan
di bawah. guna membantu untuk mencetak senarai semua kata kunci dengan penerangan ringkas tentang
setiap satu. Jika senarai ditinggalkan, -intrinsik adalah bersamaan dengan -intrinsik=semua, dan
-nointrinsik adalah bersamaan dengan -intrinsik=tiada.

Fungsi intrinsik bukan standard yang diperlukan untuk menyokong lanjutan bukan standard
jenis data ketepatan (kompleks berganda dan ketepatan quad) sentiasa diiktiraf.
Intrinsik untuk jenis data kompleks berganda ialah:

CDABS CDSQRT DREAL ZLOG
CDCOS DCMPLX IMAG ZSIN
CDEXP DCONJG ZABS ZSQRT
CDLOG DIMAG ZEXP ZCOS
CDSIN
Intrinsik untuk jenis ketepatan empat dan kompleks empat adalah:

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
Kata kunci yang mengawal pengecaman fungsi intrinsik bukan standard yang lain ialah
seperti berikut:

tambahan:
mengenali intrinsik bukan standard berikut yang biasa tersedia (semua kecuali
EXIT dan LOC ditakrifkan dalam MIL-STD 1753):

TERBAIK IBCLR IEOR ISHFTC
KELUAR IBITS IOR LOC
IAND IBSET ISHFT TIDAK

unix: mengenali fungsi intrinsik khusus Unix biasa ini:

GUGURKAN GMTIME LTIME SRAND
DAN IARGC ATAU SISTEM
GETARG IRAND RAND TIME
GETENV LSHIFT RSHIFT XOR

vms: mengenali fungsi intrinsik khusus VMS biasa ini:

TARIKH TARIKH SAAT MASA

ERRSNS RAN SIZEOF

iargc-tiada-hujah:
nyatakan bahawa IARGC boleh digunakan tanpa hujah.

iargc-one-argument:
nyatakan bahawa IARGC boleh digunakan dengan satu hujah.

rand-tiada-hujah:
nyatakan bahawa RAND dan IRAND boleh digunakan tanpa hujah.

rand-one-argument:
nyatakan bahawa RAND dan IRAND boleh digunakan dengan satu hujah.

. tiada hujah and satu hujah kata kunci berfungsi seperti berikut: menghidupkan pilihan
sebab-sebab ftnchek untuk menerima sintaks yang sepadan untuk pemanggilan fungsi,
tanpa mengecualikan kemungkinan sintaks alternatif. Menghidupkan pilihan
mati menyebabkan sintaks yang sepadan tidak diterima. Jika kedua-dua pilihan dihidupkan
hidup sekaligus (lalai), maka sama ada sintaks diterima. Mematikan kedua-dua pilihan
sekali gus tidak akan bermakna. Pilihan ini tidak mempunyai kesan jika pengiktirafan
Intrinsik Unix telah dimatikan.

Ambil perhatian bahawa tetapan ini tidak mengawal sama ada amaran bukan standard dikeluarkan
tentang fungsi-fungsi ini. Ia mengawal sama ada fungsi itu diandaikan
intrinsik atau tidak, yang menentukan cara penggunaannya disemak. Apabila berfungsi dalam
mana-mana set ini disertakan, doa mereka akan disemak mengikut
peraturan untuk fungsi intrinsik; jika tidak, ia akan disemak seperti biasa (pengguna-
bertulis) fungsi luaran. Amaran bukan standard dikawal oleh
-f77=intrinsik pilihan.

Nilai lalai tetapan ini adalah bersamaan dengan -intrinsik=semua diikuti oleh
-intrinsik=tiada-vms untuk versi Unix, -intrinsik=tiada-unix untuk versi VMS, dan
-intrinsik=no-unix,no-vms untuk versi lain.

Nota: Dalam versi ftnchek sebelum 2.10, yang -intrinsik bendera mengambil angka
hujah dan bukannya senarai pilihan. Demi pengguna yang mungkin telah menulis
skrip memohon ftnchek dengan cara ini, borang berangka masih diterima. The
bentuk angka tetapan terdiri daripada tiga digit. Digit satu memilih
set fungsi intrinsik yang perlu disokong. Angka 0 hanya memilih Fortran 77
intrinsik standard ditambah dengan yang diperlukan untuk menyokong ketepatan lanjutan bukan standard
jenis data. Angka 1 bersamaan dengan tambahan, 2 bersamaan dengan tambahan, unix, dan
3 bersamaan dengan tambahan,vms. Digit sepuluh tetapan ini mengawal sintaks
daripada fungsi intrinsik RAND, dan digit ratusan mengawal sintaks bagi
Fungsi IARGC. Untuk digit ini, nyatakan 0 untuk memerlukan seruan dengan no
hujah, 1 memerlukan satu hujah, dan 2 untuk membenarkan mana-mana bentuk.

Lihat juga: -f77.

-perpustakaan
Suis ini digunakan apabila beberapa subprogram terkandung dalam fail, tetapi tidak
kesemuanya digunakan oleh aplikasi. Biasanya, ftnchek memberi amaran kepada anda jika ada
subprogram ditakrifkan tetapi tidak pernah digunakan. Suis ini akan menyekat amaran ini.
Lalai = tidak.

Suis ini juga mengawal panggilan subprogram dan pengisytiharan blok BIASA
diperiksa. Jika fail dibaca dengan -perpustakaan bendera berkuat kuasa, subprogram memanggil
dan pengisytiharan BIASA yang terkandung dalam rutin dalam fail itu akan disemak hanya jika
rutin itu berada dalam pokok panggilan program utama. Sebaliknya, jika
-perpustakaan suis dimatikan, kemudian ftnchek menyemak panggilan setiap rutin oleh
setiap rutin lain, tidak kira sama ada rutin itu boleh berlaku
digunakan pada masa larian, dan begitu juga semua pengisytiharan blok BIASA dibandingkan untuk
perjanjian.

Perbezaan antara suis ini dan -usage=no-ext-unused pilihan untuk
subprogram adalah bahawa yang terakhir menyekat hanya amaran tentang rutin
diisytiharkan tetapi tidak digunakan. The -perpustakaan suis pergi lebih jauh dan tidak termasuk yang tidak digunakan
rutin diproses semasa ia berkuat kuasa daripada semua semakan silang argumen dan
Pengisytiharan blok biasa juga.

(Jika tiada program utama di mana-mana dalam set fail itu ftnchek telah membaca, jadi
bahawa tidak ada pokok panggilan, maka ftnchek akan mencari sebarang rutin bukan perpustakaan
yang tidak dipanggil oleh mana-mana rutin lain, dan gunakan ini sebagai pengganti untuk yang utama
program dalam membina pepohon panggilan dan memutuskan perkara yang perlu diperiksa. Jika tiada bahagian atas-
peringkat rutin bukan perpustakaan ditemui, kemudian semua panggilan antara modul dan semua COMMON
pengisytiharan akan disemak.)

Lihat juga: -hujah, -calltree, -biasa, -luaran, -penggunaan.

- senarai
Menentukan bahawa penyenaraian program Fortran akan dicetak dengan baris
nombor. Jika ftnchek mengesan ralat, mesej ralat mengikuti baris program
dengan karet ( ^ ) menyatakan lokasi ralat. Jika tiada penyenaraian sumber
diminta, ftnchek masih akan mencetak sebarang baris yang mengandungi ralat, untuk membantu
pengguna dalam menentukan di mana ralat berlaku. Lalai = tidak.

Lihat juga: -pengeluaran, \fB-symtab, fB-senyap.

-makedcls=senarai
Sediakan fail pengisytiharan pembolehubah yang diformat dengan kemas, blok biasa dan
senarai senarai nama, untuk kemungkinan digabungkan ke dalam kod sumber. Pengisytiharan adalah
disimpan dalam fail dengan nama yang sama dengan kod sumber, tetapi dengan sambungan
ditukar menjadi .dcl. Jika tiada pengisytiharan ditulis pada fail, ia dipadamkan ke
mengurangkan kekacauan dari fail kosong.

Jika input datang daripada input standard, bukannya fail bernama, maka pengisytiharan adalah
ditulis kepada keluaran standard.

Pembolehubah diisytiharkan dalam susunan abjad dalam setiap kelas pengisytiharan dan
jenis, dengan pembolehubah integer terlebih dahulu, kerana kemungkinan penggunaannya kemudian dalam tatasusunan
dimensi.

Pernyataan PARAMETER adalah pengecualian kepada peraturan susunan abjad, kerana
Fortran 77 Standard memerlukan ungkapan yang menentukan nilai parameter merujuk
hanya kepada pemalar dan nama parameter yang telah ditentukan. Ini memaksa yang asal
susunan fail sumber kenyataan sedemikian untuk disimpan dalam fail pengisytiharan.

Pengisytiharan eksplisit tentang semua pembolehubah dianggap pengaturcaraan moden yang baik
berlatih. Dengan menggunakan pilihan pengkompil untuk menolak pembolehubah yang tidak diisytiharkan, salah eja
nama pembolehubah (atau nama yang melepasi lajur 72) boleh ditangkap pada masa penyusunan.
Pengisytiharan eksplisit juga sangat memudahkan perubahan ketepatan titik terapung
dengan penapis seperti dtoq(1L), dtos(1L), fd2s(1L), fs2d(1L), qtod(1L), dan
stod(1L). Program ini mampu menukar jenis titik terapung eksplisit
jenis pengisytiharan, fungsi intrinsik dan pemalar, tetapi kerana ia tidak
menjalankan analisis leksikal dan tatabahasa yang ketat bagi kod sumber Fortran,
mereka tidak boleh menyediakan pengisytiharan jenis yang diubah suai untuk pembolehubah yang tidak diisytiharkan. lalai
tetapan = 0, hidupkan = 1.

Pelbagai pilihan untuk bentuk fail pengisytiharan dikawal oleh senarai,
yang terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Terdapat tiga yang istimewa
kata kunci: semua untuk menghidupkan semua pilihan, tiada untuk mematikan semuanya, dan membantu kepada
cetak senarai semua kata kunci dengan penerangan ringkas setiap satu. Jika senarai is
ditinggalkan, -makedcls adalah bersamaan dengan -makedcls=pengisytiharan (iaitu menghasilkan
fail pengisytiharan menggunakan pilihan lalai), dan -nomakedcls adalah bersamaan dengan
-makedcls=tiada.

Untuk keserasian dengan versi sebelumnya ftnchek, bentuk angka bagi tetapan ini
juga diterima: yang senarai digantikan dengan nombor yang merupakan hasil tambah nombor
dalam kurungan di sebelah kata kunci dalam senarai berikut. Kata kunci amaran
dengan maksudnya adalah seperti berikut:

pengisytiharan (1):
Tulis fail pengisytiharan. (Ini tersirat oleh mana-mana pilihan lain, dan
boleh ditinggalkan jika ada pilihan lain diberikan.)

tidak diisytiharkan sahaja (2):
Secara lalai, semua pembolehubah disertakan dalam fail pengisytiharan. Dengan ini
pilihan, sertakan sahaja tidak diisytiharkan pembolehubah. Tetapan ini berguna jika anda
ingin menyemak pembolehubah tidak diisytiharkan, kerana fail sumber Fortran dengan semua
pembolehubah yang diisytiharkan dengan betul tidak akan menghasilkan a .dcl fail. Dengan ini
pilihan, blok biasa dan senarai senarai nama tidak akan disertakan dalam
fail pengisytiharan, kerana sifatnya mereka tidak boleh tidak diisytiharkan.

padat (4):
Pengisytiharan biasanya dicetak cantik untuk berbaris dengan kemas bersama
lajur, seperti dalam fail pengisytiharan yang dikeluarkan oleh Pengesah PFORT Lanjutan,
pfort(1L). Nilai pilihan ini sebaliknya memilih output padat, tanpa lajur
penjajaran.

penggunaan-garis-sambungan (8):
Menyebabkan talian sambungan digunakan di mana dibenarkan. Lalainya ialah
mulakan pengisytiharan baharu pada setiap baris. Pilihan ini sesuai digunakan
Bersama-sama dengan padat.

kata kunci-huruf kecil (16):
Keluarkan kata kunci Fortran dalam huruf kecil, bukannya huruf besar lalai.

vars-and-consts-huruf kecil (32):
Pembolehubah keluaran dan pemalar dalam huruf kecil, bukannya lalai
huruf besar. Pemalar rentetan aksara tidak dipengaruhi oleh pilihan ini.

kecualikan-sftran3 (64):
Tinggalkan pengisytiharan pembolehubah integer dalaman yang dihasilkan oleh SFTRAN3
prapemproses, xsf3(1L), sebagai sebahagian daripada terjemahan Fortran berstruktur
kenyataan kepada Fortran biasa. Pembolehubah ini mempunyai nama enam aksara
borang NPRddd, NXdddd, N2dddd, dan N3dddd, Di mana d ialah digit perpuluhan.
Kerana mereka tidak kelihatan dalam kod sumber SFTRAN3, dan akan berubah jika
Kod SFTRAN3 diubah suai, pembolehubah sedemikian tidak seharusnya diisytiharkan secara eksplisit.
Sebaliknya, mereka hanya perlu menganggap jenis data Fortran INTEGER lalai berdasarkan
pada surat awal mereka, N.

asterisk-komen (128):
Gunakan asterisk sebagai aksara ulasan; lalainya ialah 'C'.

komen-char-huruf kecil (256):
Gunakan 'c' dan bukannya 'C' atau '*' sebagai aksara ulasan.

supress-array-dimensi (512):
Sekat dimensi tatasusunan dalam pengisytiharan yang dijana. Pilihan ini
adalah untuk digunakan dengan pengisytiharan jenis kekurangan kod, untuk membenarkan pengisytiharan itu
fail untuk dimasukkan tanpa perubahan ke dalam kod. Oleh kerana kod itu akan mempunyai
penyataan dimensi sudah, mendimensi pembolehubah tatasusunan dalam jenis
kenyataan fail pengisytiharan adalah berlebihan. Pilihan ini harus digunakan
hanya bersempena dengan pilihan 2 = tidak diisytiharkan sahaja kerana jika tidak ada
tatasusunan yang telah berdimensi dalam pernyataan jenis akan kehilangannya
pendimensian.

bentuk bebas (1024):
Menghasilkan pengisytiharan dalam bentuk sumber percuma. Mod ini digunakan secara automatik jika
sumber input adalah bentuk bebas. Gunakan pilihan ini untuk menghasilkan pengisytiharan dalam
bentuk bebas walaupun input dalam bentuk tetap. Pengisytiharan borang percuma ialah
inden hanya 2 lajur dan bukannya 6, gunakan tanda seru sebagai ulasan
aksara, dan menunjukkan garis sambungan dengan ampersand di hujung
barisan untuk diteruskan.

Fail pengisytiharan mengandungi komen tersendiri yang menandakan permulaan dan tamat
pengisytiharan untuk setiap unit program, untuk memudahkan penggunaan makro editor teks untuk
menggabungkan pengisytiharan kembali ke dalam kod sumber.

. ftnchek pengedaran termasuk program, dcl2inc, yang memproses pengisytiharan
fail untuk menghasilkan fail yang mengandungi pengisytiharan semua blok BIASA, dalam bentuk
sesuai digunakan sebagai fail INCLUDE. Lihat dcl2inc(1L) halaman manual untuk butiran
kegunaannya.

Lihat juga: -mkhtml.

-mkhtml=senarai
Menghasilkan dokumentasi HTML daripada sumber. Mencipta fail HTML individu daripada ftnchek
analisis dan ulasan kod. Semua komen serta-merta sebelum dan selepas
fungsi atau definisi subrutin ditangkap ke fail HTML. Tiada pemformatan semula
ulasan sumber dilakukan selain daripada menanggalkan aksara ulasan FORTRAN.
Di samping itu, fail HTML menyenaraikan pembolehubah tempatan yang diisytiharkan, blok biasa
pembolehubah yang digunakan, fungsi dan subrutin dipanggil, penggunaan unit I/O dan lain-lain
maklumat tentang setiap subprogram. Biasanya anda juga akan mahu menentukan
-panggilan=pokok untuk mencipta fail HTML akar CallTree.html. (Mungkin fail ini sepatutnya
dinamakan index.html.)

Pelbagai pilihan untuk bentuk fail HTML dikawal oleh senarai, Yang
terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Terdapat tiga yang istimewa
kata kunci: semua untuk menghidupkan semua pilihan, tiada untuk mematikan semuanya, dan membantu kepada
cetak senarai semua kata kunci dengan penerangan ringkas setiap satu. Jika senarai is
ditinggalkan, -mkhtml adalah bersamaan dengan -mkhtml=dokumen (iaitu menghasilkan dokumen HTML
fail menggunakan pilihan lalai), dan -nomkhtmls adalah bersamaan dengan -mkhtml=tiada.

Demi kesederhanaan, pilihan untuk -mkhtml adalah sama seperti untuk
-makedcls kecuali yang tidak berkenaan. Begitu juga, bentuk angka bagi
tetapan ini boleh digunakan, dibentuk sebagai jumlah nombor dalam kurungan dalam
senarai di bawah. Kata kunci amaran dengan maksudnya adalah seperti berikut:

dokumen (1):
Buat dokumen HTML. (Ini tersirat oleh mana-mana pilihan lain, dan
boleh ditinggalkan jika ada pilihan lain diberikan.)

padat (4):
Pengisytiharan biasanya dicetak cantik untuk berbaris dengan kemas bersama
lajur. Nilai pilihan ini sebaliknya memilih output padat, tanpa lajur
penjajaran.

penggunaan-garis-sambungan (8):
Menyebabkan baris sambungan digunakan dan bukannya memulakan pengisytiharan baharu
pada setiap baris. Pilihan ini sesuai digunakan bersama dengan padat.

kata kunci-huruf kecil (16):
Keluarkan kata kunci Fortran dalam huruf kecil, bukannya huruf besar lalai.

vars-and-consts-huruf kecil (32):
Pembolehubah keluaran dan pemalar dalam huruf kecil, bukannya lalai
huruf besar. Pemalar rentetan aksara tidak dipengaruhi oleh pilihan ini.

kecualikan-sftran3 (64):
Tinggalkan pengisytiharan pembolehubah integer dalaman yang dihasilkan oleh SFTRAN3
prapemproses, xsf3(1L). (Lihat -makedcls untuk perbincangan.)

supress-array-dimensi (512):
Sekat dimensi tatasusunan dalam pengisytiharan yang dijana. Ini adalah
biasanya tidak diingini, tetapi tersedia jika atas sebab tertentu anda tidak mahu
dimensi tatasusunan untuk dipaparkan dalam HTML.

bentuk bebas (1024):
Menghasilkan pengisytiharan berubah dalam bentuk sumber bebas. Mod ini adalah
digunakan secara automatik jika sumber input adalah bentuk bebas. Ini terutamanya memberi kesan kepada
bentuk garis sambungan jika ia digunakan.

Lihat juga: -calltree, -makedcls.

-orang baru
Bendera ini bertujuan untuk memberikan output yang lebih berguna untuk pemula. Ia mempunyai dua
kesan:

(a) memberikan mesej tambahan kepada kesan bahawa fungsi yang digunakan tetapi tidak
yang ditakrifkan di mana-mana mungkin merupakan tatasusunan yang pengguna terlupa untuk mengisytiharkan dalam a
Pernyataan DIMENSION (memandangkan sintaks rujukan tatasusunan adalah sama seperti itu
rujukan fungsi).

(b) mengubah suai bentuk mesej ralat dan amaran. Jika bendera dihidupkan
lepas oleh -bukan baru, mesej ini dicetak dalam gaya yang lebih menyerupai UNIX
reben.

Lalai = ya.

-output=nama fail
Tetapan ini disediakan untuk kemudahan pada sistem yang tidak membenarkannya mudah
pengalihan keluaran daripada program. Apabila tetapan ini diberikan, output yang
biasanya muncul pada skrin akan dihantar sebaliknya ke fail bernama. Nota,
bagaimanapun, bahawa ralat operasi daripada ftnchek sendiri (cth di luar angkasa atau tidak boleh
fail terbuka) masih akan dihantar ke skrin. Sambungan untuk nama fail ialah
pilihan, dan jika tiada sambungan diberikan, sambungan itu .lis akan digunakan.

-saiz penunjuk=num
Menentukan saiz pembolehubah ``Penunjuk Cray'' num bait. Lalai = giliran-
pada = 4 bait.

Saiz penuding digunakan untuk memaklumkan amaran ketidakpadanan ketepatan yang melibatkan penuding
pembolehubah, contohnya apabila penunjuk diberikan nilai daripada peruntukan
rutin, atau diluluskan sebagai parameter subprogram.

Lihat juga: -f77, -mudah alih, -pemangkasan, -saiz perkataan.

-mudah alih=senarai
ftnchek akan memberi amaran untuk pelbagai kegunaan bukan mudah alih. Contohnya termasuk
penggunaan tab kecuali dalam ulasan atau dalam rentetan, penggunaan Hollerith
pemalar, dan kesetaraan pembolehubah jenis data yang berbeza. Pilihan ini
tidak menghasilkan amaran untuk sambungan yang disokong pada Fortran 77 Standard,
yang juga boleh menyebabkan masalah mudah alih. Untuk menangkap mereka, gunakan -f77 penetapan.
Secara lalai, semua amaran dimatikan.

Tetapan ini menyediakan kawalan terperinci ke atas amaran tentang kemungkinan mudah alih
masalah. The senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Disana ada
tiga kata kunci khas: semua untuk menghidupkan semua amaran tentang penggunaan bukan mudah alih,
tiada untuk mematikan semuanya, dan membantu untuk mencetak senarai semua kata kunci dengan a
penerangan ringkas masing-masing. Jika senarai ditinggalkan, -mudah alih adalah bersamaan dengan
-mudah alih=semua, dan -mudah alih adalah bersamaan dengan -mudah alih=tiada. Yang
kata kunci amaran dengan maksudnya adalah seperti berikut:

garis belakang:
Watak garis miring belakang dalam rentetan. Memandangkan sesetengah penyusun menganggap garis miring ke belakang sebagai
watak melarikan diri, kehadirannya boleh menyebabkan masalah walaupun ia digunakan
dengan cara yang menepati piawai.

penjajaran sepunya:
Pembolehubah blok biasa bukan dalam susunan menurun saiz storan. Sesetengah
penyusun memerlukan pesanan ini kerana keperluan penjajaran storan.

hollerith:
Pemalar Hollerith (selain daripada dalam spesifikasi FORMAT). The Hollerith
jenis data ialah ciri Fortran IV yang telah dipadamkan dalam Fortran 77
standard. Ia digantikan oleh jenis data aksara. Menyimpan Hollerith
data dalam pembolehubah jenis data berangka atau logik tidak boleh alih disebabkan oleh
saiz perkataan yang berbeza.

bertali panjang:
Pemalar rentetan, pembolehubah atau ungkapan sepanjang 255 aksara.

kesetaraan campuran:
Pembolehubah jenis data yang berbeza disetarakan.

bersaiz bercampur:
Pembolehubah yang diisytiharkan dengan ketepatan lalai digunakan dengan pembolehubah yang diberikan secara eksplisit
ketepatan, dalam ungkapan, tugasan, atau sebagai hujah. Contohnya, jika a
pembolehubah yang diisytiharkan sebagai REAL*8 dianggap bersamaan dengan DOUBLE PECISION.

kerja nyata:
Indeks gelung DO bukan integer dan sempadan. Ini boleh menyebabkan hasil program menjadi
bergantung pada ciri perkakasan komputer tertentu yang digunakan.

jenis-param-tersirat:
Penaipan tersirat parameter mengikut jenis data nilai yang diberikan, jika ia
berbeza daripada jenis lalai. Amaran ini hanya boleh berlaku jika tersirat
penaipan parameter telah dihidupkan oleh -source=param-implisit-type
pilihan, atau jika pernyataan PARAMETER adalah dalam bentuk bukan standard tanpa
kurungan. Jika pilihan ini dihidupkan, maka mana-mana keadaan yang tersirat
penaipan parameter berlaku dan di mana jenis tersirat adalah berbeza daripada
jenis lalai berdasarkan huruf pertama nama parameter, akan diberi amaran
tentang. Penaipan parameter tersirat boleh mengubah semantik pernyataan
di mana parameter digunakan, menyebabkan masalah mudah alih.

tab: Tab dalam kod sumber. Tab ditafsir secara berbeza oleh berbeza
penyusun. Amaran ini akan diberikan sekali sahaja, pada penghujung fail.

Lihat juga: -f77, -f90, -f95, -cantik, Gaya, -saiz perkataan.

-cantik=senarai
Mengawal mesej tertentu yang berkaitan dengan penampilan kod sumber. Ini memberi amaran
tentang perkara-perkara yang mungkin membuat program kurang dibaca atau mengelirukan pembaca.
Secara lalai, semua amaran dihidupkan.

Tetapan ini menyediakan kawalan terperinci ke atas amaran tentang penampilan. The
senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Memandangkan semua amaran dihidupkan
secara lalai, sertakan kata kunci yang diawali dengan NO- untuk mematikan amaran tertentu.
Terdapat tiga kata kunci khas: semua untuk menghidupkan semua amaran tentang mengelirukan
penampilan, tiada untuk mematikan semuanya, dan membantu untuk mencetak senarai semua
kata kunci dengan penerangan ringkas setiap satu. Jika senarai ditinggalkan, -cantik is
bersamaan dengan -cantik=semua, dan -tak cantik adalah bersamaan dengan -cantik=tiada. Yang
kata kunci amaran dengan maksudnya adalah seperti berikut:

ganti-pulangan:
Penyataan RETURN mempunyai pemalar yang menyatakan titik pulangan alternatif itu
bukan antara 0 dan bilangan hujah palsu yang merupakan label. Ini adalah
sah, dan mempunyai kesan yang sama seperti PULANGAN tanpa pulangan ganti
ungkapan, tetapi mencadangkan bahawa pengaturcara berhasrat untuk menggunakan alternatif
kembalikan label yang tidak diberikan.

ruang tertanam:
Ruang dibenamkan dalam nama pembolehubah atau dalam operator berbilang aksara seperti **.

kesinambungan:
Tanda kesinambungan mengikuti baris ulasan.

Barisan yang panjang:
Garisan (kecuali ulasan) lebih daripada 72 lajur lebarnya (melebihi 72 biasanya
diabaikan oleh pengkompil).

ruang yang hilang:
Kekurangan ruang antara pembolehubah dan kata kunci sebelumnya.

berbilang biasa:
Blok COMMON diisytiharkan dalam berbilang kenyataan. Tiada amaran diberikan jika
kenyataan adalah berturut-turut kecuali baris ulasan.

senarai nama berbilang:
NAMELIST diisytiharkan dalam berbilang kenyataan. Tiada amaran diberikan jika
kenyataan adalah berturut-turut kecuali baris ulasan.

kurungan:
Tanda kurung di sekeliling pembolehubah dengan sendirinya. Sebagai hujah subprogram, ini
menjadikan hujah sebagai ungkapan, tidak boleh diubah suai oleh subprogram.

Ambil perhatian bahawa dalam bentuk sumber bebas, ruang tambahan dan ruang yang hilang adalah dilarang oleh
Fortran 90 Standard, dan bukan pelanggaran gaya semata-mata. Dalam kes ini amaran
digantikan dengan mesej ralat sintaks, dan boleh dimatikan hanya dengan menggunakan
-tiada semak.

Lihat juga: -f77, -mudah alih, Gaya.

-projek=senarai
ftnchek akan mencipta fail projek daripada setiap fail sumber yang dimasukkan sementara ini
pilihan dihidupkan. Fail projek akan diberi nama yang sama dengan input
fail, tetapi dengan sambungan .f or .untuk digantikan oleh .prj. (Jika input daripada
input standard, fail projek dinamakan ftnchek.prj.) Lalai = tiada.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Ada tiga
kata kunci khas: semua untuk menghidupkan semua pilihan, tiada untuk mematikan semuanya, dan
membantu untuk mencetak senarai semua kata kunci dengan penerangan ringkas setiap satu. Jika
senarai ditinggalkan, -projek adalah bersamaan dengan -projek=semua, dan -tiada projek is
bersamaan dengan -projek=tiada. Kata kunci dengan maksudnya adalah seperti berikut:

mewujudkan:
Menghasilkan fail projek. Lalainya bukan untuk menghasilkan fail projek. Jika
pilihan ini tidak dihidupkan, pilihan lain tidak mempunyai kesan.

trim-panggilan:
Potong jumlah maklumat yang disimpan dalam fail projek tentang subprogram
pengisytiharan dan panggilan. Ini adalah lalai. Matikan pilihan ini hanya dalam
situasi yang jarang berlaku. (Lihat perbincangan di bawah.) Jumlah pemangkasan berbeza-beza
bergantung kepada -perpustakaan bendera. Maklumat lanjut dipangkas jika bendera itu
terangsang.

trim-common:
Potong bilangan pengisytiharan blok biasa yang disimpan dalam fail projek.
Ini adalah lalai. Matikan pilihan ini hanya dalam situasi yang jarang berlaku. (Lihat
perbincangan di bawah.) Pilihan ini tidak mempunyai kesan jika -perpustakaan bendera dihidupkan
mati: apabila tiada dalam mod perpustakaan, tiada pemangkasan pengisytiharan blok biasa
dilakukan tanpa mengira pilihan ini.

Fail projek mengandungi ringkasan maklumat daripada fail sumber, untuk digunakan dalam
menyemak persetujuan antara penggunaan FUNGSI, SUBROUTINE dan BIASA dalam fail lain.
Ia membenarkan pemeriksaan tambahan, yang menjimatkan masa apabila anda mempunyai set yang besar
fail yang mengandungi subrutin dikongsi, yang kebanyakannya jarang berubah. Awak boleh lari
ftnchek sekali pada setiap fail dengan -projek set bendera, mencipta fail projek.
Biasanya anda juga akan menetapkan -perpustakaan and -noextern bendera pada masa ini, untuk
menyekat mesej yang berkaitan dengan konsistensi dengan fail lain. Hanya mesej ralat
yang berkaitan dengan setiap fail dengan sendirinya akan dicetak pada masa ini. Selepas itu, lari
ftnchek tanpa bendera ini pada semua fail projek bersama-sama, untuk menyemak konsistensi
antara fail yang berbeza. Semua mesej dalaman kepada fail individu akan sekarang
ditinggalkan. Hanya apabila fail diubah, fail projek baharu perlu dibuat
untuk ia.

Sememangnya, apabila -projek pilihan dihidupkan, ftnchek tidak akan membaca projek
fail sebagai input.

Biasanya, pilihan pemangkasan harus dibiarkan hidup apabila anda berhasrat untuk membuat projek
fail untuk input masa hadapan ftnchek. Memandangkan pemangkasan dihidupkan secara lalai, ini bermakna
yang hanya memberi arahan -projek tanpa senarai pilihan adalah disyorkan
mod. Pilihan trim disediakan hanya sebagai kemudahan bagi mereka yang mahu
menggunakan fail projek untuk tujuan selain daripada menyemak program dengan
ftnchek. Untuk menggunakan fail projek untuk tujuan yang dimaksudkan, pilihan trim harus
tidak dimatikan.

Fail projek mengandungi hanya maklumat yang diperlukan untuk menyemak persetujuan antara fail.
Ini bermakna bahawa fail projek tidak berguna jika semua modul program lengkap
terkandung dalam satu fail.

Perbincangan yang lebih terperinci diberikan dalam bahagian Menggunakan Fail Projek.

-suci
Andaikan fungsi adalah ``tulen'', iaitu, ia tidak akan mempunyai kesan sampingan dengan mengubah suai
hujah atau pembolehubah mereka dalam blok BIASA. Apabila bendera ini berkuat kuasa,
ftnchek akan mendasarkan penentuan set dan status digunakan bagi hujah sebenar
dengan andaian bahawa hujah yang dihantar kepada fungsi tidak diubah. Ia akan
juga mengeluarkan amaran jika fungsi didapati mengubah suai mana-mana hujahnya atau mana-mana
Pembolehubah BIASA. Lalai = ya.

Apabila bendera ini dimatikan, argumen sebenar yang dihantar ke fungsi akan dikendalikan
dengan cara yang sama seperti hujah sebenar yang diserahkan kepada subrutin. Ini bermakna bahawa ftnchek
akan menganggap bahawa hujah boleh diubah suai oleh fungsi. Tiada amaran akan diberikan
diberikan jika sesuatu fungsi didapati mempunyai kesan sampingan. Kerana pemeriksaan yang lebih ketat adalah
mungkin jika fungsi diandaikan tulen, anda harus mematikan bendera ini hanya jika
program anda sebenarnya menggunakan fungsi dengan kesan sampingan.

-senyap
Pilihan ini mengurangkan jumlah output yang berkaitan dengan operasi biasa, supaya
mesej ralat lebih jelas. Pilihan ini disediakan untuk kemudahan
pengguna yang menyemak set fail yang besar. Output yang dihapuskan termasuk
nama fail projek, dan mesej melaporkan bahawa tiada ralat sintaks ditemui.
Ia juga menghapuskan beberapa baris kosong yang biasanya disertakan untuk kejelasan. (Sesetengah
output ini dihidupkan semula oleh - senarai and -symtab pilihan.) Lalai = tidak.

Nota: cara untuk mengingati perbezaan antara -senyap and -ringkas ialah
-senyap tidak menyekat sebarang maklumat berkaitan amaran, sedangkan -ringkas tidak.

Lihat juga: -ringkas.

-rujukan
Menentukan bahawa jadual siapa-panggil-siapa dicetak. Jadual ini menyenaraikan setiap subprogram
diikuti dengan senarai rutin yang dipanggilnya. Suis ini bersamaan dengan
-calltree=rujukan. Lalai = tidak.

Senarai rujukan menghilangkan rutin yang dipanggil oleh modul perpustakaan yang tidak digunakan. Justeru itu
mengandungi maklumat yang sama seperti format pepohon panggilan, iaitu hierarki bagi
panggilan subprogram, tetapi dicetak dengan cara yang berbeza. Ini mencetak dahulu lebar
lintasan pokok panggilan sedangkan -calltree=pokok mencetak depth-first
melintasi.

Lihat juga: -calltree, -crossref, -perpustakaan, -susun, -symtab, -vcg.

-sumber
Mencetak jumlah sumber yang digunakan oleh ftnchek dalam memproses program. ini
penyenaraian mungkin berguna dalam menganalisis saiz dan kerumitan program. Ia boleh
juga membantu dalam memilih saiz yang lebih besar untuk ftnchekjadual dalaman jika mereka juga
kecil untuk menganalisis program tertentu. Lalai = tidak.

Dalam penyenaraian ini, istilah ``saiz ketulan'' ialah saiz blok memori
diperuntukkan untuk menyimpan item berkenaan, dalam unit saiz satu item, bukan
semestinya dalam bait. Apabila ruang yang diperuntukkan pada mulanya diisi, lebih banyak memori
diperuntukkan dalam ketulan saiz ini. Berikut adalah penjelasan mengenai item tersebut
dicetak:

Source talian telah di proses:
Jumlah bilangan baris kod, dengan jumlah berasingan untuk baris pernyataan dan
baris komen. Baris ulasan termasuk baris dengan 'C' atau '*' dalam lajur 1 juga
sebagai baris kosong dan baris yang mengandungi hanya ulasan sebaris. Garis kenyataan
adalah semua baris lain, termasuk baris yang mempunyai ulasan sebaris mengikuti beberapa
kod. Garis kesinambungan dikira sebagai garisan berasingan. Barisan dalam termasuk
fail dikira setiap kali fail dimasukkan.

Jumlah boleh dilaksanakan pernyataan:
Bilangan pernyataan dalam program, selain daripada spesifikasi, data, pernyataan-
fungsi, FORMAT, ENTRY, dan penyataan TAMAT.

Jumlah nombor of modul:
Modul ialah sebarang subprogram luaran, termasuk program utama, subrutin,
fungsi, dan blok unit data. Kiraan ini adalah modul yang ditakrifkan dalam
sumber, bukan modul yang dirujuk. Fungsi penyata tidak disertakan. A
subprogram dengan berbilang titik masuk hanya dikira sekali.

Jumlah kenyataan label ditakrifkan
Bilangan label yang dilampirkan pada pernyataan (sering dipanggil nombor pernyataan). The
jumlah kiraan label untuk keseluruhan program diberikan, serta maksimum
nombor dalam mana-mana subprogram tunggal.

Max pengecam nama aksara:
Bilangan aksara yang digunakan untuk menyimpan nama pengecam. Pengecam ialah a
pembolehubah, subprogram atau nama blok biasa. Nama tempatan adalah nama tempatan
pembolehubah dalam subprogram, manakala nama global merujuk kepada subprogram dan biasa
nama blok, serta nama hujah tiruan dan nama pembolehubah biasa. sebenarnya
teks hujah (sehingga 15 aksara untuk setiap hujah) turut disertakan di sini.
Ruang yang digunakan untuk nama tempatan tidak dipulihkan pada akhir setiap modul, jadi
bilangan ini, seperti ruang global, berkembang sehingga keseluruhan program dianalisis.
Malangnya, angka ini mungkin termasuk beberapa teks yang disimpan lebih daripada sekali,
walaupun heuristik digunakan yang akan mengelakkan pendua dalam banyak kes.

Max token teks aksara:
Token ialah unit sintaksis terkecil bahasa FORTRAN di atas tahap
daripada watak individu. Contohnya token boleh menjadi nama pembolehubah, a
pemalar berangka, rentetan teks yang dipetik atau aksara tanda baca. Token
teks disimpan semasa modul sedang diproses. Atas sebab teknikal,
token aksara tunggal tidak termasuk dalam jumlah ini. Item yang tidak
yang diwakili dalam jadual simbol boleh diduakan. Ruang untuk teks token ialah
dipulihkan pada akhir setiap modul, jadi angka ini mewakili maksimum untuk
mana-mana satu modul.

Max tempatan simbol:
Ini adalah bilangan entri terbesar dalam jadual simbol tempatan untuk mana-mana modul.
Entri jadual simbol tempatan termasuk semua pembolehubah dan parameter, blok biasa
nama, fungsi pernyataan, subprogram luaran dan fungsi intrinsik
dirujuk oleh modul. Pemalar literal tidak disimpan dalam simbol tempatan
meja.

Max global simbol:
Ini ialah bilangan entri dalam jadual simbol global pada penghujung
pemprosesan. Entri jadual simbol global termasuk subprogram luaran dan biasa
nama blok. Fungsi intrinsik dan fungsi pernyataan tidak disertakan.

Max nombor of senarai token:
Senarai token ialah jujukan token yang mewakili hujah sebenar atau tiruan
senarai subprogram, atau senarai pembolehubah dalam blok biasa atau senarai nama.
Oleh itu nombor ini mewakili jumlah terbesar BIASA, PANGGILAN, SENARAI NAMA dan
Penyata ENTRY dan seruan fungsi untuk mana-mana satu modul. Ruang adalah
dipulihkan pada akhir setiap modul.

Max token senarai/pokok ruang:
Ini adalah bilangan token terbesar dalam semua senarai token dan pokok token
mana-mana satu modul. Pokok token terbentuk apabila menganalisis ungkapan: setiap satu
operan ialah daun pokok, dan operator ialah nod. Oleh itu ini
nombor ialah ukuran kerumitan maksimum modul individu. Untuk
contoh modul dengan banyak ungkapan aritmetik yang panjang akan mempunyai nilai yang tinggi
nombor. Ambil perhatian bahawa tidak seperti teks token yang diterangkan di atas, bilangan token adalah
bebas daripada panjang nama pembolehubah atau pemalar literal dalam
ungkapan.

nombor of subprogram seruan:
Ini ialah jumlah ke atas semua modul bilangan penyataan dan fungsi CALL
seruan (kecuali fungsi intrinsik dan fungsi pernyataan).

nombor of biasa menyekat decls:
Ini ialah jumlah ke atas semua modul bilangan pengisytiharan blok biasa.
Iaitu, setiap pengisytiharan blok dalam modul berbeza dikira
secara berasingan. (Standard membenarkan berbilang pengisytiharan blok dalam
modul yang sama; ini dikira sebagai satu pengisytiharan sahaja kerana ia adalah
bersamaan dengan satu pengisytiharan panjang.)

nombor of pelbagai malap & param ptrs:
Ini ialah jumlah ke atas semua modul bilangan dimensi dan parameter tatasusunan
rentetan teks definisi disimpan untuk digunakan oleh -makedcls pilihan. Panjangnya
rentetan teks tidak dikira. Setiap dimensi tatasusunan berbilang dimensi ialah
dikira secara berasingan.

Nombor ini jelas tidak sama apabila fail projek digunakan sebagai ganti
kod sumber asal. Malah nombor untuk entiti global mungkin berbeza,
kerana beberapa maklumat berlebihan dihapuskan dalam fail projek.

-enam arang
Salah satu matlamat ftnchek program adalah untuk membantu pengguna menulis Fortran mudah alih
program. Satu sumber potensi ketidakmudahalihan ialah penggunaan nama pembolehubah yang
lebih panjang daripada enam aksara. Sesetengah penyusun hanya mengabaikan aksara tambahan.
Tingkah laku ini berpotensi membawa kepada dua pembolehubah berbeza yang dianggap sebagai
sama. Sebagai contoh, pembolehubah bernama AVERAGECOST dan AVERAGEPRICE adalah sama
dalam enam watak pertama. Jika anda ingin menangkap kemungkinan konflik sedemikian, gunakan
bendera ini. Lalai = tidak.

Menggunakan -f77=nama-panjang kalau nak senaraikan semua pembolehubah lebih panjang daripada enam
watak, bukan hanya pasangan yang sama dalam enam yang pertama.

Lihat juga: -f77, -mudah alih.

-susun
Menentukan bahawa senarai diisih semua modul yang digunakan dalam atur cara akan dicetak. ini
senarai adalah dalam susunan ``prasyarat', iaitu setiap modul dicetak hanya selepas semua
modul dari mana ia dipanggil telah dicetak. Ini juga dipanggil a
``jenis topologi'' pokok panggilan. Setiap modul disenaraikan sekali sahaja. rutin
yang tidak ada dalam pepohon panggilan program utama diabaikan. Jika ada
kitaran dalam graf panggilan (tidak sah dalam Fortran standard) mereka akan dikesan dan
didiagnosis. Lalai = tidak.

Lihat juga: -calltree, -crossref, -rujukan, -symtab, -vcg.

-sumber=senarai
Tetapan ini mengawal pilihan tertentu tentang bentuk kod sumber Fortran.
. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Ada tiga
kata kunci khas: semua untuk menghidupkan semua pilihan, tiada untuk mematikan semuanya, dan
membantu untuk mencetak senarai semua kata kunci dengan penerangan ringkas setiap satu. Jika
senarai ditinggalkan, -sumber adalah bersamaan dengan -sumber=semua, dan -tiada sumber adalah setaraf
kepada -sumber=tiada.

Untuk keserasian dengan versi sebelumnya ftnchek, bentuk angka bagi tetapan ini
juga diterima: yang senarai digantikan dengan nombor yang merupakan hasil tambah nombor
dalam kurungan di sebelah kata kunci dalam senarai berikut. (The ditetapkan and percuma
pilihan tidak mempunyai nilai angka.) Kata kunci amaran dengan maksudnya ialah
seperti berikut:

ditetapkan:
Tafsirkan sumber sebagai bentuk tetap (dengan sambungan yang disokong seperti
tanda seru untuk komen). Penyata mestilah dalam lajur 7 hingga 72
(melainkan -cols tetapan telah digunakan untuk menukar ini), dan kosong tidak
konteks watak luar yang penting (tetapi diberi amaran di bawah -cantik
pilihan). Ini ialah mod lalai melainkan sambungan fail sumber adalah .f90
or .F90. pilihan ini tidak boleh diberikan bersama-sama dengan -sumber=percuma.

percuma: Mentafsir sumber sebagai bentuk bebas. Pernyataan mungkin berada di mana-mana dalam lajur 1
hingga 132, ulasan hanya boleh dimulakan dengan tanda seru dan kosong adalah
diperlukan di beberapa tempat seperti antara pengecam dan kata kunci. Ini adalah
mod lalai jika sambungan fail sumber ialah .f90 or .F90. Pilihan ini
tidak boleh diberikan bersama -sumber=tetap or -source=tab-dec

tab dec (1):
Terima sumber berformat tab gaya DEC. Baris yang bermula dengan tab awal
akan dianggap sebagai baris pernyataan baharu melainkan aksara selepas tab adalah
digit bukan sifar, dalam hal ini ia dianggap sebagai garis kesinambungan. The
lajur seterusnya selepas tab atau tanda sambungan diambil sebagai lajur 7. A
amaran akan diberikan dalam kes di mana talian adalah kesinambungan, jika
-f77=tab-dec berkuat kuasa.

vms-include (2):
Terima kenyataan INCLUDE gaya VMS. Ini mengikut sintaks biasa, tetapi
dengan ciri tambahan berikut: (1) sambungan fail, jika tidak diberikan,
lalai kepada sama seperti sambungan fail sumber biasa; dan (2) pilihan
/LIST atau /NOLIST boleh dilampirkan pada nama fail termasuk, untuk mengawal penyenaraian
daripada kandungannya.

unix-backslash (4):
Kendalikan larian segaris terbalik gaya UNIX dalam rentetan aksara. melarikan diri
jujukan berikutan garis miring ke belakang akan dinilai mengikut ANSI
standard untuk rentetan dalam C: sehingga tiga digit menandakan nilai perlapanan, x
menandakan permulaan pemalar heksadesimal, mana-mana huruf abfnrt
menandakan kod kawalan khas, dan mana-mana aksara lain (termasuk baris baharu)
menandakan watak itu sendiri. Apabila pilihan kod sumber ini berkuat kuasa, a
amaran akan diberikan sekiranya -f77=sengkang ke belakang tetapan ditentukan.

Tingkah laku lalai adalah untuk melayan garis miring ke belakang seperti biasa lain
watak, tetapi amaran tentang mudah alih akan dijana jika
-mudah alih bendera ditetapkan. Kerana fakta bahawa beberapa penyusun merawat
garis miring ke belakang dengan cara yang tidak standard, adalah mungkin untuk pematuhan standard
program menjadi tidak mudah alih jika mereka menggunakan aksara sengkang ke belakang dalam rentetan.

Sejak ftnchek tidak berbuat banyak dengan rentetan yang ditafsirkan, ia jarang berlaku
perlu untuk menggunakan pilihan ini. Ia diperlukan untuk mengelakkan penipuan
amaran hanya jika (a) atur cara yang sedang disemak menggunakan garis miring ke belakang untuk membenamkan
apostrof atau tanda petikan dalam rentetan dan bukannya menggunakan mekanisme standard
menggandakan pembatas; (b) garis miring ke belakang digunakan untuk melarikan diri dari hujung-
baris untuk meneruskan rentetan merentasi berbilang baris sumber; atau (c) a
Definisi PARAMETER menggunakan fungsi rentetan intrinsik seperti LEN dengan sedemikian
rentetan sebagai hujah, dan nilai itu kemudiannya digunakan untuk menentukan tatasusunan
dimensi, dsb.

jenis-param-tersirat (8):
Penaipan tersirat parameter mengikut jenis data nilai yang diberikan. Sesetengah
penyusun bukan standard boleh membenarkan jenis data nilai untuk mengatasi
Fortran 77 jenis lalai parameter yang berdasarkan huruf pertama
nama parameter. Pilihan ini hanya digunakan pada pernyataan PARAMETER bagi
bentuk piawai yang mempunyai tanda kurungan. Parameter yang telah dinyatakan secara eksplisit
diisytiharkan dalam pernyataan jenis sebelum pernyataan PARAMETER tidak terjejas
dengan pilihan ini. Amaran akan diberikan di bawah -f77=param-jenis-tersirat
or -mudah alih=param-jenis-tersirat pilihan.

Ambil perhatian bahawa penaipan tersirat ini dianggap setara dengan jenis eksplisit
pengisytiharan untuk parameter. Oleh itu, jika anda menggunakan
-makedcls=tidak diisytiharkan sahaja untuk menghasilkan pengisytiharan sahaja yang tidak diisytiharkan
pembolehubah, parameter ini akan tidak disertakan.

dec-param-jenis-standard (16):
Ikut peraturan Fortran 77 untuk menaip data parameter gaya DEC Fortran.
Ini diisytiharkan menggunakan bentuk bukan standard bagi pernyataan PARAMETER yang
kekurangan kurungan. Menurut DEC Fortran, parameter ditakrifkan oleh borang ini
daripada pernyataan tersebut mempunyai jenis data mereka yang diberikan oleh jenis data nilai
ditugaskan. Gunakan pilihan ini untuk memberitahu ftnchek bukan untuk mengikut peraturan ini tetapi
sebaliknya menggunakan peraturan yang sama seperti untuk pernyataan PARAMETER standard. ini
pilihan tidak digunakan pada pernyataan PARAMETER dalam bentuk standard.

Secara lalai, semua pilihan kod sumber ini dimatikan, kecuali untuk
vms-include pilihan, yang dihidupkan secara lalai dalam versi VMS..

Lihat juga: -f77, -termasuk, -mudah alih.

-gaya=senarai
Memberi amaran lebih memilih tentang pengaturcaraan lapuk atau lama
pembinaan. Pilihan ini berguna untuk usaha mengikuti pengaturcaraan moden
gaya. (Kebanyakan perkara yang diadukan di bawah pilihan ini adalah dilarang dalam
F subset bahasa.) By lalai, semua amaran adalah bertukar off.

. senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Ada tiga
kata kunci khas: semua untuk menghidupkan semua pilihan, tiada untuk mematikan semuanya, dan
membantu untuk mencetak senarai semua kata kunci dengan penerangan ringkas setiap satu. Jika
senarai ditinggalkan, Gaya adalah bersamaan dengan -gaya=semua, dan -nostyle adalah bersamaan dengan
-gaya=tiada. Kata kunci amaran dengan maksudnya adalah seperti berikut:

blok-jika:
Mengadu tentang pernyataan IF aritmetik. Terima blok IF atau logik IF (yang
mengawal satu pernyataan).

nama binaan:
Mengadu tentang binaan blok yang tidak dinamakan: IF, DO, dan SELECT CASE. Perhatikan bahawa
jika nama konstruk terdapat pada pernyataan pembukaan konstruk, maka
ia dikehendaki hadir pada semua pernyataan komponen lain (ELSE, END IF,
dsb.) konstruk. Dalam kes itu, nama binaan yang hilang pada mereka
pernyataan menjana ralat sintaks tanpa mengira pilihan ini. Tujuan
daripada pilihan ini adalah untuk memberi amaran jika binaan tidak mempunyai pilihan
nama.

beza-lakukan:
Aduan jika dua gelung DO berkongsi pernyataan penamat yang sama.

buat-bina:
Aduan jika penamat gelung DO adalah selain daripada END DO atau
CONTINUE kenyataan. Ini adalah keperluan agar gelung dapat dipenuhi
takrifan Fortran 90 bagi do-construct.

buat-akhir:
Aduan jika penamat gelung DO adalah selain daripada END DO
kenyataan. (Pilihan ini mengatasi buat-bina pilihan, menjadi genap
lebih ketat.)

nama akhir:
Mengadu tentang ketiadaan nama subprogram pada TAMAT berstruktur
Penyataan.

format-stmt:
Mengadu tentang kehadiran pernyataan FORMAT. Hanya penyataan FORMAT
sendiri dibenderakan, bukan rujukan kepada mereka dalam senarai I/O.

goto: Mengadu tentang kehadiran GOTO tanpa syarat, dikira atau ditugaskan
kenyataan. Juga mengadu tentang pulangan ganti (tetapi bukan tentang label sebagai
hujah subprogram).

berlabel-stmt:
Mengadu tentang kehadiran label (nombor) pada pernyataan selain daripada
penyataan FORMAT. (Memandangkan pernyataan FORMAT boleh dikatakan mudah dan tidak
mudah disalahgunakan, aduan tentang mereka dikawal oleh pihak yang berasingan
format-stmt kata kunci.)

program-stmt:
Mengadu tentang ketiadaan kenyataan PROGRAM di kepala utama
program.

berstruktur-hujung:
Mengeluh tentang penggunaan pernyataan TAMAT biasa untuk menamatkan subprogram, sebaliknya
daripada pernyataan TAMAT berstruktur (PROGRAM TAMAT, SUBROUTINE TAMAT, FUNGSI TAMAT,
atau DATA BLOK TAMAT).

Lihat juga: -f77, -f90, -f95, -cantik, -mudah alih.

-symtab
Jadual simbol akan dicetak untuk setiap modul, menyenaraikan semua pengecam
disebut dalam modul. Jadual ini memberikan nama setiap pembolehubah, jenis datanya,
dan bilangan dimensi untuk tatasusunan. Tanda bintang (*) menunjukkan bahawa
pembolehubah telah ditaip secara tersirat, bukannya dinamakan dalam jenis eksplisit
kenyataan pengisytiharan. Jadual juga menyenaraikan semua subprogram yang digunakan oleh modul,
semua blok BIASA diisytiharkan, dsb. Lalai = tidak.

Juga, untuk setiap modul, jadual label akan dicetak. Jadual menyenaraikan setiap label
ditakrifkan dalam modul; baris di mana label pernyataan tersebut ditakrifkan; dan juga
jenis pernyataan (boleh laksana, format atau spesifikasi). Label disenaraikan dalam
susunan berurutan.

Turut dicetak ialah jadual yang menerangkan unit I/O yang digunakan oleh modul, bersama-sama dengan
maklumat tentang cara ia digunakan: apakah operasi yang dilakukan, sama ada
akses adalah berurutan atau langsung, dan sama ada I/O diformatkan atau tidak diformatkan.

Lihat juga: -calltree, -crossref, - senarai, -rujukan, -susun, -vcg.

-pemangkasan=senarai
Beri amaran tentang kemungkinan ralat pemotongan (atau pusingan). Kebanyakannya berkaitan dengan
aritmetik integer. Secara lalai, semua amaran dihidupkan.

Tetapan ini menyediakan kawalan terperinci ke atas amaran tentang kemungkinan pemotongan
kesilapan. The senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Sejak semua
amaran dihidupkan secara lalai, sertakan kata kunci yang diawali oleh NO- untuk mematikan a
amaran tertentu. Terdapat tiga kata kunci khas: semua untuk menghidupkan semua
amaran tentang pemotongan, tiada untuk mematikan semuanya, dan membantu untuk mencetak senarai
semua kata kunci dengan penerangan ringkas setiap satu. Jika senarai ditinggalkan, -pemangkasan
adalah bersamaan dengan -pemangkasan=semua, dan -notruncation adalah bersamaan dengan
-pemangkasan=tiada. Kata kunci amaran dengan maksudnya adalah seperti berikut:

int-div-eksponen:
penggunaan hasil pembahagian integer sebagai eksponen. Ini menunjukkan bahawa a
hasil bagi sebenar adalah bertujuan. Contohnya ialah menulis X**(1/3) untuk menilai
punca kubus bagi X. Ungkapan yang betul ialah X**(1./3.).

int-div-sebenar:
Penukaran ungkapan yang melibatkan pembahagian integer kepada nyata. ini
menunjukkan bahawa hasil bagi sebenar dimaksudkan.

int-div-sifar:
pembahagian dalam ungkapan pemalar integer yang menghasilkan hasil sifar.

int-neg-kuasa:
eksponensi integer oleh integer negatif (yang menghasilkan sifar melainkan
integer asas ialah 1 dalam magnitud). Ini menunjukkan bahawa asas sebenar adalah
yang dimaksudkan.

promosi:
penukaran automatik kuantiti ketepatan yang lebih rendah kepada satu kuantiti yang lebih tinggi
ketepatan. Kehilangan ketepatan untuk pembolehubah sebenar dalam proses ini ialah
setanding dengan penurunan pangkat yang sepadan. Tiada amaran diberikan untuk kenaikan pangkat
daripada kuantiti integer kepada nyata kerana ini biasanya tepat.

indeks-sebenar:
penggunaan indeks DO bukan integer dalam gelung dengan sempadan integer. Integer DO
indeks dengan sempadan sebenar sentiasa diberi amaran tanpa mengira tetapan ini.

subskrip sebenar:
penggunaan subskrip tatasusunan bukan integer.

angka bererti:
terlalu menentukan pemalar ketepatan tunggal. Ini mungkin menunjukkan bahawa berganda
pemalar ketepatan adalah bertujuan.

saiz-turun taraf:
penukaran automatik kuantiti ketepatan yang lebih tinggi kepada satu ketepatan yang lebih rendah
daripada jenis yang sama. Amaran ini hanya berlaku apabila saiz eksplisit digunakan dalam
mengisytiharkan jenis satu atau kedua-dua operan dalam tugasan. Contohnya, a
amaran akan dikeluarkan apabila pembolehubah REAL*8 diberikan kepada pembolehubah REAL,
jika saiz perkataan lalai 4 berkuat kuasa. Amaran juga dikeluarkan jika a
integer panjang diberikan kepada yang lebih pendek, sebagai contoh, jika INTEGER
ungkapan diberikan kepada pembolehubah INTEGER*2. Terdapat satu pengecualian untuk
kes terakhir ini, iaitu jika bahagian kanan tugasan adalah kecil
pemalar literal (kurang daripada 128). jenis-turun pangkat: penukaran automatik a
kuantiti ketepatan yang lebih tinggi kepada satu ketepatan yang lebih rendah daripada jenis yang berbeza. ini
amaran termasuk penukaran kuantiti sebenar kepada integer, ketepatan berganda
kepada ketepatan tunggal sebenar, dan penyerahan rentetan aksara yang lebih panjang kepada a
yang lebih pendek.

Amaran tentang kenaikan pangkat dan penurunan pangkat juga terpakai kepada pemalar yang kompleks,
menganggap ketepatan adalah bahagian sebenar atau khayalan. Amaran tentang
kenaikan pangkat dan penurunan pangkat hanya diberikan apabila penukaran dilakukan secara automatik,
cth dalam ungkapan ketepatan campuran atau dalam pernyataan tugasan. Jika intrinsik
fungsi seperti INT digunakan untuk melakukan penukaran, tiada amaran diberikan.

Lihat juga: -mudah alih, -saiz perkataan.

-penggunaan=senarai
Beri amaran tentang pembolehubah yang tidak digunakan atau mungkin tidak dimulakan, blok biasa yang tidak digunakan,
label pernyataan yang tidak ditentukan atau tidak digunakan, dan subprogram yang tidak digunakan atau tidak ditentukan. Oleh
lalai, semua amaran dihidupkan.

Tetapan ini menyediakan kawalan terperinci ke atas amaran tentang kemungkinan penggunaan
kesilapan. The senarai terdiri daripada kata kunci yang dipisahkan dengan koma atau titik bertindih. Sejak semua
amaran dihidupkan secara lalai, sertakan kata kunci yang diawali oleh NO- untuk mematikan a
amaran tertentu. Terdapat tiga kata kunci khas: semua untuk menghidupkan semua
amaran tentang penggunaan, tiada untuk mematikan semuanya, dan membantu untuk mencetak senarai semua
kata kunci dengan penerangan ringkas setiap satu. Jika senarai ditinggalkan, -penggunaan is
bersamaan dengan -penggunaan=semua, dan -nousage adalah bersamaan dengan -penggunaan=tiada. Ini
amaran meliputi empat kategori utama objek: hujah dummy subprogram, biasa
blok dan pembolehubah, subprogram dan fungsi, dan pembolehubah tempatan. Amaran
termasuk item yang tidak ditentukan, item berganda yang ditentukan, item yang tidak digunakan, dsb. Amaran
kata kunci dengan maksudnya adalah seperti berikut:

arg-alias:
hujah dummy skalar sebenarnya sama dengan yang lain dan adalah (atau mungkin)
diubahsuai. Piawaian Fortran 77 (seksyen 15.9.3.6) melarang pengubahsuaian an
hujah yang dialiaskan kepada yang lain.

arg-array-alias:
hujah dummy yang merupakan tatasusunan atau elemen tatasusunan berada dalam tatasusunan yang sama seperti
lain dan diubah suai. Bendera ini serupa dengan arg-alias tetapi menyediakan
kawalan berasingan ke atas argumen tatasusunan. Adalah lebih sukar untuk mengetahui sama ada aliasing
berlaku dalam kes tatasusunan, jadi jika ftnchek memberi terlalu banyak amaran palsu,
bendera ini membenarkan yang berkaitan tatasusunan dimatikan tanpa menekan
amaran untuk skalar.

arg-common-alias:
hujah dummy skalar adalah sama dengan pembolehubah biasa dalam subprogram,
dan sama ada diubah suai. Ini juga dilarang oleh standard Fortran 77.
Jika pemeriksaan biasa tidak tepat (lihat -biasa tetapan), lebih sukar untuk
beritahu jika aliasing berlaku, jadi amaran diberikan jika pembolehubah adalah
di mana-mana dalam blok biasa yang diisytiharkan oleh subprogram.

arg-common-array-alias:
hujah dummy yang merupakan tatasusunan atau elemen tatasusunan berada dalam tatasusunan yang sama seperti a
pembolehubah sepunya, dan sama ada diubah suai. Jika pemeriksaan biasa tidak tepat,
pembolehubah boleh berada di mana-mana dalam blok biasa yang diisytiharkan oleh
subprogram.

arg-const-modified:
subprogram mengubah suai hujah yang merupakan pemalar atau ungkapan. begitu
tindakan boleh menyebabkan tingkah laku anomali program.

arg-tidak digunakan:
hujah palsu diisytiharkan tetapi tidak pernah digunakan. Ini serupa dengan
var-tidak digunakan kata kunci yang diterangkan di bawah, tetapi hanya digunakan untuk hujah.

blok-com-tidak digunakan:
blok biasa diisytiharkan tetapi tiada pembolehubah di dalamnya digunakan oleh mana-mana
subprogram. Amaran ini dihalang jika tetapan ketat biasa adalah
0.

com-block-volatile:
blok biasa mungkin kehilangan definisi kandungannya jika blok biasa
tidak menentu. Pilihan ini hanya mempunyai kesan jika -biasa=tidak menentu bendera masuk
kesan. Lihat perbincangan mengenai -biasa tetapan di atas.

com-var-set-tidak digunakan:
pembolehubah biasa diberikan nilai, tetapi nilainya tidak digunakan oleh mana-mana
subprogram. Amaran ini dihalang jika tetapan ketat biasa adalah
0.

com-var-uninitialized:
nilai pembolehubah biasa digunakan dalam beberapa subprogram, tetapi tidak ditetapkan
di mana-mana sahaja. Malangnya, ftnchek tidak melakukan analisis yang cukup teliti terhadap
urutan panggilan untuk mengetahui rutin yang dipanggil sebelum yang lain. Jadi
amaran tentang jenis ralat ini hanya akan diberikan untuk kes di mana a
pembolehubah digunakan dalam beberapa rutin tetapi tidak ditetapkan dalam mana-mana rutin lain. Menyemak
pembolehubah BIASA individu dilakukan hanya jika -biasa tetapan ialah 3
(boleh ubah mengikut perjanjian berubah). Amaran ini dihalang jika biasa
tetapan ketat ialah 0.

com-var-tidak digunakan:
pembolehubah biasa diisytiharkan tetapi tidak digunakan oleh mana-mana subprogram. Amaran ini
ditindas jika tetapan ketat biasa ialah 0.

do-index-modified:
pembolehubah yang merupakan indeks gelung DO diubah suai oleh beberapa pernyataan
dalam julat gelung. Standard membenarkan pembolehubah DO aktif untuk
diubah suai hanya dengan mekanisme kenaikan penyataan DO.

ext-multiply-defined:
luaran (subrutin atau fungsi) ditakrifkan lebih daripada sekali. Definisi
cara luaran yang menyediakan badan kod sumbernya.

ext-diisytiharkan sahaja:
nama diisytiharkan dalam pernyataan LUARAN dalam beberapa modul, tetapi tidak
ditakrifkan atau digunakan di mana-mana sahaja.

ext-undefined:
luaran digunakan (dipanggil) tetapi tidak ditakrifkan di mana-mana. Pilihan ini ialah
bersamaan dengan -luaran bendera. Jika subprogram dipanggil lebih daripada
sekali, seruan tersebut masih akan disemak untuk konsistensi.

ext-tidak digunakan:
luaran ditakrifkan (badan subprogramnya ada) tetapi ia tidak digunakan.
Subprogram dianggap tidak digunakan walaupun ia dipanggil oleh orang lain
subprogram, jika ia tidak boleh dipanggil dari mana-mana utas pelaksanaan bermula dengan
program utama. Persetujuan hujah subprogram dengannya
seruan masih disemak walaupun amaran ini dimatikan. Jika ada
tiada program utama, maka amaran ini dikeluarkan hanya jika subprogram tidak
dipanggil di mana-mana sahaja. Amaran ini ditindas dalam mod perpustakaan, tetapi perpustakaan
mod mempunyai kesan tambahan untuk menyekat pemeriksaan hujah untuk yang tidak digunakan
rutin.

label-tidak ditentukan:
pernyataan merujuk kepada label yang belum ditakrifkan.

label-tidak digunakan:
label pernyataan ditakrifkan, tetapi tidak pernah dirujuk.

var-set-tidak digunakan:
pembolehubah tempatan diberikan nilai, tetapi nilai itu tidak digunakan.

var-uninitialized:
nilai pembolehubah tempatan boleh digunakan sebelum ia ditetapkan. Kadang-kadang
ftnchek membuat kesilapan dalam amaran tentang penggunaan pembolehubah tempatan. Biasanya
ia tersilap memberi amaran di mana tiada masalah wujud, tetapi jarang berlaku
kes ia mungkin gagal memberi amaran di mana masalah itu wujud. Lihat bahagian pada
Pepijat untuk contoh. Jika pembolehubah disetarakan, peraturan yang digunakan oleh ftnchek
ialah rujukan kepada mana-mana pembolehubah membayangkan rujukan yang sama kepada semua
pembolehubah yang disamakan dengannya. Untuk tatasusunan, peraturannya ialah rujukan kepada
sebarang elemen tatasusunan dianggap sebagai rujukan kepada semua elemen tatasusunan.

var-tidak digunakan:
pembolehubah tempatan diisytiharkan (contohnya, dalam pengisytiharan jenis) tetapi tidak
digunakan dalam modul. Tidak terpakai pada hujah palsu: amaran tentangnya
dikawal oleh kata kunci arg-tidak digunakan diterangkan di atas.

Nota: Dalam versi ftnchek sebelum 2.10, yang -penggunaan bendera mengambil hujah angka
bukannya senarai pilihan. Demi pengguna yang mungkin ada menulis skrip
menyeru ftnchek dengan cara ini, borang berangka masih diterima. Angka
tetapan terdiri daripada tiga digit. Digit pertama (tempat ratusan) mengawal
amaran tentang subprogram (fungsi dan subrutin), digit kedua (puluhan
tempat) amaran tentang blok biasa dan pembolehubah biasa,, dan digit ketiga
(satu tempat) amaran tentang pembolehubah tempatan. Setiap digit mengawal amaran
mengikut konvensyen bahawa 1 bermaksud memberi amaran tentang item dan pembolehubah yang tidak ditentukan
yang digunakan sebelum ditetapkan, 2 bermakna memberi amaran tentang item yang tidak digunakan, dan 3 bermakna
memberi amaran tentang kedua-dua jenis. Nombor ini kini ditukar kepada nilai yang sesuai
untuk kata kunci yang disenaraikan di atas, kecuali untuk com-block-volatile, yang tidak terjejas
dengan hujah angka.

Lihat juga: -biasa, -mengisytiharkan, -luaran, -perpustakaan.

-vcg
Hasilkan graf panggilan dalam bentuk penerangan graf VCG. Penerangan ini adalah
ditulis ke fail berasingan, dengan batang yang sama dengan fail yang mengandungi utama
program, dan akhiran .vcg. Fail ini boleh diberikan terus kepada xvcg(1L) hingga
gambarkan graf panggilan. (Jika input adalah daripada input standard, maka graf
penerangan dihantar ke output standard.) Suis ini bersamaan dengan
-calltree=vcg. Lalai = tidak.

Penerangan VCG seperti yang dibuat adalah lebih kompleks daripada yang diperlukan. VCG membenarkan graf
dan subgraf bersarang: setiap subrutin dicipta sebagai subgraf bersarang di dalamnya
rutin panggilan. Ini membolehkan anda memaparkan subgraf atau meringkaskan secara interaktif
Mereka.

. -vcg pilihan untuk ftnchek ditulis oleh Dr. Philip Rubini dari Cranfield
Universiti, UK.

xvcg ialah alat visualisasi graf yang berjalan di bawah sistem windows X. Ia adalah
tersedia secara percuma daripada ftp.cs.uni-sb.de. Ia telah ditulis oleh G. Sander daripada
Universiti Saarland, Jerman.

Lihat juga: -calltree, -crossref, -rujukan, -susun.

-turun
Pilihan ini menyebabkan ftnchek untuk mencetak baris yang memberikan nombor versi, tarikh keluaran,
dan tahap tampalan program. Jika tiada fail diberikan, ia akan keluar. Jika fail
diberikan, kesan pilihan ini adalah untuk memasukkan tahap tampalan (biasanya
ditinggalkan) dalam maklumat versi yang dicetak pada permulaan pemprosesan. Lalai =
No.

Lihat juga: -membantu.

-tidak menentu
Andaikan bahawa blok BIASA adalah tidak menentu. Lalai = tidak.

Bendera ini digantikan oleh -biasa=tidak menentu, dan tidak boleh digunakan lagi. Ia mungkin
dihapuskan dalam keluaran masa hadapan ftnchek.

Lihat juga: -biasa, -penggunaan.

-saiz perkataan=num
Menentukan saiz perkataan lalai num bait. Ini adalah saiz logik dan
pembolehubah berangka ketepatan tunggal yang tidak diberikan ketepatan eksplisit.
(Ketepatan eksplisit untuk pembolehubah bukan aksara ialah lanjutan kepada Fortran 77
Standard, dan diberikan mengikut jenis pengisytiharan seperti REAL*8 X.) Ketepatan dua kali
dan pembolehubah kompleks akan menjadi dua kali ganda nilai ini, dan pembolehubah kompleks berganda empat
kali. Pemalar kepersisan empat kali ganda dan hasil fungsi intrinsik akan menjadi empat kali
nilai ini. Ambil perhatian bahawa pembolehubah yang diisytiharkan sebagai REAL*16 akan dianggap sebagai quad
ketepatan hanya jika saiz perkataan ialah 4 bait. Lalai = hidupkan = 4 bait.

Nilai saiz perkataan tidak penting untuk menyemak atur cara mematuhi standard yang
jangan mengisytiharkan ketepatan eksplisit untuk pembolehubah bukan aksara atau simpan Hollerith
data dalam pembolehubah. Tetapan ini juga tidak menjejaskan saiz lalai aksara
pembolehubah, yang sentiasa 1 bait. Pemalar Hollerith juga diandaikan menduduki
1 bait setiap aksara.

Saiz perkataan digunakan untuk menentukan sama ada pemotongan berlaku dalam tugasan
penyataan, dan untuk menangkap ketidakpadanan ketepatan dalam senarai hujah subprogram dan
senarai blok biasa. Amaran tepat yang dikeluarkan bergantung pada status
daripada bendera lain. Di bawah kedua-dua -mudah alih=saiz bercampur dan juga -nowordsize bendera,
sebarang percampuran eksplisit dengan objek ketepatan lalai (ungkapan watak bukan
disertakan) diberi amaran tentang. Ini terpakai kepada ungkapan aritmetik yang mengandungi kedua-duanya
jenis objek, dan kepada subprogram hujah dan pembolehubah BIASA. Di bawah kawalan
daripada -pemotongan=turun pangkat and promosi pilihan, amaran diberikan untuk
penugasan ungkapan kepada pembolehubah yang lebih pendek daripada jenis yang sama, atau untuk
promosi nilai kejituan yang lebih rendah kepada kejituan yang lebih tinggi dalam aritmetik
ungkapan atau pernyataan tugasan.

Memberi saiz perkataan 0, atau yang setara, menggunakan -nowordsize bermakna tiada lalai
nilai akan diandaikan. Ini bersamaan dengan menentukan -mudah alih=saiz bercampur.
Gunakannya untuk mencari kes mencampurkan ketepatan lalai dan eksplisit, contohnya untuk membenderakan
tempat di mana REAL*8 dianggap setara dengan DOUBLE PECISION.

Lihat juga: -bersaiz penunjuk, -mudah alih, -pemangkasan.

-bungkus=kol
Mengawal pembalut mesej ralat. Mesej ralat panjang yang akan berlalu
lajur yang ditentukan akan dipecahkan kepada baris yang berasingan antara perkataan
mesej untuk kebolehbacaan yang lebih baik. Jika dimatikan dengan -nowrap, setiap ralat berasingan
mesej akan dicetak pada satu baris, menyerahkannya kepada paparan untuk membalut
mesej atau memotongnya. Lalai = hidupkan = 79.

PERUBAHAN THE PIALA


ftnchek termasuk dua mekanisme untuk menukar nilai lalai semua pilihan: oleh
mentakrifkan pembolehubah persekitaran atau dengan mencipta fail keutamaan. Bila ftnchek bermula,
ia melihat dalam persekitarannya untuk sebarang pembolehubah yang namanya digubah dengan memberi awalan
rentetan FTNCHEK_ ke versi huruf besar nama pilihan. Jika pembolehubah tersebut adalah
didapati, nilainya digunakan untuk menentukan lalai bagi suis atau tetapan yang sepadan.
Dalam kes tetapan (contohnya, -biasa penetapan ketegasan) nilai yang
pembolehubah persekitaran dibaca sebagai nilai tetapan lalai. Dalam kes suis, yang
suis lalai akan diambil sebagai benar atau ya melainkan pembolehubah persekitaran mempunyai nilai
0 atau TIDAK.

Ambil perhatian bahawa nama pembolehubah persekitaran mesti dibina dengan pilihan panjang penuh
nama, yang mesti dalam huruf besar. Sebagai contoh, untuk membuat ftnchek mencetak penyenaraian sumber oleh
lalai, tetapkan pembolehubah persekitaran FTNCHEK_LIST kepada 1 atau YA atau apa-apa selain 0 atau
TIDAK. Nama FTNCHEK_LIS (bukan nama pilihan penuh) atau ftnchek_list (huruf kecil) akan
tidak diiktiraf.

Berikut ialah beberapa contoh cara menetapkan pembolehubah persekitaran pada pelbagai sistem. Untuk
kesederhanaan, semua contoh menetapkan lalai - senarai tukar kepada YA.

1. UNIX, Bourne shell: $ FTNCHEK_LIST=YA
$ eksport FTNCHEK_LIST

2. UNIX, C shell: % setenv FTNCHEK_LIST YA

3. VAX/VMS: $ DEFINE FTNCHEK_LIST YA

4. MSDOS: $ SET FTNCHEK_LIST=YA

Selepas memproses sebarang pembolehubah persekitaran, ftnchek mencari fail pilihan
yang mengandungi pilihan dan tetapan. Ia akan mencari dalam susunan berikut, menggunakan hanya
fail pertama ditemui: (1) .ftnchekrc dalam direktori semasa, (2) ftnchek.ini dalam arus
direktori, (3) .ftnchekrc dalam direktori rumah pengguna, (4) ftnchek.ini dalam rumah
direktori. Jika fail sedemikian ditemui, pilihan yang ditakrifkan di dalamnya digunakan sebagai lalai dalam
tempat lalai terbina dalam dan mengatasi sebarang lalai yang ditetapkan dalam persekitaran..

Setiap pilihan atau tetapan dalam fail keutamaan mestilah pada baris yang berasingan. Mereka diberi
dalam bentuk yang sama seperti pada baris arahan, kecuali tanpa sempang awal. Keutamaan
fail boleh mengandungi baris kosong dan komen. Komen diperkenalkan pada mana-mana titik dalam baris
oleh aksara ruang (kosong atau tab) atau aksara '#', dan ditamatkan pada penghujung
garisan itu.

Pilihan baris perintah mengatasi lalai yang ditetapkan dalam persekitaran atau dalam pilihan
fail, dengan cara yang sama seperti ia mengatasi lalai terbina dalam.

MENGGUNAKAN PROJEK FILES


Bahagian ini mengandungi maklumat terperinci tentang cara menggunakan fail projek dengan paling berkesan,
dan bagaimana untuk mengelakkan beberapa perangkap.

Seseorang boleh membahagikan cek ftnchek menjadi dua kategori, tempatan dan global. Tempatan
pemeriksaan dihadkan dalam satu rutin dan menangkap perkara seperti tidak dimulakan
pembolehubah, kehilangan ketepatan yang tidak diingini dalam ungkapan aritmetik, dll. Jenis ini
semakan boleh dilakukan pada setiap subprogram secara bebas. Tambahan pula, pemeriksaan tempatan a
subprogram tidak perlu diulang apabila beberapa subprogram lain diubah. Global
menyemak menangkap perkara seperti memanggil subrutin dengan jenis hujah yang salah, atau
tidak bersetuju dalam perisytiharan blok biasa. Ia memerlukan melihat keseluruhan set
subprogram yang berinteraksi antara satu sama lain.

Tujuan fail projek adalah untuk membenarkan langkah semakan tempatan dan semakan global
berpisah. Dengan mengandaikan bahawa setiap subprogram berada dalam fail sumbernya sendiri, anda boleh menjalankan
ftnchek sekali pada setiap satu untuk melakukan semakan tempatan sambil menekan semakan global. Kemudian
ftnchek boleh dijalankan sekali pada semua fail projek bersama-sama untuk melakukan semakan global. The
contoh makefile di bawah menunjukkan cara mengautomasikan tugasan ini. Kemas kini sasaran ``.f.prj'' a
fail projek untuk fail tertentu bila-bila masa fail sumber berubah. Maklumat tersebut
yang diperlukan untuk semakan global disimpan dalam fail projek. Sasaran ``semak'' melakukan
pemeriksaan global gabungan. Biasanya ``buat semak'' akan mengulangi ``ftnchek -project''
langkah hanya pada fail sumber yang diubah, kemudian lakukan pemeriksaan global. Ini jelas besar
kelebihan untuk program besar, apabila banyak subprogram jarang jika pernah berubah.

Ia adalah yang terbaik apabila menggunakan fail projek untuk meletakkan setiap subprogram dalam fail sumber yang berasingan.
Jika setiap fail sumber mungkin mengandungi lebih daripada satu subprogram, ia merumitkan definisi
semakan ``tempatan'' dan ``global'' kerana terdapat beberapa semakan antara modul yang
terkandung dalam fail. ftnchek cuba melakukan perkara yang betul dalam kes ini, tetapi ada
beberapa komplikasi (diterangkan di bawah) disebabkan oleh pertukaran antara mengelakkan melakukan semula
menyemak dan menyimpan maklumat tentang struktur program.

Biasanya, untuk melakukan pemeriksaan semula paling sedikit, fail projek harus dibuat dengan
yang -perpustakaan bendera berkuat kuasa dan pemangkasan dihidupkan. Dalam mod ini, maklumat disimpan
dalam fail projek terdiri daripada semua pengisytiharan subprogram, semua permohonan subprogram
tidak diselesaikan dengan pengisytiharan dalam fail yang sama, dan satu contoh setiap blok COMMON
pengisytiharan. Ini ialah jumlah minimum maklumat yang diperlukan untuk menyemak persetujuan antara
fail.

Jika fail sumber mengandungi lebih daripada satu rutin, terdapat beberapa masalah yang mungkin berlaku
boleh timbul daripada mencipta fail projek dalam mod perpustakaan, kerana hierarki panggilan
antara rutin yang ditakrifkan dalam fail hilang. Juga, jika rutin dalam fail membuat
penggunaan blok BIASA yang dikongsi dengan rutin dalam fail lain, tidak akan ada
maklumat yang mencukupi disimpan untuk pemeriksaan yang betul bagi set dan status terpakai bagi blok BIASA
dan pembolehubah BIASA mengikut -penggunaan tetapan. Oleh itu jika anda bercadang untuk menggunakan
fail projek apabila -penggunaan pemeriksaan dihidupkan (iaitu keadaan lalai), dan jika
berbilang rutin dalam satu fail projek berkongsi blok BIASA dengan rutin dalam fail lain,
fail projek hendaklah dibuat dengan -perpustakaan bendera dimatikan. Dalam mod ini,
ftnchek menyimpan, selain maklumat yang disenaraikan di atas, satu seruan bagi setiap subprogram oleh
mana-mana subprogram lain dalam fail yang sama, dan semua pengisytiharan blok COMMON. Ini bermakna bahawa
fail projek akan menjadi lebih besar daripada yang diperlukan, dan apabila ia dibaca, ftnchek mungkin
ulangi beberapa semakan antara modul yang telah dilakukan semasa fail projek dibuat. Jika
setiap fail projek mengandungi hanya satu modul, tiada kehilangan maklumat dalam mencipta
fail projek dalam mod perpustakaan.

Kerana kemungkinan kehilangan maklumat yang diperlukan dengan mencipta fail projek dengan
-perpustakaan bendera berkuat kuasa, apabila fail projek itu dibaca kemudian, ia akan dirawat
sebagai fail perpustakaan tanpa mengira tetapan semasa -perpustakaan bendera. Pada yang lain
tangan, fail projek yang dibuat dengan mod perpustakaan dimatikan boleh dibaca kemudian dalam sama ada
mod.

Perbincangan di atas menganggap bahawa pilihan pemangkasan bagi -projek tetapan adalah
dihidupkan apabila fail projek dibuat. Ini adalah keadaan biasa. The tiada trim
pilihan daripada -projek tetapan disediakan sekiranya seseorang ingin menggunakan fail projek
untuk tujuan selain daripada menyemak program dengan ftnchek. Sebagai contoh, seseorang boleh menulis
skrip Perl untuk menganalisis fail projek untuk mendapatkan maklumat tentang bagaimana perbezaannya
subprogram dipanggil. Anda tidak sepatutnya menggunakan tiada trim pilihan untuk menangani isu-isu tentang
kehilangan maklumat yang dibincangkan di atas, kerana ia menyebabkan lebih banyak maklumat daripada yang diperlukan
disimpan. Ini menjadikan fail projek lebih besar dan menyebabkan ftnchek untuk melakukan lebih banyak kerja nanti apabila
ia membacanya untuk menyemak program lengkap anda. Biasanya, anda harus menggunakan -perpustakaan
pilihan untuk mengawal berapa banyak maklumat untuk disimpan untuk kegunaan kemudian oleh ftnchek dalam menyemak anda
program.

Berikut ialah contoh cara menggunakan UNIX membuat utiliti untuk mencipta yang baharu secara automatik
fail projek setiap kali fail sumber yang sepadan diubah, dan untuk menyemak set
fail untuk konsistensi. Tambahkan baris ini pada fail make anda. Contohnya menganggap bahawa a
makro OBJS telah ditakrifkan yang menyenaraikan semua nama fail objek untuk dipautkan
bersama-sama untuk membentuk program boleh laku yang lengkap. (Dalam makefile ini, baris inden
hendaklah setiap satu bermula dengan tab, bukan kosong.) Jika mana-mana fail sumber mengandungi berbilang rutin
yang berkongsi blok biasa antara mereka sendiri, maka pilihan no-com-\* harus dialih keluar
daripada NOGLOBAL, dan/atau lepaskan bendera -library.
# beritahu buat apa itu akhiran fail projek
.AKHIR: .prj

# pilihan ini menyekat semakan global.
NOGLOBAL=-usage=no-ext-undefined,no-com-\*

# beritahu make cara mencipta fail .prj daripada fail .f
.f.prj:
ftnchek -projek $(NOGLOBAL) -perpustakaan $

# sediakan PRJS makro yang mengandungi nama fail projek
PRJS= $(OBJS:.o=.prj)

# "make check" akan menyemak semua yang telah diubah.
semak: $(PRJS)
ftnchek $(PRJS)

Apabila program menggunakan banyak rutin yang ditakrifkan dalam sejumlah besar fail sumber yang berbeza dalam
direktori yang berbeza, ia boleh menyusahkan untuk menentukan semua fail projek yang berbeza
diperlukan untuk menyemak program dengan betul. Untuk menangani kes sebegini, ftnchek membolehkan projek
fail untuk digabungkan menjadi satu fail besar. Fail tunggal ini kemudiannya boleh diberikan kepada
ftnchek untuk menyediakan maklumat untuk menyemak penggunaan mana-mana atau semua rutin
ditakrifkan dalam fail projek gabungan. Apabila menggunakan fail projek ``perpustakaan'' sedemikian, anda
mungkin mahu ftnchek's laporan ralat untuk mendokumenkan dengan tepat nama fail di mana
fungsi tertentu ditakrifkan. Jika pelbagai fail sumber berada dalam beberapa direktori, an
laporan ralat yang hanya memberikan nama fail mungkin samar-samar, dan sebaliknya harus memasukkan
laluan ke fail. Penyelesaiannya adalah untuk mencipta setiap fail projek individu dengan
memberikan laluan lengkap ke fail sumber. Kemudian laluan lengkap ini akan muncul dalam
laporan ralat. Sebagai contoh, katakan semua fail sumber subprogram perpustakaan adalah
dalam subdirektori direktori bernama /util/lib. Kemudian fail projek individu boleh
mula-mula dicipta dengan arahan seperti
cari /util/lib -name '*.f' -exec ftnchek -project '{}' ';'
(Mungkin pilihan lain akan diberikan kepada ftnchek seperti yang dibincangkan di atas. Juga, langkah ini
sebaliknya boleh dikendalikan oleh peraturan makefile yang disemak semula yang akan menyediakan sumber lengkap
laluan fail dan bukannya hanya nama tempatan semasa memanggil ftnchek.) Seterusnya, gabungkan semua
fail projek ini secara manual.
cari /util/lib -name '*.prj' -exec cat '{}' ';' > ourlib.prj
Kemudian fail sumber program boleh disemak dengan menggunakan arahan
ftnchek prog.f ... -lib ourlib.prj
dan mesej ralat yang berkaitan dengan mana-mana rutin perpustakaan akan menyertakan laluan penuh ke
fail sumber rutin.

Pada masa ini, tiada utiliti arkib seperti ar untuk menguruskan kandungan yang bercantum
fail projek seperti dalam ilustrasi di atas. Jika perubahan dibuat pada salah satu daripada
rutin perpustakaan, satu-satunya cara untuk mengemas kini fail projek gabungan adalah untuk menggabungkan semua
fail projek individu sekali lagi. Utiliti sedemikian agak mudah untuk ditulis.
Seseorang harus berbuat demikian dan menyumbangkannya kepada ftnchek usaha.

AN CONTOH


Program Fortran ringkas berikut menggambarkan mesej yang diberikan oleh ftnchek. Yang
program ini bertujuan untuk menerima pelbagai markah ujian dan kemudian mengira purata untuk
siri.

C PENULIS: MIKE MYERS DAN LUCIA SPAGNUOLO
C TARIKH: 8 MEI 1989

C Pembolehubah:
C SKOR -> pelbagai markah ujian
C SUM -> jumlah markah ujian
C COUNT -> pembilang markah dibaca masuk
CI -> pembilang gelung

COMPAV FUNGSI SEBENAR(SKOR,KIRA)
JUMLAH INTEGER,COUNT,J,SCORE(5)

DO 30 I = 1,COUNT
JUMLAH = JUMLAH + SKOR(I)
30 TERUSKAN
COMPAV = JUMLAH/KIRA
AKHIR

PROGRAM AVENUM
C
C PROGRAM UTAMA
C
C PENULIS: LOIS BIGBIE
C TARIKH: 15 MEI 1990
C
C Pembolehubah:
C MAXNOS -> bilangan maksimum nilai input
C NUMS -> susunan nombor
C COUNT -> bilangan tepat nilai input
C AVG -> purata dikembalikan oleh COMPAV
CI -> pembilang gelung
C

PARAMETER(MAXNOS=5)
INTEGER I, COUNT
REAL NUMS(MAXNOS), AVG
COUNT = 0
DO 80 I = 1,MAXNOS
BACA (5,*,END=100) NUMS(I)
COUNT = COUNT + 1
80 TERUSKAN
100 AVG = COMPAV(NUMS, COUNT)
AKHIR

Pengkompil tidak memberikan mesej ralat apabila program ini disusun. Namun di sini adalah apa
berlaku apabila ia dijalankan:

$ purata larian
70
90
85

$

Apa yang berlaku? Mengapa program itu tidak melakukan apa-apa? Berikut adalah output daripada
ftnchek apabila ia digunakan untuk menyahpepijat program di atas:

$ ftnchek -senarai -symtab purata

FTNCHEK Versi 3.3 November 2004

Purata fail.f:

1 C PENULIS: MIKE MYERS DAN LUCIA SPAGNUOLO
2 C TARIKH: 8 MEI 1989
3
Pembolehubah 4 C:
5 C SKOR -> pelbagai markah ujian
6 C SUM -> jumlah markah ujian
7 C COUNT -> pembilang markah dibaca masuk
8 CI -> pembilang gelung
9
10 COMPAV FUNGSI SEBENAR(SKOR,KIRA)
11 INTEGER SUM,COUNT,J,SCORE(5)
12
13 DO 30 I = 1,COUNT
14 JUMLAH = JUMLAH + SKOR(I)
15 30 TERUSKAN
16 COMPAV = JUMLAH/KIRA
^
Amaran berhampiran baris 16 kol 20: jumlah habis integer SUM/COUNT ditukar kepada
sebenar
17 TAMAT

Modul COMPAV: func: real

Pembolehubah:

Nama Jenis Dims Nama Jenis Dims Nama Jenis Dims Nama Jenis Dims
COMPAV COUNT sebenar intg I intg* J intg
SKOR intg 1 SUM intg

* Pembolehubah tidak diisytiharkan. Jenis telah ditakrifkan secara tersirat.

Amaran dalam modul COMPAV: Pembolehubah diisytiharkan tetapi tidak pernah dirujuk:
J diisytiharkan pada baris 11

Amaran dalam modul COMPAV: Pembolehubah boleh digunakan sebelum ditetapkan:
SUM digunakan pada baris 14
SUM ditetapkan pada baris 14

Label pernyataan ditakrifkan:

Garis Label StmtType
<30> 15 eksekutif

18
19
20 PROGRAM AVENUM
21 C
22 C PROGRAM UTAMA
23 C
24 C PENULIS: LOIS BIGBIE
25 C TARIKH: 15 MEI 1990
26 C
Pembolehubah 27 C:
28 C MAXNOS -> bilangan maksimum nilai input
29 C NUMS -> susunan nombor
30 C COUNT -> bilangan tepat nilai input
31 C AVG -> purata dikembalikan oleh COMPAV
32 CI -> pembilang gelung
33 C
34
35 PARAMETER(MAXNOS=5)
36 INTEGER I, COUNT
37 REAL NUMS(MAXNOS), AVG
38 KIRA = 0
39 DO 80 I = 1,MAXNOS
40 BACA (5,*,END=100) NUMS(I)
41 COUNT = COUNT + 1
42 80 TERUSKAN
43 100 AVG = COMPAV(NUMS, COUNT)
44 TAMAT

Modul AVENUM: prog

Subprogram luaran yang dirujuk:

COMPAV: sebenar*

Pembolehubah:

Nama Jenis Dims Nama Jenis Dims Nama Jenis Dims Nama Jenis Dims
AVG COUNT sebenar intg I intg MAXNOS intg*
NUMS sebenar 1

* Pembolehubah tidak diisytiharkan. Jenis telah ditakrifkan secara tersirat.

Amaran dalam modul AVENUM: Pembolehubah ditetapkan tetapi tidak pernah digunakan:
AVG ditetapkan pada baris 43

Operasi I/O:

ID Unit No. Talian Operasi Borang Akses
5 SEQ FMTD BACA 40

Label pernyataan ditakrifkan:

Label Line StmtType Label Line StmtType
<80> 42 eksekutif <100> 43 eksekutif

0 ralat sintaks dikesan dalam purata fail.f
6 amaran dikeluarkan dalam purata fail.f

Amaran: Subprogram COMPAV jenis data argumen tidak padan pada kedudukan 1:
Dummy arg SKOR dalam modul COMPAV baris 10 fail purata.f ialah jenis intg
Arg NUMS sebenar dalam modul AVENUM baris 43 fail purata.f adalah jenis sebenar

Menurut ftnchek, program ini mengandungi pembolehubah yang boleh digunakan sebelum ia digunakan
diberikan nilai awal, dan pembolehubah yang tidak diperlukan. ftnchek juga memberi amaran kepada
pengguna bahawa hasil bagi integer telah ditukar kepada sebenar. Ini boleh membantu pengguna dalam
menangkap ralat pusingan yang tidak diingini. Sejak -symtab bendera diberikan, ftnchek cetakan
keluar jadual yang mengandungi pengecam daripada modul tempatan dan jenis data yang sepadan
dan bilangan dimensi. Akhirnya, ftnchek memberi amaran bahawa fungsi COMPAV tidak digunakan
dengan jenis hujah yang betul.

Dengan ftnchekbantuan, kita boleh nyahpepijat program. Kita dapat melihat bahawa terdapat perkara berikut
kesilapan:

1. SUM dan COUNT sepatutnya ditukar kepada sebenar sebelum melakukan pembahagian.

2. SUM sepatutnya telah dimulakan kepada 0 sebelum memasuki gelung.

3. AVG tidak pernah dicetak selepas dikira.

4. NUMS sepatutnya diisytiharkan INTEGER bukannya REAL.

Kami juga melihat bahawa saya, bukan J, sepatutnya diisytiharkan INTEGER dalam fungsi COMPAV. Juga,
MAXNOS tidak diisytiharkan sebagai INTEGER, atau COMPAV sebagai REAL, dalam program AVENUM. Ini bukan
kesilapan, tetapi ia mungkin menunjukkan kecuaian. Seperti yang berlaku, jenis lalai ini
pembolehubah bertepatan dengan jenis yang dimaksudkan.

Berikut ialah program yang diperbetulkan, dan outputnya apabila dijalankan:

C PENULIS: MIKE MYERS DAN LUCIA SPAGNUOLO
C TARIKH: 8 MEI 1989
C
C Pembolehubah:
C SKOR -> pelbagai markah ujian
C SUM -> jumlah markah ujian
C COUNT -> pembilang markah dibaca masuk
CI -> pembilang gelung
C
COMPAV FUNGSI SEBENAR(SKOR,KIRA)
JUMLAH INTEGER, COUNT, I,SCORE(5)
C
JUMLAH = 0
DO 30 I = 1,COUNT
JUMLAH = JUMLAH + SKOR(I)
30 TERUSKAN
COMPAV = FLOAT(JUMLAH)/FLOAT(COUNT)
AKHIR
C
C
PROGRAM AVENUM
C
C PROGRAM UTAMA
C
C PENULIS: LOIS BIGBIE
C TARIKH: 15 MEI 1990
C
C Pembolehubah:
C MAXNOS -> bilangan maksimum nilai input
C NUMS -> susunan nombor
C COUNT -> bilangan tepat nilai input
C AVG -> purata dikembalikan oleh COMPAV
CI -> pembilang gelung
C
C
INTEGER MAXNOS
PARAMETER(MAXNOS=5)
INTEGER I, NUMS(MAXNOS), COUNT
AVG SEBENAR,COMPAV
COUNT = 0
DO 80 I = 1,MAXNOS
BACA (5,*,END=100) NUMS(I)
COUNT = COUNT + 1
80 TERUSKAN
100 AVG = COMPAV(NUMS, COUNT)
TULIS(6,*) 'PURATA =',AVG
AKHIR
$ purata larian
70
90
85

PURATA = 81.66666
$

Dengan ftnchekDengan bantuan, program kami berjaya!

TAFSIRAN THE OUTPUT


Mesej yang diberikan oleh ftnchek termasuk bukan sahaja ralat sintaks tetapi juga amaran dan
mesej maklumat tentang perkara yang sah Fortran tetapi yang mungkin menunjukkan ralat atau
kecuaian. Kebanyakan mesej ini boleh dimatikan oleh pilihan baris arahan. yang mana
pilihan mengawal setiap mesej bergantung pada sifat keadaan yang diberi amaran.
Lihat perihalan bendera baris perintah dalam bahagian sebelumnya dan individu
mesej di bawah. Setiap mesej diawali dengan perkataan atau frasa yang menunjukkan sifat
keadaan dan keterukannya.

``Ralat'' bermaksud ralat sintaks. Jenis ralat sintaks yang paling mudah ialah tipografi
ralat, contohnya kurungan tidak seimbang atau salah ejaan kata kunci. Jenis ini
ralat ditangkap oleh penghurai dan muncul dengan penerangan ``ralat parse'' atau ``sintaks
ralat'' (bergantung pada versi penjana parser dan sama ada ia adalah GNU bison or
UNIX yacc). Mesej ralat jenis ini tidak boleh dihalang. Sedar bahawa jenis ini
kesilapan selalunya bermaksud begitu ftnchek belum mentafsir dengan betul kenyataan di mana ralat
berlaku, supaya operasi pemeriksaan seterusnya akan terjejas. Kamu patut
hapuskan semua ralat sintaks sebelum meneruskan untuk mentafsir mesej lain ftnchek
memberi.

``Amaran: Sintaks tidak standard'' menunjukkan sambungan kepada Fortran itu ftnchek menyokong
tetapi itu tidak mengikut Piawaian Fortran 77. Sambungan yang ftnchek menerima
diterangkan dalam bahagian Sambungan di bawah. Satu contoh ialah DO ... ENDDO
pembinaan. Jika program menggunakan sambungan ini, amaran akan diberikan mengikut
spesifikasi di bawah -f77 tetapan. Tingkah laku lalai adalah untuk tidak memberikan amaran.

``Amaran'' dalam kes lain bermaksud keadaan yang mencurigakan tetapi mungkin atau tidak
ralat pengaturcaraan. Selalunya syarat ini adalah sah di bawah piawaian. Ada yang
menyalahi undang-undang tetapi tidak termasuk di bawah tajuk ralat sintaks. Ralat penggunaan adalah satu contoh.
Ini merujuk kepada kemungkinan bahawa pembolehubah boleh digunakan sebelum ia ditetapkan a
nilai (biasanya ralat), atau pembolehubah diisytiharkan tetapi tidak pernah digunakan (tidak berbahaya tetapi
mungkin menunjukkan kecuaian). Jumlah pemeriksaan untuk ralat penggunaan dikawal oleh
-penggunaan bendera, yang menentukan jumlah maksimum semakan secara lalai.

Amaran pemotongan meliputi situasi di mana ketepatan mungkin hilang secara tidak sengaja, kerana
contoh apabila nilai ketepatan berganda diberikan kepada pembolehubah sebenar. Amaran ini adalah
dikawal oleh -pemangkasan tetapan, yang dihidupkan secara lalai.

``Penggunaan tidak boleh alih'' memberi amaran tentang beberapa ciri yang mungkin tidak diterima oleh sesetengah penyusun
walaupun ia tidak bertentangan dengan Standard Fortran 77, atau yang mungkin menyebabkan program
untuk melakukan secara berbeza pada platform yang berbeza. Contohnya, menyamakan sebenar dan
pembolehubah integer biasanya merupakan amalan bukan mudah alih. Penggunaan sambungan kepada
bahasa standard, sudah tentu, satu lagi sumber bukan mudah alih, tetapi ini dikendalikan sebagai
kes berasingan. Untuk menyemak program untuk kemudahalihan sebenar, kedua-dua -mudah alih dan juga
-f77 bendera hendaklah digunakan. Kedua-duanya dimatikan secara lalai. The -saiz perkataan tetapan adalah
disediakan untuk menyemak hanya penggunaan bukan mudah alih yang bergantung pada mesin tertentu
saiz perkataan.

``Penampilan mungkin mengelirukan'' digunakan untuk pembinaan undang-undang yang mungkin tidak bermakna apa-apa
mereka kelihatan bermaksud pada pandangan pertama. Contohnya, Fortran tidak sensitif terhadap ruang kosong,
jadi ruang luar dalam nama pembolehubah atau kekurangan ruang antara kata kunci dan a
pembolehubah boleh menyampaikan tanggapan yang salah kepada pembaca. Mesej ini boleh dihalang
dengan mematikan -cantik bendera, yang dihidupkan secara lalai.

Mesej lain yang diberikan selepas semua fail diproses, dan mempunyai kaitan dengannya
perjanjian antara modul, jangan gunakan perkataan ``amaran'' tetapi secara amnya jatuh ke dalamnya
kategori. Contohnya termasuk jenis ketidakpadanan antara pembolehubah sepadan dalam berbeza
Pengisytiharan blok biasa, atau antara hujah dummy dan sebenar subprogram. Ini
amaran dikawal oleh -biasa and -hujah tetapan masing-masing. Secara lalai
kedua-duanya ditetapkan untuk ketegasan maksimum pemeriksaan.

Satu lagi kumpulan amaran tentang keadaan yang selalunya tidak berbahaya merujuk kepada kes di mana
sifat tatasusunan pembolehubah yang diluluskan sebagai hujah subprogram berbeza antara keduanya
rutin. Sebagai contoh, elemen tatasusunan mungkin dihantar kepada subrutin yang menjangkakan a
keseluruhan tatasusunan. Ini ialah teknik yang biasa digunakan untuk memproses satu baris atau lajur
tatasusunan dua dimensi. Walau bagaimanapun, ia juga boleh menunjukkan ralat pengaturcaraan. The -susunan
tetapan membolehkan pengguna melaraskan tahap ketegasan yang akan digunakan dalam menyemak ini
jenis persetujuan antara argumen tatasusunan sebenar dan dummy. Secara lalai ketegasan adalah
maksimum.

``Op'' menunjukkan masalah teknikal, bermakna sama ada pepijat masuk ftnchek atau itu
sumber telah melebihi.

Mesej ralat sintaks dan amaran termasuk nama fail bersama dengan nombor baris dan
nombor lajur. ftnchek mempunyai dua pilihan berbeza untuk kemunculan ralat ini
mesej. Jika -orang baru berkuat kuasa, yang merupakan lalai, mesej dalam gaya
menghampiri bahasa Inggeris biasa. (Dalam gaya lalai, nama fail tidak dicetak dalam mesej
dalam badan program jika - senarai sedang berkuat kuasa.) Gaya mesej ralat yang lain
dipilih oleh -bukan baru pilihan. Dalam gaya ini, penampilan mesej adalah
serupa dengan UNIX reben program.

ftnchek masih buta terhadap beberapa jenis ralat sintaks. Dua yang paling penting ialah
pemeriksaan terperinci penyata FORMAT, dan hampir semua perkara yang berkaitan dengan kawalan
aliran pelaksanaan melalui pernyataan IF, DO, dan GOTO: iaitu sarang kawalan yang betul
struktur, padanan pernyataan pembukaan seperti JIKA ... MAKA dengan pernyataan penutup
seperti ENDIF, dan penggunaan label pernyataan (nombor) yang betul. Kebanyakan penyusun akan
menangkap kesilapan ini. Lihat bahagian mengenai Had untuk perbincangan yang lebih terperinci.

If ftnchek memberikan anda mesej ralat sintaks apabila pengkompil tidak, mungkin kerana
program anda mengandungi sambungan kepada Fortran standard yang diterima oleh pengkompil
tetapi tidak oleh ftnchek. (Lihat bahagian mengenai Sambungan.) Pada sistem VAX/VMS, anda boleh gunakan
pilihan pengkompil /STANDARD menyebabkan pengkompil hanya menerima Fortran standard. hidup
kebanyakan sistem seperti UNIX atau UNIX, ini boleh dicapai dengan menetapkan bendera -ansi.

Banyak mesej yang diberikan oleh ftnchek adalah jelas. Mereka yang memerlukan sedikit
penerangan tambahan disenaraikan di bawah mengikut susunan abjad.

Common menyekat NAMA: data jenis tidak sepadan at kedudukan n
. n-th pembolehubah dalam blok COMMON berbeza dalam jenis data dalam dua berbeza
pengisytiharan blok COMMON. Secara lalai (-biasa tahap ketegasan 3), ftnchek
sangat memilih tentang blok BIASA: pembolehubah yang disenaraikan di dalamnya mesti sepadan dengan tepat
mengikut jenis data dan dimensi tatasusunan. Iaitu, pasangan perisytiharan yang sah dalam
modul yang berbeza:
BIASA /COM1/ A,B
and
BIASA /COM1/ A(2)
akan menyebabkan ftnchek untuk memberi amaran pada tahap ketegasan 3. Kedua-dua deklarasi ini
adalah sah di Fortran kerana kedua-duanya mengisytiharkan dua pembolehubah sebenar. Pada ketegasan
tahap 1 atau 2, tiada amaran akan diberikan dalam contoh ini, tetapi amarannya adalah
diberikan jika terdapat ketidakpadanan jenis data, contohnya, jika B diisytiharkan INTEGER.
Dikawal oleh -biasa penetapan.

Common menyekat NAMA mempunyai lama data jenis berikutan pendek data jenis
Sesetengah penyusun memerlukan penjajaran item berbilang bait supaya setiap item bermula pada
alamat yang merupakan gandaan saiz item. Oleh itu jika pendek (contohnya tunggal-
item ketepatan sebenar) diikuti dengan item panjang (cth. dua ketepatan sebenar), item
yang terakhir mungkin tidak diselaraskan dengan betul. Dikawal oleh -mudah alih=penjajaran sepunya
pilihan.

Common menyekat NAMA mempunyai bercampur watak and bukan watak pembolehubah
Piawaian ANSI memerlukan bahawa jika mana-mana pembolehubah dalam blok COMMON adalah jenis
CHARACTER, maka semua pembolehubah lain dalam blok COMMON yang sama juga mestilah dari jenis
PERWATAKAN. Dikawal oleh -f77=bercampur-biasa pilihan.

Common menyekat NAMA: berbeza-beza panjang
Untuk -biasa menetapkan tahap 2, mesej ini bermakna bahawa blok COMMON diisytiharkan kepada
mempunyai bilangan perkataan yang berbeza dalam dua subprogram yang berbeza. Satu perkataan adalah jumlah
storan yang diduduki oleh satu integer atau pembolehubah nyata. Untuk -biasa menetapkan tahap 3,
ia bermakna bahawa kedua-dua pengisytiharan mempunyai bilangan pembolehubah yang berbeza, di mana an
tatasusunan sebarang saiz dianggap sebagai satu pembolehubah. Ini tidak semestinya kesilapan,
tetapi ia mungkin menunjukkan bahawa pembolehubah tiada daripada salah satu senarai. Perhatikan bahawa
mengikut Standard Fortran 77, ia adalah ralat untuk blok COMMON yang dinamakan (tetapi
bukan kosong COMMON) untuk berbeza dalam bilangan perkataan dalam pengisytiharan dalam berbeza
modul. Diberikan untuk -biasa tetapan 2 atau 3.

ralat: Teruk membentuk logik/perkaitan operator or berterusan

ralat: Teruk membentuk sebenar berterusan
Penganalisis sintaks telah menemui permulaan salah satu perkataan khas yang bermula dan
berakhir dengan tempoh (cth .EQ.), atau permulaan pemalar berangka, tetapi tidak
berjaya mencari item yang lengkap seperti itu.

ralat: tidak boleh be laras saiz in modul NAMA
Pembolehubah aksara tidak boleh diisytiharkan dengan saiz yang bertanda asterisk
kurungan melainkan ia adalah hujah tiruan, parameter atau nama fungsi
ditakrifkan dalam modul.

ralat: tidak boleh be diisytiharkan in JIMAT kenyataan in modul NAMA
Hanya pembolehubah tempatan dan blok biasa boleh diisytiharkan dalam pernyataan SAVE.

ralat: Tidak jalan kepada ini kenyataan
ftnchek akan mengesan pernyataan yang diabaikan atau dilewati kerana tiada
laluan yang boleh dijangka ke penyata itu. Sebagai contoh, pernyataan tidak bernombor (a
pernyataan tanpa label pernyataan), berlaku sejurus selepas pernyataan GOTO,
tidak mungkin dapat dilaksanakan.

ralat: Parse kesilapan
Ini bermakna bahawa penghurai, yang menganalisis atur cara Fortran menjadi ungkapan,
kenyataan, dsb., tidak dapat mencari tafsiran yang sah untuk beberapa bahagian
daripada kenyataan dalam program tersebut. Jika pengkompil anda tidak melaporkan ralat sintaks di
di tempat yang sama, penjelasan yang paling biasa ialah: (1) penggunaan sambungan kepada ANSI
standard Fortran yang tidak diiktiraf oleh ftnchek, atau (2) pernyataan memerlukan
lebih memandang ke hadapan daripada ftnchek kegunaan (lihat bahagian pada Bugs).

NOTA: Mesej ini bermakna kenyataan yang terjejas tidak ditafsirkan.
Oleh itu, ada kemungkinan bahawa ftnchekPemprosesan seterusnya akan menjadi kesilapan, jika
ia bergantung pada apa-apa perkara yang dipengaruhi oleh kenyataan ini (jenis pengisytiharan, dsb.).

ralat: Syntax kesilapan
Ini adalah sama dengan ``Ralat: Ralat Parse'' (lihat di atas). Ia dijana jika anda
versi ftnchek dibina menggunakan UNIX yacc penjana parser dan bukannya GNU
bison.

Pengenal pasti yang adalah tidak unik in pertama 6 kereta kebal
Memberi amaran bahawa dua pengecam yang lebih panjang daripada 6 aksara tidak berbeza dalam
6 aksara pertama. Ini adalah untuk mudah alih: mereka mungkin tidak dianggap berbeza
oleh beberapa penyusun. Dikawal oleh -enam arang pilihan.

Bukan mudah alih penggunaan: hujah ketepatan mungkin tidak be membetulkan Untuk intrinsik fungsi
Ketepatan hujah yang dihantar kepada fungsi intrinsik mungkin tidak betul pada
beberapa komputer. Dikeluarkan apabila pembolehubah berangka diisytiharkan dengan ketepatan yang jelas
(cth REAL*8 X) dihantar ke fungsi intrinsik tertentu (cth DSQRT(X)).
Dikawal oleh -mudah alih=saiz bercampur and -saiz perkataan.

Bukan mudah alih penggunaan: watak malar/pembolehubah panjang melebihi 255
Sesetengah penyusun tidak menyokong rentetan aksara lebih daripada 255 aksara panjangnya.
Dikawal oleh -mudah alih=bertali panjang.

Bukan mudah alih penggunaan: File mengandungi tab
ftnchek mengembangkan tab menjadi setara dengan ruang sehingga lajur seterusnya iaitu a
gandaan 8. Sesetengah penyusun melayan tab secara berbeza, dan mungkin juga begitu
fail yang dihantar melalui mel elektronik akan mempunyai tab ditukar kepada kosong dalam beberapa cara.
Oleh itu fail yang mengandungi tab mungkin tidak disusun dengan betul selepas dibuat
dipindahkan. ftnchek tidak memberikan mesej ini jika tab hanya berlaku dalam ulasan
atau pemalar watak. Dikawal oleh -mudah alih=tab.

Bukan mudah alih penggunaan: bukan integer DO gelung Sempadan
Amaran ini hanya diberikan apabila indeks dan sempadan DO bukan integer. Penggunaan
kuantiti bukan integer dalam pernyataan DO boleh menyebabkan ralat yang tidak dijangka, atau berbeza
keputusan pada mesin yang berbeza, disebabkan oleh kesan pusingan. Dikawal oleh
-mudah alih=buatan sebenar.

Mungkin it is an pelbagai yang adalah tidak diisytiharkan
Mesej ini dilampirkan pada amaran yang berkaitan dengan seruan fungsi atau kepada a
jenis argumen tidak padan, yang mana kemungkinan wujud bahawa apa yang kelihatan seperti a
fungsi sebenarnya dimaksudkan sebagai tatasusunan. Jika pengaturcara terlupa untuk dimensi
tatasusunan, rujukan kepada tatasusunan akan ditafsirkan sebagai seruan fungsi.
Mesej ini akan dihalang jika nama yang dimaksudkan muncul dalam LUARAN atau
pernyataan INTRINSIK. Dikawal oleh -orang baru pilihan.

Mungkin mengelirukan penampilan: aksara Lepas 72 lajur
Program sedang diproses dengan lebar medan pernyataan pada nilai standardnya
daripada 72, dan beberapa aksara bukan kosong telah ditemui melepasi lajur 72. Dalam kes ini,
ftnchek tidak memproses aksara melepasi lajur 72 dan sedang memberitahu pengguna
bahawa pernyataan itu mungkin tidak mempunyai makna yang nampaknya ada. Ini
aksara mungkin dimaksudkan oleh pengaturcara untuk menjadi penting, tetapi ia akan menjadi
diabaikan oleh pengkompil. Dikawal oleh -cantik=beratur panjang.

Mungkin mengelirukan penampilan: Common menyekat diisytiharkan in lebih daripada 1 kenyataan
Pengisytiharan berbilang sedemikian adalah sah dan mempunyai kesan yang sama sebagai kesinambungan
pengisytiharan asal blok itu. Amaran ini hanya diberikan jika kedua-duanya
pengisytiharan dipisahkan oleh satu atau lebih pernyataan campur tangan. Dikawal oleh
-cantik=berbilang-biasa.

Mungkin mengelirukan penampilan: Penerusan ikut komen or kosong selaras
ftnchek mengeluarkan mesej amaran ini untuk memaklumkan pengguna bahawa kesinambungan a
kenyataan diselang-seli dengan komen, menjadikannya mudah untuk diabaikan. Dikawal oleh
-cantik=sambungan.

Mungkin mengelirukan penampilan: Luaran kurungan
Memberi amaran tentang kurungan yang mengelilingi pembolehubah dengan sendirinya dalam ungkapan. Apabila a
pembolehubah dalam kurungan diluluskan sebagai hujah kepada subprogram, ia dianggap sebagai
ungkapan, bukan sebagai pembolehubah yang nilainya boleh diubah suai oleh rutin yang dipanggil.
Dikawal oleh -cantik= kurungan.

Subprogram NAMA: hujah data jenis tidak sepadan at kedudukan n
Subprogram itu n-hujah sebenar ke (dalam CALL atau penggunaan fungsi)
berbeza dalam jenis data atau ketepatan daripada n-hujah dummy ke (dalam SUBROUTINE atau
pengisytiharan FUNGSI). Sebagai contoh, jika pengguna mentakrifkan subprogram dengan
SUBROUTINE SUBA(X)
X SEBENAR
dan di tempat lain memanggil SUBA oleh
CALL SUBA(2)
ftnchek akan mengesan ralat. Sebab di sini ialah nombor 2 adalah integer,
tidak nyata. Pengguna sepatutnya menulis
CALL SUBA(2.0)

Apabila menyemak hujah yang merupakan subprogram, ftnchek mesti boleh tentukan
sama ada fungsi atau subrutin. Peraturan yang digunakan oleh ftnchek untuk melakukan ini adalah
seperti berikut: Jika subprogram, selain diluluskan sebagai hujah sebenar, juga
dipanggil terus di tempat lain dalam modul yang sama, maka jenisnya ditentukan oleh itu
penggunaan. Jika tidak, maka jika nama subprogram tidak muncul secara eksplisit
pengisytiharan jenis, ia diandaikan sebagai subrutin; jika ia ditaip secara eksplisit ia adalah
diambil sebagai fungsi. Oleh itu, subrutin diluluskan sebagai hujah sebenar sahaja yang diperlukan
diisytiharkan oleh pernyataan LUARAN dalam modul panggilan, manakala fungsi mesti
juga ditaip secara eksplisit untuk mengelakkan menjana mesej ralat ini.
Dikawal oleh -hujah penetapan.

Subprogram NAMA: hujah tatasusunan tidak sepadan at kedudukan n
Sama seperti situasi sebelumnya, tetapi hujah dummy subprogram berbeza daripada
hujah sebenar yang sepadan dalam bilangan dimensi atau bilangannya
elemen. Dikawal oleh -susunan Bersama-sama dengan -hujah tetapan.

Subprogram NAMA: hujah tidak sepadan at kedudukan n
Hujah tiruan watak adalah lebih besar daripada hujah sebenar yang sepadan, atau a
Hujah dummy Hollerith lebih besar daripada hujah sebenar yang sepadan.
Dikawal oleh -hujah penetapan.

Subprogram NAMA: hujah penggunaan tidak sepadan
ftnchek mengesan kemungkinan konflik antara cara subprogram menggunakan hujah
dan cara hujah dibekalkan kepada subprogram. Konflik boleh
menjadi salah satu daripada dua jenis, seperti yang digariskan di bawah.

Dummy berhujah is diubah suai, Sebenar berhujah is malar or expr
Argumen dummy ialah hujah seperti yang dinamakan dalam pernyataan SUBROUTINE atau FUNCTION dan
digunakan dalam subprogram. Hujah sebenar ialah hujah yang dihantar kepada a
subrutin atau fungsi oleh pemanggil. ftnchek mengatakan bahawa hujah palsu adalah
diubah suai oleh subprogram, membayangkan bahawa nilainya diubah dalam panggilan
modul. Hujah sebenar yang sepadan tidak boleh menjadi pemalar atau ungkapan,
melainkan elemen pembolehubah atau tatasusunan yang boleh ditugaskan secara sah.
Dikawal oleh -usage=arg-const-modified pilihan.

Dummy berhujah digunakan sebelum menetapkan, Sebenar berhujah tidak menetapkan
Di sini hujah tiruan boleh digunakan dalam subprogram sebelum mempunyai nilai yang diberikan
kepadanya oleh subprogram. Hujah sebenar yang sepadan harus mempunyai nilai
diberikan kepadanya oleh pemanggil sebelum menggunakan subprogram. Dikawal oleh
-usage=var-uninitialized pilihan.

Amaran ini tidak terjejas oleh -hujah penetapan.

Subprogram NAMA dipanggil tidak selaras
Di sini ketidakpadanan adalah antara datatype subprogram itu sendiri seperti yang digunakan dan sebagai
ditakrifkan. Sebagai contoh, jika pengguna mengisytiharkan
COUNT FUNGSI INTEGER(A)
dan memanggil COUNT dalam modul lain sebagai
N = COUNT(A)
tanpa mengisytiharkan jenis datanya, ia akan lalai kepada jenis sebenar, berdasarkan yang pertama
huruf namanya. Modul panggilan sepatutnya mengandungi pengisytiharan
KIRAAN INTEGER

Diberikan untuk -hujah tetapan 2 atau 3.

Subprogram NAMA: berbeza-beza panjang hujah senarai:
Ketidakkonsistenan telah ditemui antara bilangan argumen palsu (parameter)
subprogram mempunyai dan bilangan argumen sebenar yang diberikan dalam doa.
ftnchek menjejaki semua seruan subprogram (penyataan CALL dan
ungkapan menggunakan fungsi) dan membandingkannya dengan takrifan
subprogram di tempat lain dalam kod sumber. Pengkompil Fortran biasanya tidak
menangkap jenis ralat ini. Diberikan untuk -hujah tetapan 1 atau 3.

Pembolehubah tidak diisytiharkan. Jenis mempunyai menjadi secara tersirat ditakrifkan
Apabila mencetak jadual simbol untuk modul, ftnchek akan bendera dengan asterisk semua
pengecam yang tidak ditaip secara eksplisit dan akan menunjukkan jenis data itu
diberikan melalui penaipan tersirat. Ini menyediakan sokongan untuk pengguna yang ingin
mengisytiharkan semua pembolehubah seperti yang diperlukan dalam Pascal atau beberapa bahasa lain. ini
mesej muncul hanya apabila -symtab pilihan berkuat kuasa. Sebagai alternatif, gunakan
-mengisytiharkan flag jika anda ingin mendapatkan senarai semua pembolehubah yang tidak diisytiharkan.

Pembolehubah diisytiharkan tetapi pernah dirujuk
Mengesan sebarang pengecam yang telah diisytiharkan dalam program anda tetapi tidak pernah digunakan,
sama ada untuk diberikan nilai atau untuk mengakses nilainya. Pembolehubah dalam COMMON
dikecualikan. Dikawal oleh -usage=var-unused pilihan.

Pembolehubah menetapkan tetapi pernah digunakan
ftnchek akan memberitahu pengguna apabila pembolehubah telah diberikan nilai, tetapi
pembolehubah tidak digunakan dalam program. Biasanya ini terhasil daripada an
penyeliaan. Dikawal oleh -usage=var-set-unused pilihan.

Pembolehubah digunakan sebelum menetapkan
Mesej ini menunjukkan bahawa pengecam digunakan untuk mengira nilai sebelum nilai itu
permulaan. Penggunaan sedemikian boleh menyebabkan nilai yang salah dikira, kerana
nilai awalnya tidak dikawal. Dikawal oleh -usage=var-uninitialized
pilihan.

Pembolehubah mungkin be digunakan sebelum menetapkan
Sama seperti digunakan sebelum ditetapkan kecuali itu ftnchek tidak dapat menentukan statusnya
dengan pasti. ftnchek menganggap pembolehubah boleh digunakan sebelum ditetapkan jika yang pertama
penggunaan pembolehubah berlaku sebelum teks atur cara untuk tugasannya.
Dikawal oleh -usage=var-uninitialized pilihan.

Amaran: DO indeks is tidak integer
Amaran ini hanya diberikan apabila sempadan DO adalah integer, tetapi indeks DO tidak.
Ia mungkin menunjukkan kegagalan untuk mengisytiharkan indeks sebagai integer. Dikawal oleh
-pemotongan=sebenar-buat pilihan.

Amaran: integer sangka expr ... ditukar kepada sebenar
Hasil bagi dua integer menghasilkan hasil jenis integer, di mana
bahagian pecahan digugurkan. Jika ungkapan integer sedemikian yang melibatkan pembahagian ialah
kemudian ditukar kepada jenis data sebenar, mungkin pembahagian jenis sebenar telah
dimaksudkan. Dikawal oleh -truncation=int-div-real pilihan.

Amaran: Integer sangka expr ... digunakan in eksponen
Hasil bagi dua integer menghasilkan hasil jenis integer, di mana
bahagian pecahan digugurkan. Jika ungkapan integer sedemikian digunakan sebagai eksponen,
berkemungkinan besar pembahagian jenis sebenar dimaksudkan. Dikawal oleh
-truncation=int-div-exponent pilihan.

Amaran: NAMA tidak menetapkan apabila PULANG BALIK ditemui
Cara yang berfungsi dalam Fortran mengembalikan nilai adalah dengan memberikan nilai kepada
nama fungsi. Mesej ini menunjukkan bahawa fungsi tidak diberikan a
nilai sebelum titik di mana pernyataan RETURN ditemui. Oleh itu ia adalah
kemungkinan bahawa fungsi itu boleh mengembalikan nilai yang tidak ditentukan.

Amaran: Tidak standard sintaks: laras saiz tidak boleh be bercantum disini
Piawaian Fortran 77 (sek. 6.2.2) melarang pembolehubah aksara yang digabungkan
yang saiznya ialah asterisk dalam kurungan, kecuali dalam pernyataan tugasan.
Dikawal oleh -f77=bercampur-expr.

Amaran: Tidak standard sintaks : ketara aksara Lepas 72 lajur
Amaran ini diberikan di bawah -f77=garisan panjang tetapan jika -lajur tetapan mempunyai
telah digunakan untuk meningkatkan lebar medan pernyataan, dan pernyataan mempunyai makna
teks program di luar lajur 72. Standard Fortran mengabaikan semua teks dalam lajur tersebut,
tetapi sesetengah penyusun tidak. Oleh itu program mungkin dilayan secara berbeza oleh
penyusun yang berbeza.

Amaran: Tidak standard sintaks : Penyata keluar of perintah.
ftnchek akan mengesan pernyataan yang berada di luar urutan yang ditentukan untuk ANSI
standard Fortran 77. Jadual 1 menggambarkan urutan pernyataan yang dibenarkan dalam
bahasa Fortran. Kenyataan yang tidak teratur tetap ditafsirkan oleh
ftnchek, untuk mengelakkan ``melantun'' mesej ralat. Kaunter jujukan juga
digulung semula untuk mengelakkan pengulangan mesej ralat untuk blok yang serupa
kenyataan. Dikawal oleh -f77=perintah-penyata pilihan.

-------------------------------------------------- ------
| | tersirat
| parameter |---------------------
| | spesifikasi lain
format |----------------|---------------------
dan | | fungsi pernyataan
kemasukan | data |---------------------
| | boleh dilaksanakan
-------------------------------------------------- ------

Jadual 1

Amaran: Mungkin bahagian by sifar
Mesej ini dicetak di mana-mana pembahagian dilakukan (kecuali pembahagian oleh a
tetap). Gunakannya untuk membantu mencari pembahagian masa jalan dengan masalah sifar. terkawal
by -pembahagian pilihan.

Amaran: sebenar dipenggal kepada intg
ftnchek telah mengesan pernyataan tugasan yang mempunyai ekspresi sebenar pada
kanan, tetapi pembolehubah integer di sebelah kiri. Bahagian pecahan nilai sebenar
akan hilang. Jika anda secara eksplisit menukar ungkapan sebenar kepada integer menggunakan
Fungsi intrinsik INT atau NINT, tiada amaran akan dicetak. Mesej yang serupa ialah
dicetak jika ungkapan ketepatan berganda diberikan kepada ketepatan tunggal
pembolehubah, dsb. Dikawal oleh -pemotongan=turun pangkat pilihan.

Amaran: langganan is tidak integer
Oleh kerana subskrip tatasusunan biasanya merupakan kuantiti integer, penggunaan bukan integer
ungkapan di sini mungkin menandakan ralat. Dikawal oleh -truncation=subskrip sebenar
pilihan.

Amaran: Tidak diketahui intrinsik fungsi
Mesej ini memberi amaran kepada pengguna bahawa nama yang diisytiharkan dalam pernyataan INTRINSIK ialah
tidak diketahui ftnchek. Mungkin ia adalah fungsi intrinsik yang tidak standard, dan sebagainya
program tidak akan mudah alih. Fungsi tersebut akan dilayan oleh ftnchek sebagai pengguna-
fungsi yang ditentukan. Amaran ini tidak dihalang oleh sebarang pilihan, kerana ia menjejaskan
ftnchekanalisis program. Walau bagaimanapun, jika fungsi intrinsik adalah dalam salah satu daripada
set intrinsik bukan standard yang disokong, anda boleh menggunakan -intrinsik menetapkan untuk
sebab ftnchek untuk mengenalinya.

HADAH DAN PERLUASAN


ftnchek menerima program Fortran-77 standard ANSI dengan beberapa had kecil dan banyak
sambungan biasa.

Batasan:
Argumen tiruan dalam fungsi pernyataan dianggap seperti pembolehubah biasa
program yang. Iaitu, skop mereka adalah keseluruhan subprogram, bukan hanya kenyataan
definisi fungsi.

Pemeriksaan penyata FORMAT adalah longgar, bertolak ansur dengan pemisah yang hilang (koma,
dsb.) antara deskriptor format di tempat di mana Piawaian memerlukannya, dan
membenarkan .d medan pada deskriptor yang tidak sepatutnya mempunyainya. Ia memberi amaran di bawah
-f77=format-edit-descr tentang jenis deskriptor bukan standard (seperti O) dan disokong
sambungan.

Terdapat beberapa sambungan sintaksis dan elemen Fortran 90 yang ftnchek menerima
tetapi melakukan sedikit pemeriksaan. Sebagai contoh, penggunaan penunjuk (sama ada
sintaks Cray bukan standard atau sintaks Fortran 90) tidak ditanda selain daripada set
dan status terpakai. Diharapkan suatu hari nanti pemeriksaan yang lebih teliti akan dilakukan
dilaksanakan, tetapi buat masa ini pengguna harus menganggap penerimaan sintaksis ini
ciri semata-mata sebagai kemudahan untuk membolehkan pemeriksaan aspek kod lain yang
mengandungi mereka. Lihat bahagian Sambungan untuk mendapatkan butiran tentang ciri-ciri itu
diterima tetapi tidak disemak sepenuhnya.

Jika subprogram yang dibekalkan pengguna mempunyai nama yang sama dengan salah satu daripada intrinsik bukan standard
fungsi yang diiktiraf oleh ftnchek, ia mesti diisytiharkan dalam pernyataan LUARAN dalam
sebarang rutin yang menyerunya. Jika tidak, ia akan tertakluk kepada semakan seperti biasa
diberikan kepada fungsi intrinsik. Oleh kerana intrinsik bukan standard tidak
standard, pernyataan LUARAN ini tidak diperlukan oleh Piawaian Fortran 77.
Menggunakan -intrinsik=tiada penetapan, pengiktirafan kebanyakan intrinsik bukan standard
(kecuali hanya yang diperlukan untuk menyokong jenis data kompleks berganda) boleh diubah
dimatikan. Lihat senarai fungsi intrinsik bukan standard yang disokong di bawah
perbincangan mengenai -intrinsik tetapan di atas.

Extensions:
Semua sambungan ini (kecuali aksara huruf kecil) akan menjana amaran jika
yang berkaitan -f77 pilihan ditetapkan. Beberapa sambungan yang disenaraikan di bawah adalah sebahagian daripada
Standard Fortran-90. Ini ditunjukkan oleh notasi (F90).

Tab dibenarkan, dan diterjemahkan ke dalam kosong setara yang sepadan dengan tab
berhenti setiap 8 lajur. Standard tidak mengenali tab. Perhatikan bahawa beberapa
penyusun membenarkan tab, tetapi merawatnya secara berbeza. Rawatan yang ditakrifkan untuk DEC
FORTRAN boleh dicapai menggunakan -source=tab-dec penetapan.

Rentetan boleh dihadkan sama ada dengan tanda petikan atau apostrof. Urutan dua
aksara pembatas ditafsirkan sebagai aksara pembatas tertanam tunggal.
(F90)

Rentetan mungkin mengandungi urutan pelarian garis miring terbalik gaya UNIX. Mereka akan
ditafsirkan sedemikian jika -source=unix-backslash tetapan diberikan. Jika tidak
aksara sengkang terbalik akan dianggap sebagai watak cetakan biasa.

Kod sumber boleh sama ada dalam format percuma Fortran 90 atau format tetap tradisional.
(F90)

Titik bertitik dibenarkan sebagai pemisah pernyataan. (F90)

Aksara huruf kecil dibenarkan, dan ditukar secara dalaman kepada huruf besar
kecuali dalam rentetan aksara. Piawaian menetapkan huruf besar sahaja, kecuali dalam
komen dan rentetan. (F90)

Pemalar Hollerith dibenarkan, mengikut Piawaian Fortran 77,
lampiran C. Ia tidak boleh digunakan dalam ungkapan, atau dikelirukan dengan jenis data
PERWATAKAN.

Huruf 'D' (huruf besar atau kecil) dalam lajur 1 dianggap sebagai permulaan a
komen. Tiada pilihan untuk menganggap baris tersebut sebagai kenyataan dan bukannya ulasan.

Penyata mungkin lebih panjang daripada 72 lajur dengan syarat tetapan -lajur adalah
digunakan untuk meningkatkan had. Mengikut standard, semua teks dari lajur 73
hingga 80 diabaikan, dan tiada baris mungkin lebih panjang daripada 80 lajur.

Nama pembolehubah mungkin lebih panjang daripada enam aksara. Piawaian menentukan enam sebagai
maksimum. ftnchek membenarkan nama sehingga 31 aksara panjang (F90).

Nama boleh ubah mungkin mengandungi garis bawah dan tanda dolar (atau bukan abjad lain
aksara seperti yang dinyatakan oleh -pengenal-aksara pilihan). Watak-watak ini ialah
diperlakukan sama seperti huruf abjad. Jenis lalai untuk pembolehubah yang bermula
dengan watak-watak ini adalah NYATA. Dalam pernyataan jenis IMPLICIT yang menyatakan julat
aksara, tanda dolar mengikuti Z dan diikuti dengan garis bawah. (Apa-apa yang lain
aksara yang ditentukan pengguna dilayan sama seperti tanda dolar.) Fortran 90
membenarkan garis bawah dalam nama berubah.

Versi UNIX bertolak ansur dengan kehadiran arahan prapemproses, iaitu talian
bermula dengan tanda paun (#). Ini dianggap sebagai ulasan, kecuali untuk #line
arahan, yang ditafsirkan, dan digunakan untuk menetapkan nombor baris dan sumber
nama fail untuk amaran dan mesej ralat. Ambil perhatian bahawa arahan #include tidak
diproses oleh ftnchek. Program yang menggunakannya untuk memasukkan fail sumber hendaklah
melalui prapemproses sebelum dimasukkan ke ftnchek. Seperti yang dinyatakan di bawah,
ftnchek tidak memproses pernyataan INCLUDE, yang mempunyai sintaks yang berbeza. An
program pilihan, ftnpp(1L) (tersedia secara berasingan) menyediakan prapemprosesan itu
mengendalikan fail INCLUDE dengan betul.

Struktur kawalan Fortran 90 DO ... ENDDO dibenarkan. KITARAN dan KELUAR
kenyataan diterima. Semua ini mungkin mempunyai nama binaan pilihan, tetapi
nama binaan tidak disemak untuk konsistensi. (F90)

Pembinaan Fortran 90 SELECT CASE diterima. (F90)

Nama binaan juga diterima pada IF, THEN, ELSE, ENDIF dan SELECT CASE
kenyataan. (F90)

Pernyataan ACCEPT dan TYPE (untuk terminal I/O) dibenarkan, dengan yang sama
sintaks sebagai CETAKAN.

Sintaks yang dipanggil ``Penunjuk Cray'' diterima. Ia tidak sama dengan
Kenyataan Fortran 90 POINTER. Tiada semakan sebenar kenyataan lain
daripada sintaks asas. Bentuk pernyataan ini ialah
PENUNJUK (penunjuk, pointee) [,(penunjuk, pointee)]
Pembolehubah penunjuk diberikan jenis data INTEGER *4. Pemeriksaan penggunaan bagi
pembolehubah pointee ditindas, kerana dalam praktiknya ia diakses secara tidak langsung
melalui petunjuk.

Sintaks berkaitan penuding Fortran 90 berikut diterima: BOLEH DIPERUNTUKAN,
Penyataan POINTER, dan TARGET dan atribut yang sama dalam pengisytiharan jenis;
PERUNTUKKAN, PENYATA PERUNTUKAN, dan NULLIFY kenyataan boleh laku; tugasan penunjuk menggunakan
=> pengendali; dan fungsi intrinsik yang DIPERUNTUKAN dan BERKAITAN. Semantik kecil
penyemakan pembolehubah dan operasi penunjuk dilakukan di luar set asas dan digunakan
status. Sebagai contoh, tiada penyemakan ralat seperti penunjuk berjuntai,
atau penggunaan tatasusunan yang tidak diperuntukkan.

Penyata mungkin mempunyai sebarang bilangan baris sambungan. Fortran 77 dan Fortran
90 standard membenarkan maksimum 19 dalam bentuk sumber tetap. Standard Fortran 90
membenarkan maksimum 39 dalam bentuk sumber percuma.

Operator perhubungan (perbandingan) yang terdiri daripada tanda baca, iaitu: < <= == /= > >=
adalah dibenarkan. (F90)

Komen sebaris, bermula dengan tanda seru, dibenarkan. (F90)

NAMELIST I/O disokong. Sintaks adalah sama seperti dalam Fortran 90.

Penyata FORMAT boleh mengandungi tanda dolar untuk menunjukkan penindasan pengangkutan-
kembali. Ungkapan integer yang disertakan dalam kurungan sudut boleh digunakan di mana-mana sahaja dalam a
Pernyataan FORMAT di mana Piawaian Fortran 77 membenarkan pemalar integer (kecuali
untuk panjang pemalar Hollerith), untuk memberikan nilai masa jalan untuk ulangan
spesifikasi atau lebar medan.

Kata kunci tidak standard dibenarkan dalam pernyataan I/O, sepadan dengan kata kunci dalam VMS
Fortran.

Pernyataan IMPLICIT NONE disokong. Maksud kenyataan ini ialah
semua pembolehubah mesti mempunyai jenis data mereka diisytiharkan secara eksplisit. Daripada bendera
kejadian pembolehubah sedemikian dengan mesej ralat sintaks, ftnchek menunggu sehingga
akhir modul, dan kemudian mencetak senarai semua pembolehubah yang tidak diisytiharkan, kerana ia
lakukan untuk -mengisytiharkan pilihan. (F90)

Jenis data INTEGER, REAL, COMPLEX dan LOGICAL dibenarkan mempunyai pilihan
spesifikasi ketepatan dalam pengisytiharan jenis. Sebagai contoh, REAL*8 bermaksud 8-bait
jenis data titik terapung. Jenis data REAL*8 tidak semestinya dipertimbangkan
bersamaan dengan DOUBLE PECISION, bergantung pada -saiz perkataan tetapan. Fortran 77
Standard membenarkan spesifikasi panjang hanya untuk data CHARACTER.

ftnchek menyokong spesifikasi jenis DOUBLE COMPLEX untuk kuantiti kompleks yang
bahagian nyata dan khayalan adalah ketepatan berganda. Aritmetik mod campuran yang melibatkan
kompleks ketepatan tunggal dengan data sebenar ketepatan dua kali, dilarang di bawah
Standard, menghasilkan hasil kompleks berganda.

Pengisytiharan jenis gabungan dan pemula seperti pernyataan data diterima.
Ini mempunyai bentuk pengisytiharan jenis Fortran 77 standard, diikuti dengan garis miring-
senarai terhad pemalar seperti yang digunakan dalam pernyataan DATA. Satu contoh daripada
sintaks ialah
INTEGER N / 100 /
Bentuk pengisytiharan permulaan yang keji ini tidak diterima pakai dalam Fortran 90. Seperti
pengisytiharan hendaklah ditulis menggunakan borang standard yang diterangkan di bawah, iaitu
diterima oleh ftnchek.

Terdapat sokongan terhad untuk pengisytiharan jenis berasaskan atribut Fortran 90. ini
gaya pengisytiharan dibezakan dengan penggunaan tanda dua bertindih (::) antara
senarai atribut dan senarai pembolehubah yang diisytiharkan. Ciri yang disokong boleh
mencukupi untuk pengaturcara baru, tetapi belum mencukupi untuk profesional-
program Fortran 90 yang berkualiti. Saya berharap untuk menambah sokongan untuk lebih banyak ciri pada masa hadapan
keluaran. Saya menjemput sukarelawan untuk membantu dalam tugasan ini. Lihat fail ToDo dalam
pengedaran kod sumber untuk butiran. Atribut yang diterima pada masa ini, selain itu
semua jenis data biasa, adalah DIMENSI, LUARAN, INTRINSIK, PARAMETER, dan SIMPAN.
Bentuk pengisytiharan baharu juga membenarkan penyerahan nilai kepada pembolehubah
diisytiharkan. Pada masa ini, (LEN=nilai) bentuk menentukan panjang aksara juga
diterima. Spesifikasi jenis, menggunakan (KIND=nilai) dihuraikan tetapi tidak
diproses: semua jenis dianggap sebagai jenis lalai. Juga, terdapat sedikit pemeriksaan
pengisytiharan ini di luar sintaks asas.

Banyak fungsi intrinsik bukan standard yang biasa ditemui disediakan. Lihat
perbincangan mengenai -intrinsik untuk senarai fungsi dan cara mengawal yang mana satu
dikenali.

Penyemakan hujah tidak ketat untuk intrinsik bukan standard yang mengambil tatasusunan atau
jenis hujah bercampur.

ftnchek membenarkan pernyataan INCLUDE, yang menyebabkan kemasukan teks
fail yang diberikan. Sintaksnya ialah
TERMASUK 'nama fail'
Ini serasi dengan Fortran 90. Jika -source=vms-include pilihan diberi,
ftnchek mengikuti konvensyen VMS berkenaan dengan pernyataan ini: ia menganggap a
sambungan lalai bagi .untuk jika tiada sambungan nama fail diberikan, dan membenarkan
qualifier /[NO]LIST mengikut nama fail, untuk mengawal penyenaraian yang disertakan
fail. Tiada sokongan untuk memasukkan modul teks VMS.

Dalam output diagnostik yang berkaitan dengan item yang terkandung dalam termasuk fail, lokasi
ralat ditentukan oleh kedua-dua lokasinya dalam fail sertakan dan lokasi dalam
fail induk tempat fail itu dimasukkan.

ftnchek menerima pernyataan PARAMETER yang kekurangan kurungan. Ini akan diberi amaran
kira-kira jika -f77=param-noparen bendera diberikan.

ftnchek menerima definisi PARAMETER yang melibatkan fungsi intrinsik dan
eksponen oleh eksponen bukan integer. Kedua-dua kes ini dilarang oleh
Fortran 77 Standard, dan akan diberi amaran tentang jika -f77=param-intrinsik bendera
diberikan. Jika nilai fungsi intrinsik ialah pemalar integer masa kompilasi,
ftnchek akan menilainya. Ini membolehkan pemeriksaan yang lebih baik jika parameter digunakan dalam
mengisytiharkan saiz tatasusunan. Fortran 90 membenarkan fungsi intrinsik dalam PARAMETER
takrifan.

Fungsi intrinsik yang dinilai ialah:

ABS IABS DIM IDIM MAX
MAX0 MIN MIN0 MOD TANDA
ISIGN LEN ICHAR INDEX

Fungsi argumen integer dinilai hanya jika argumen adalah integer
ungkapan yang berterusan. (Ini mungkin melibatkan pemalar integer, parameter dan
fungsi intrinsik yang dinilai.) Fungsi LEN dinilai jika hujahnya
ungkapan yang hanya melibatkan pemalar aksara dan pembolehubah yang panjangnya tidak
boleh laras. Fungsi ICHAR dan INDEX dinilai hanya jika hujahnya
pemalar watak. ftnchek memberi amaran jika ia memerlukan nilai beberapa
fungsi intrinsik yang tidak dinilai.

BAHARU CIRI-CIRI


Berikut ialah perubahan daripada Versi 3.2 kepada Versi 3.3:

1. Bahagian hadapan telah ditulis semula untuk pandangan ke hadapan tanpa had, menghapuskan pepijat yang telah lama wujud
yang menyebabkan tafsiran yang salah terhadap kenyataan yang kesamarannya tidak diselesaikan
baris pertama.

2. The -mkhtml pilihan kini tersedia dalam versi MS-DOS.

3. Menambah sokongan untuk sintaks berkaitan penuding Fortran 90: PERUNTUKKAN, NYAHPERUNTUKAN dan NULLIFY
kenyataan; atribut BOLEH DIPERUNTUKAN, PENUNJUK dan TARGET dalam pengisytiharan jenis; yang
operator penugasan penunjuk => dan fungsi intrinsik DIPERUNTUKAN dan BERKAITAN; dan
pengisytiharan tatasusunan bentuk tertunda. Pada masa ini ciri sintaks baharu ini diterima
tetapi tidak disemak dengan betul. Ciri ini telah ditambah oleh Robert Landrito.

4. The -f77 and -f90 penunjuk pilihan mengawal amaran tentang ``Petunjuk Cray'' telah
dinamakan semula kepada cray-pointer. Yang -f77=penunjuk pilihan sekarang sebaliknya mengawal amaran untuk
kod yang mengandungi sintaks berkaitan penuding Fortran 90.

5. Dilaksana semula -mkhtml pemprosesan jadi ia kini lebih pantas pada fail sumber yang mengandungi
banyak rutin.

6. Mengubah susunan direktori ujian supaya tidak ada lagi keperluan untuk mengubah suai
pengedaran untuk menjalankan suite ujian (semak.kelawar) di bawah MS-DOS.

7. Membetulkan pepijat dalam membaca tetapan berangka pada baris arahan apabila nama tetapan disingkatkan kepada
3 watak.

8. Membetulkan pepijat yang menyebabkan amaran palsu untuk GOTO yang merujuk kepada pernyataan END berlabel
apabila pernyataan sebelum TAMAT adalah FORMAT.

9. Bendera baru -f77=perwatakan untuk mengawal amaran tentang sambungan kepada Fortran 77
jenis data aksara. Mengiringi bendera baharu ini ialah sokongan untuk peraturan Fortran 90 untuk
pengisytiharan pembolehubah aksara yang menilai kepada panjang sifar atau negatif, membenarkan
mereka dan menganggap nilai panjang negatif sebagai sifar.

10. Membetulkan pepijat kecil dalam pencetakan komen dan baris kosong berikutan penyataan TAMAT terakhir
in - senarai mod.

Gunakan ftnchek dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    Kurungan
    Kurungan
    Brackets ialah sumber terbuka moden yang percuma
    penyunting teks yang dibuat khas untuk Web
    Pembangunan. Ditulis dalam HTML, CSS dan
    JavaScript dengan alat visual terfokus dan
    persiapan...
    Muat turun Kurungan
  • 2
    Penyusun Pascal Percuma
    Penyusun Pascal Percuma
    Pengkompil Pascal 32/64/16-bit untuk
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS dan DOS;
    serasi secara semantik dengan...
    Muat turun Penyusun Pascal Percuma
  • 3
    Maklumat DIGITAL Canon EOS
    Maklumat DIGITAL Canon EOS
    Canon tidak mempunyai kiraan pengatup
    disertakan pada maklumat EXIF ​​an
    fail imej, berbanding Nikon dan
    Pentax. Tiada rasmi berasaskan Canon
    permohonan ...
    Muat turun Maklumat DIGITAL Canon EOS
  • 4
    SEMAKAN semula
    SEMAKAN semula
    rEFInd ialah garpu but rEFIt
    pengurus. Seperti REFIt, REFInd boleh
    auto-kesan but EFI anda yang dipasang
    pemuat dan ia membentangkan GUI yang cantik
    menu pilihan but...
    Muat turun REFInd
  • 5
    ExpressLuke GSI
    ExpressLuke GSI
    Halaman muat turun SourceForge ini adalah untuk
    berikan pengguna untuk memuat turun sumber terbina saya
    GSI, berdasarkan kehebatan phhusson
    kerja. Saya membina kedua-dua Android Pie dan
    Android 1...
    Muat turun ExpressLuke GSI
  • 6
    Kastor Muzik
    Kastor Muzik
    Music Caster ialah pemain muzik dulang
    yang membolehkan anda menghantar muzik tempatan anda ke a
    Peranti Google Cast. Pada larian pertama,
    anda perlu mengklik anak panah dalam anda
    tas...
    Muat turun Music Caster
  • Lebih »

Arahan Linux

Ad