ftnchek - ອອນລາຍໃນຄລາວ

ນີ້ແມ່ນຄໍາສັ່ງ ftnchek ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


ftnchek - ຕົວກວດສອບໂຄງການ Fortran 77

ສະຫຼຸບສັງລວມ


ftnchek [ - ການໂຕ້ຖຽງ[=ບັນຊີລາຍຊື່] ] [ -ອາເຣ[=ບັນຊີລາຍຊື່] ]
[ -[no]ສັ້ນ ] [ - calltree[=ບັນຊີລາຍຊື່] ] [ -[no]ໃຫ້​ກວດ​ເບິ່ງ ]
[ - ຖັນ[=num] ] [ - ທົ່ວໄປ[=ບັນຊີລາຍຊື່] ]
[ -[no]crossref[=ບັນຊີລາຍຊື່] ] [ -[no]ປະກາດ ]
[ -[no]ພະແນກ ] [ - ຄວາມ​ຜິດ​ພາດ​[=num] ] [ -[no]ພາຍນອກ ]
[ -[no]f77[=ບັນຊີລາຍຊື່] ] [ -[no]f90[=ບັນຊີລາຍຊື່] ]
[ -[no]f95[=ບັນຊີລາຍຊື່] ] [ -[no]ຊ່ວຍເຫຼືອ ]
[ -[no]identifier-chars[=ບັນຊີລາຍຊື່] ] [ -include=str ]
[ - ພາຍໃນ[=ບັນຊີລາຍຊື່] ] [ -[no]ຫ້ອງສະຫມຸດ ] [ -[no]ບັນຊີລາຍຊື່ ]
[ - makedcls[=ບັນຊີລາຍຊື່] ] [ -mkhtml[=ບັນຊີລາຍຊື່] ]
[ -[no]novice ] [ -output=str ]
[ - ຊີ້[=num] ] [ -[no]ການເຄື່ອນທີ່[=ບັນຊີລາຍຊື່] ]
[ -[no]pretty[=ບັນຊີລາຍຊື່] ] [ ໂຄງການ[=ບັນຊີລາຍຊື່] ]
[ -[no]ບໍລິສຸດ ] [ -[no]ງຽບ ] [ -[no]ອ້າງອິງ ]
[ -[no]ຊັບ​ພະ​ຍາ​ກອນ ] [ -[no]ຫົກchar ] [ -[no]ການຈັດລຽງ ]
[ - ແຫຼ່ງ[=ບັນຊີລາຍຊື່] ] [ -ແບບ[=ບັນຊີລາຍຊື່] ] [ -[no]ແຖບສັນຍາລັກ ]
[ -[no]ຕັດອອກ[=ບັນຊີລາຍຊື່] ] [ - ການ​ນໍາ​ໃຊ້​[=ບັນຊີລາຍຊື່] ]
[ -[no]vcg ] [ -[no]ສະບັບພາສາ ] [ -[no]ໄວໄຟ ]
[ - ຂະ​ຫນາດ​ຄໍາ​[=num] ] [ - ຫໍ່[=num] ] [ ໄຟ ... ]

ລາຍລະອຽດ


ftnchek (ຫຍໍ້ມາຈາກ Fortran checker) ຖືກອອກແບບເພື່ອກວດຫາຂໍ້ຜິດພາດບາງຢ່າງໃນ Fortran
ໂປລແກລມທີ່ compiler ມັກຈະບໍ່ມີ. ftnchek ບໍ່ໄດ້ມີຈຸດປະສົງຕົ້ນຕໍເພື່ອກວດພົບ
syntax ຜິດພາດ. ຈຸດປະສົງຂອງມັນແມ່ນເພື່ອຊ່ວຍໃຫ້ຜູ້ໃຊ້ຊອກຫາຄວາມຜິດພາດ semantic. ຄວາມຫມາຍ
ຄວາມຜິດພາດແມ່ນຖືກຕ້ອງຕາມກົດໝາຍໃນພາສາ Fortran ແຕ່ເປັນການເສຍເງິນ ຫຼືອາດເຮັດໃຫ້ບໍ່ຖືກຕ້ອງ
ການດໍາເນີນງານ. ຕົວຢ່າງ, ຕົວແປທີ່ບໍ່ເຄີຍໃຊ້ອາດຈະຊີ້ໃຫ້ເຫັນເຖິງການລະເວັ້ນບາງຢ່າງໃນ
ໂຄງການ; ຕົວແປ uninitialized ມີຂີ້ເຫຍື້ອທີ່ອາດຈະເຮັດໃຫ້ຜົນໄດ້ຮັບທີ່ບໍ່ຖືກຕ້ອງ
ຄິດໄລ່; ແລະຕົວແປທີ່ບໍ່ໄດ້ຖືກປະກາດອາດຈະບໍ່ມີປະເພດຈຸດປະສົງ. ftnchek
ມີຈຸດປະສົງເພື່ອຊ່ວຍເຫຼືອຜູ້ໃຊ້ໃນການແກ້ບັນຫາຂອງໂຄງການ Fortran ຂອງເຂົາເຈົ້າ. ມັນບໍ່ມີຈຸດປະສົງ
ເພື່ອຈັບຄວາມຜິດພາດ syntax ທັງຫມົດ. ນີ້ແມ່ນຫນ້າທີ່ຂອງ compiler. ກ່ອນທີ່ຈະໃຊ້
ftnchek, ຜູ້ໃຊ້ຄວນກວດສອບວ່າໂຄງການລວບລວມຢ່າງຖືກຕ້ອງ.

ເອກະສານນີ້ທໍາອິດສະຫຼຸບວິທີການເອີ້ນ ftnchek. ພາກສ່ວນນັ້ນຄວນອ່ານກ່ອນ
ເລີ່ມ​ຕົ້ນ​ການ​ນໍາ​ໃຊ້​ ftnchek. ພາກສ່ວນຕໍ່ມາອະທິບາຍ ftnchekທາງເລືອກໃນລາຍລະອຽດເພີ່ມເຕີມ, ໃຫ້
ຕົວຢ່າງຂອງການນໍາໃຊ້ຂອງມັນ, ແລະອະທິບາຍວິທີການຕີຄວາມຫມາຍຜົນຜະລິດ. ພາກສ່ວນສຸດທ້າຍ
ກ່າວເຖິງຂໍ້ຈໍາກັດແລະແມງໄມ້ທີ່ຮູ້ຈັກໃນ ftnchek.

ຮຽກຮ້ອງ FTNCHEK


ftnchek ຖືກເອີ້ນໂດຍຜ່ານຄໍາສັ່ງຂອງແບບຟອມ:

$ ftnchek [-option -option ...] filename [filename ...]

ວົງເລັບຊີ້ບອກບາງສິ່ງບາງຢ່າງທີ່ເປັນທາງເລືອກ. ວົງເລັບຕົວເອງບໍ່ແມ່ນ
ພິມຕົວຈິງ. ນີ້ແມ່ນທາງເລືອກໃນການປ່ຽນຄໍາສັ່ງຫຼືການຕັ້ງຄ່າ, ເຊິ່ງຄວບຄຸມ
ການດໍາເນີນງານຂອງໂຄງການແລະຈໍານວນຂໍ້ມູນທີ່ຈະພິມອອກ. ຖ້າບໍ່ມີ
ທາງ​ເລືອກ​ແມ່ນ​ໄດ້​ລະ​ບຸ​ໄວ້​, ການ​ປະ​ຕິ​ບັດ​ໃນ​ຕອນ​ຕົ້ນ​ແມ່ນ​ເພື່ອ​ພິມ​ຂໍ້​ຄວາມ​ຜິດ​ພາດ​, ຄໍາ​ເຕືອນ​, ແລະ​
ຂໍ້​ຄວາມ​ຂໍ້​ມູນ​ຂ່າວ​ສານ​, ແຕ່​ບໍ່​ແມ່ນ​ລາຍ​ການ​ໂຄງ​ການ​ຫຼື​ຕາ​ຕະ​ລາງ​ສັນ​ຍາ​ລັກ​.

ແຕ່ລະຕົວເລືອກເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນ '-'. (ໃນລະບົບ VAX/VMS ຫຼື MS-DOS ທ່ານອາດຈະໃຊ້
ທັງ '/' ຫຼື '-').
ທາງເລືອກຍັງສາມາດເລີ່ມຕົ້ນດ້ວຍ '--'. ທາງ​ເລືອກ​ແມ່ນ​ໄດ້​ອະ​ທິ​ບາຍ​ໃນ​ຄວາມ​ຍາວ​ຫຼາຍ​ກວ່າ​ໃນ​ຕໍ່​ໄປ​
ສ່ວນ.

ftnchek ທາງ​ເລືອກ​ໃນ​ການ​ຕົກ​ເປັນ​ສອງ​ປະ​ເພດ​: ສະ​ຫຼັບ​, ທີ່​ມີ​ຄວາມ​ຈິງ​ຫຼື​ຜິດ​, ແລະ​
ການຕັ້ງຄ່າ, ເຊິ່ງມີຄ່າຕົວເລກ ຫຼືສະຕຣິງ. ຊື່ຂອງສະວິດຖືກນຳໜ້າດ້ວຍ 'ບໍ່'
ຫຼື 'ບໍ່ -' ເພື່ອປິດມັນ: ຕົວຢ່າງ - ບໍ່​ມີ ຈະປິດການເຕືອນໄພກ່ຽວກັບຫນ້າທີ່ບໍ່ສະອາດ.
ຄໍານໍາຫນ້າ 'ບໍ່' ຍັງສາມາດຖືກນໍາໃຊ້ກັບການຕັ້ງຄ່າຕົວເລກ, ເຊິ່ງມີຜົນກະທົບຂອງການປິດ
ຄໍາ​ເຕືອນ​ທີ່​ສອດ​ຄ້ອງ​ກັນ​. ການຕັ້ງຄ່າທີ່ຄວບຄຸມລາຍການຄໍາເຕືອນມີ syntax ພິເສດ
ສົນທະນາຂ້າງລຸ່ມນີ້. ພຽງແຕ່ 3 ຕົວອັກສອນທໍາອິດຂອງຊື່ທາງເລືອກ (ບໍ່ນັບ '-')
ຈໍາເປັນຕ້ອງໄດ້ສະຫນອງໃຫ້. ຈໍ້າສອງເມັດອາດຈະຖືກໃຊ້ແທນເຄື່ອງໝາຍເທົ່າກັບຕົວເລກ ຫຼືສະຕຣິງ
ກໍານົດການມອບຫມາຍ; ແນວໃດກໍ່ຕາມ, ພວກເຮົາສະແດງພຽງແຕ່ຮູບສັນຍາລັກເທົ່າກັບຂ້າງລຸ່ມນີ້.

ສະ​ຫຼັບ​ແລະ​ການ​ຕັ້ງ​ຄ່າ​ທີ່​ ftnchek ການຮັບຮູ້ໃນປັດຈຸບັນມີລາຍຊື່ຂ້າງລຸ່ມນີ້. ສໍາລັບແຕ່ລະຄົນ
ທາງເລືອກ, ຄ່າເລີ່ມຕົ້ນແມ່ນຄ່າທີ່ໃຊ້ຖ້າຕົວເລືອກບໍ່ໄດ້ລະບຸຢ່າງຊັດເຈນ, ໃນຂະນະທີ່
turn-on ແມ່ນຄ່າທີ່ໃຊ້ຖ້າຕົວເລືອກຖືກມອບໃຫ້ໂດຍບໍ່ໄດ້ກຳນົດຄ່າໃຫ້ມັນ.

-arguments=ບັນຊີລາຍຊື່
ຄວບຄຸມການເຕືອນກ່ຽວກັບປະເພດຂອງໂຄງການຍ່ອຍແລະການໂຕ້ຖຽງບໍ່ກົງກັນ. ຄ່າເລີ່ມຕົ້ນ = ເປີດ
= ທັງຫມົດ.

-array=ບັນຊີລາຍຊື່
ຄວບຄຸມການເຕືອນໃນການກວດສອບອາກິວເມັນຂອງໂປຣແກມຍ່ອຍ. ຄ່າເລີ່ມຕົ້ນ = ເປີດ =
ທັງຫມົດ.

- ຫຍໍ້ ໃຊ້ຮູບແບບທີ່ສັ້ນກວ່າສໍາລັບບາງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

-calltree=ບັນຊີລາຍຊື່
ຜະລິດການຈັດລຳດັບການເອີ້ນຂອງໂປຣແກມຍ່ອຍໃນຮູບແບບໜຶ່ງໃນ 3 ຮູບແບບ: text call-tree, who-calls-
ໃຜ ແລະ VCG. ຄ່າເລີ່ມຕົ້ນ = none, turn-on = tree,prune,sort.

ຖ້າ -mkhtml ທາງ​ເລືອກ​ແມ່ນ​ຮຽກ​ຮ້ອງ​ໃຫ້​ມີ​ ແລະ tree ແມ່ນທາງເລືອກ calltree ທີ່ໃຊ້, ໄຟລ໌
ຊື່ວ່າ CallTree.html, ຈະຖືກຜະລິດໂດຍພັນລະນາຕົ້ນໄມ້ໃນຮູບແບບ HTML.

- ກວດ​ສອບ​ ດໍາເນີນການກວດສອບ. ຄ່າເລີ່ມຕົ້ນ = ແມ່ນ.

-columns=num
ກໍານົດຄວາມຍາວເສັ້ນສູງສຸດເປັນ num ຖັນ. (ນອກຈາກນີ້ຈະຖືກລະເລີຍ.) turn-on = max =
132. ຄ່າເລີ່ມຕົ້ນ = 72 .

-common=ບັນຊີລາຍຊື່
ກໍານົດລະດັບຄວາມເຂັ້ມງວດໃນການກວດສອບຕັນ COMMON. ຄ່າເລີ່ມຕົ້ນ = ເປີດ=ທັງໝົດ.

-crossref=ບັນຊີລາຍຊື່
ພິມລາຍການການອ້າງອີງຂ້າມຂອງການໂທໂຄງການຍ່ອຍ, ການໃຊ້ປ້າຍກຳກັບ, ແລະ/ຫຼື ບລັອກທົ່ວໄປ
ໃຊ້. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

- ປະ​ກາດ​
ພິມລາຍຊື່ຕົວລະບຸທັງໝົດທີ່ປະເພດຂໍ້ມູນບໍ່ໄດ້ຖືກປະກາດຢ່າງຈະແຈ້ງ. ຄ່າເລີ່ມຕົ້ນ
= ບໍ່.

- ການ​ແບ່ງ​ປັນ​
ເຕືອນບ່ອນໃດທີ່ການແບ່ງແມ່ນເຮັດ (ຍົກເວັ້ນການແບ່ງໂດຍຄົງທີ່). ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

-errors=num
ກໍານົດຈໍານວນສູງສຸດຂອງຂໍ້ຄວາມຄວາມຜິດພາດຕໍ່ cascade. ຄ່າເລີ່ມຕົ້ນ = ເປີດ = 3.

- ພາຍນອກ
ເຕືອນຖ້າຫາກວ່າໂຄງການຍ່ອຍພາຍນອກທີ່ຖືກຮຽກຮ້ອງແມ່ນບໍ່ເຄີຍຖືກກໍານົດ. ຄ່າເລີ່ມຕົ້ນ = ແມ່ນ.

-f77=ບັນຊີລາຍຊື່
ຄວບຄຸມການເຕືອນສະເພາະກ່ຽວກັບການຂະຫຍາຍທີ່ຮອງຮັບກັບ Fortran 77 Standard.
ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ, ເປີດ=ທັງໝົດ.

-f90=ບັນຊີລາຍຊື່
ຄວບຄຸມການເຕືອນສະເພາະກ່ຽວກັບການຂະຫຍາຍທີ່ຮອງຮັບກັບ Fortran 77 Standard
ທີ່ບໍ່ໄດ້ຖືກຮັບຮອງເອົາເປັນສ່ວນຫນຶ່ງຂອງມາດຕະຖານ Fortran 90. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ, ເປີດ
= ທັງຫມົດ.

-f95=ບັນຊີລາຍຊື່
ຄວບຄຸມການເຕືອນສະເພາະກ່ຽວກັບຄຸນສົມບັດມາດຕະຖານ Fortran 77 ທີ່ຖືກລຶບອອກຈາກ
ມາດຕະຖານ Fortran 95. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ, ເປີດ=ທັງໝົດ.

-ຊ່ວຍ ພິມສະຫຼຸບຄໍາສັ່ງ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

-identifier-chars=ບັນຊີລາຍຊື່
ກຳນົດຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກທີ່ອາດຖືກໃຊ້ໃນຕົວລະບຸ. ຄ່າເລີ່ມຕົ້ນ =
turn-on = ເງິນໂດລາເຊັນແລະຂີດກ້ອງ.

-include=ເສັ້ນທາງ
ກໍານົດໄດເລກະທໍລີເພື່ອຄົ້ນຫາໄຟລ໌ INCLUDE ກ່ອນທີ່ຈະຄົ້ນຫາໃນລະບົບ
ໄດເລກະທໍລີ. ສະສົມ. ຄ່າເລີ່ມຕົ້ນ = ເປີດ = ບໍ່ມີ.

-intrinsic=ບັນຊີລາຍຊື່
ຄວບ​ຄຸມ​ການ​ປະ​ຕິ​ບັດ​ຫນ້າ​ທີ່​ບໍ່​ໄດ້​ມາດ​ຕະ​ຖານ intrinsic​. ຄ່າເລີ່ມຕົ້ນ = ທັງໝົດຍົກເວັ້ນ vms ສໍາລັບການ
ສະບັບ Unix, ທັງຫມົດຍົກເວັ້ນ Unix ສໍາລັບສະບັບ VMS, ທັງຫມົດຍົກເວັ້ນ Unix ແລະ vms ສໍາລັບຄົນອື່ນ
ສະບັບ. ເປີດ=ທັງໝົດ.

- ຫ້ອງ​ສະ​ຫມຸດ​
ເລີ່ມ​ຮູບ​ແບບ​ຫ້ອງ​ສະ​ຫມຸດ​: ບໍ່​ໄດ້​ເຕືອນ​ກ່ຽວ​ກັບ​ໂຄງ​ການ​ຍ່ອຍ​ໃນ​ໄຟລ​໌​ທີ່​ກໍາ​ນົດ​ໄວ້​ແຕ່​
ບໍ່ເຄີຍໃຊ້. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

-list ພິມລາຍການແຫຼ່ງຂອງໂຄງການ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

-makecls=ບັນຊີລາຍຊື່
ກະກຽມເອກະສານປະກາດ. ໄດ້ ບັນຊີລາຍຊື່ ກໍານົດທາງເລືອກສໍາລັບຮູບແບບນີ້
ໄຟລ໌. Default = none, turn-on = ການປະກາດ.

-mkhtml=ບັນຊີລາຍຊື່
ສ້າງໄຟລ໌ເອກະສານ HTML ສ່ວນບຸກຄົນຈາກການວິເຄາະ ftnchek ແລະຄໍາເຫັນລະຫັດ.
ປົກກະຕິແລ້ວທ່ານຍັງຕ້ອງການທີ່ຈະລະບຸ -call=ຕົ້ນໄມ້ ເພື່ອສ້າງໄຟລ໌ HTML ຮາກ
CallTree.html. Default = none, turn-on = ເອກະສານ.

- ຈົວ
ໃຫ້ຜົນຜະລິດທີ່ເຫມາະສົມສໍາລັບຜູ້ໃຊ້ຈົວ. ຄ່າເລີ່ມຕົ້ນ = ແມ່ນ.

-output=ຊື່​ເອ​ກະ​ສານ
ສົ່ງຜົນຜະລິດໄປຫາໄຟລ໌ທີ່ໃຫ້. ຄ່າເລີ່ມຕົ້ນ ແລະເປີດສົ່ງຜົນອອກມາທີ່ໜ້າຈໍ.
(ສ່ວນຂະຫຍາຍຊື່ໄຟລ໌ເລີ່ມຕົ້ນແມ່ນ .lis).

-pointersize=num
ກໍານົດຂະຫນາດຂອງຕົວແປ ``ຕົວຊີ້ Cray'' ເປັນ num ໄບຕ໌. ຕ່ຳສຸດ = 1, ສູງສຸດ = 16.
ຄ່າເລີ່ມຕົ້ນ = ເປີດ = 4

-portability=ບັນຊີລາຍຊື່
ເຕືອນກ່ຽວກັບການໃຊ້ງານທີ່ບໍ່ພົກພາ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ, ເປີດ=ທັງໝົດ.

-pretty=ບັນຊີລາຍຊື່
ໃຫ້​ຄໍາ​ເຕືອນ​ສໍາ​ລັບ​ຮູບ​ລັກ​ສະ​ນະ​ທີ່​ເປັນ​ໄປ​ໄດ້​ເຂົ້າ​ໃຈ​ຜິດ​ຂອງ​ລະ​ຫັດ​ແຫຼ່ງ​. ຄ່າເລີ່ມຕົ້ນ = turn-
on = ທັງຫມົດ.

-ໂຄງການ=ບັນຊີລາຍຊື່
ສ້າງໄຟລ໌ໂຄງການ (ເບິ່ງຄໍາອະທິບາຍຂ້າງລຸ່ມນີ້). ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

- ຮັກສາ ສົມມຸດວ່າຫນ້າທີ່ບໍລິສຸດ, ie ບໍ່ມີຜົນຂ້າງຄຽງ. ຄ່າເລີ່ມຕົ້ນ = ແມ່ນ.

- ງຽບ ຜະລິດຜົນຜະລິດ verbose ຫນ້ອຍລົງ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

- ອ້າງ​ອີງ​
ພິມຕາຕະລາງຂອງໂຄງການຍ່ອຍອ້າງອີງໂດຍແຕ່ລະໂຄງການຍ່ອຍ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

-ຊັບ​ພະ​ຍາ​ກອນ
ພິມຈໍານວນຊັບພະຍາກອນທີ່ໃຊ້ໃນການວິເຄາະໂຄງການ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

- ຫົກ​ຂໍ້​
ບອກຊື່ຕົວແປໃດນຶ່ງທີ່ມີຄວາມຍາວ 6 ຕົວອັກສອນ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

- ຄັດ ພິມລາຍຊື່ໂຄງການຍ່ອຍຈັດຮຽງຕາມລຳດັບທີ່ຕ້ອງການກ່ອນ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

-source=ບັນຊີລາຍຊື່
ເລືອກຕົວເລືອກການຈັດຮູບແບບແຫຼ່ງ: ຮູບແບບຄົງທີ່ ຫຼືຟລີ, DEC Fortran ຮູບແບບແຖບ
ເສັ້ນ, VMS-style INCLUDE statement, UNIX-style backslash ລໍາດັບ escape, ແລະ
ການພິມ implicit ຂອງຕົວກໍານົດການ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ, ເປີດ=ທັງໝົດ.

-style=ບັນຊີລາຍຊື່
ຜະລິດຄໍາເຕືອນແບບພິເສດກ່ຽວກັບໂປຣແກມທີ່ລ້າສະໄຫມ ຫຼືແບບເກົ່າ
ການກໍ່ສ້າງ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ, ເປີດ=ທັງໝົດ.

-symtab
ພິມຕາຕະລາງສັນຍາລັກແລະຕາຕະລາງປ້າຍຊື່ສໍາລັບແຕ່ລະໂຄງການຍ່ອຍ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

-truncation=ບັນຊີລາຍຊື່
ກວດເບິ່ງການສູນເສຍຄວາມຖືກຕ້ອງໂດຍການຕັດອອກ. ຄ່າເລີ່ມຕົ້ນ = ເປີດ=ທັງໝົດ.

-usage=ບັນຊີລາຍຊື່
ຄວບຄຸມການເຕືອນກ່ຽວກັບຕົວແປທີ່ບໍ່ໄດ້ໃຊ້ ຫຼືບໍ່ໄດ້ໃຊ້, ຕັນທົ່ວໄປ, ແລະອື່ນໆ.
ຄ່າເລີ່ມຕົ້ນ = ເປີດ=ທັງໝົດ.

-vcg ຜະລິດຮູບແບບ VCG ຂອງກາຟການໂທ.

-ການປ່ຽນແປງ
ພິມໝາຍເລກສະບັບ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

- ການລະເຫີຍ
ສົມມຸດວ່າບລັອກ COMMON ຈະສູນເສຍຄໍານິຍາມລະຫວ່າງການເປີດໃຊ້ງານ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ. (ໝົດແລ້ວ.
ການນໍາໃຊ້ -common=volatile ແທນ.)

-wordsize=num
ກໍານົດຂະຫນາດຄໍາເລີ່ມຕົ້ນສໍາລັບປະລິມານຕົວເລກທີ່ຈະ num ໄບຕ໌. ຄ່າເລີ່ມຕົ້ນ = ເປີດ =
4 ໄບ.

-wrap=num
ກໍານົດຖັນຜົນຜະລິດທີ່ຈະຫໍ່ຂໍ້ຄວາມຄວາມຜິດພາດຍາວແລະຄໍາເຕືອນຕໍ່ໄປ
ສາຍ. ຖ້າຕັ້ງເປັນ 0, ປິດການຫໍ່. ຄ່າເລີ່ມຕົ້ນ = ເປີດ = 79.

ເມື່ອມີຫຼາຍກວ່າຫນຶ່ງທາງເລືອກຖືກນໍາໃຊ້, ພວກເຂົາຄວນຈະຖືກແຍກອອກໂດຍຊ່ອງຫວ່າງ, ຍົກເວັ້ນ
ລະບົບເຊັ່ນ VMS ທີ່ຕົວເລືອກເລີ່ມຕົ້ນດ້ວຍ slash ( / ). ບໍ່ມີພື້ນທີ່ຫວ່າງອາດຈະຖືກວາງໄວ້
ປະມານເຄື່ອງໝາຍເທົ່າກັບ ( = ) ໃນການຕັ້ງຄ່າ. ftnchek "?" ຈະສ້າງບົດສະຫຼຸບຄໍາສັ່ງ
ລາຍຊື່ຕົວເລືອກ ແລະການຕັ້ງຄ່າທັງໝົດ.

ສໍາລັບການຕັ້ງຄ່າທີ່ເອົາບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນ, ຄື - ການໂຕ້ຖຽງ, -ອາເຣ, - calltree, - ທົ່ວໄປ,
- ອ້າງອີງ, -f77, -f90, -f95, - ພາຍໃນ, - makedcls, -mkhtml, - ພົກພາ, -ງາມ,
ໂຄງການ, - ແຫຼ່ງ, -ແບບ, - ຕັດ, ແລະ - ການ​ນໍາ​ໃຊ້​, ບັນຊີລາຍຊື່ປະກອບດ້ວຍຄໍາສໍາຄັນ
ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ ຫຼືຈໍ້າສອງເມັດ. ຖ້າບັນຊີລາຍຊື່ຂອງຄໍາທີ່ຖືກຍົກເວັ້ນ, ຜົນກະທົບແມ່ນກໍານົດ
ທາງເລືອກຕໍ່ກັບມູນຄ່າເປີດຂອງມັນ (ຄືກັນກັບ ``ທັງໝົດ'' ໃນກໍລະນີຫຼາຍທີ່ສຸດ). ນອກຈາກນີ້, ຖ້າຫາກວ່າບັນຊີລາຍຊື່ແມ່ນ
ຍົກເວັ້ນ, ຊື່ການຕັ້ງຄ່າສາມາດຖືກນໍາຫນ້າດ້ວຍ no or ບໍ່- ເພື່ອປິດຕົວເລືອກທັງຫມົດ
ການຄວບຄຸມ. ຍົກ​ຕົວ​ຢ່າງ, -f77 ເປີດການແຈ້ງເຕືອນທັງໝົດກ່ຽວກັບການກໍ່ສ້າງທີ່ບໍ່ໄດ້ມາດຕະຖານ, ໃນຂະນະທີ່
-nof77 ປິດພວກມັນທັງໝົດ. ສາມຄໍາສໍາຄັນພິເສດແມ່ນ:

ຊ່ວຍເຫຼືອ ພິມອອກຄໍາສໍາຄັນທາງເລືອກທັງຫມົດທີ່ຄວບຄຸມໂດຍການຕັ້ງຄ່າ, ໂດຍຫຍໍ້
ຄໍາອະທິບາຍກ່ຽວກັບຄວາມຫມາຍຂອງເຂົາເຈົ້າ. ຄໍາສໍາຄັນນີ້ບໍ່ສາມາດຖືກໃຫ້ຢູ່ໃນບັນຊີລາຍຊື່ກັບຄົນອື່ນ
ຄໍາສໍາຄັນ.

ທັງຫມົດ ກໍານົດທາງເລືອກທັງຫມົດ. ນີ້ຈະເປີດຕົວເລືອກທັງໝົດທີ່ຄວບຄຸມໂດຍການຕັ້ງຄ່າ.

none ລຶບລ້າງຕົວເລືອກທັງໝົດ. ນີ້ຈະເປັນການປິດຕົວເລືອກທັງໝົດທີ່ຄວບຄຸມໂດຍການຕັ້ງຄ່າ.

ສາມຄໍາພິເສດເຫຼົ່ານີ້ຕ້ອງໄດ້ຮັບການໃຫ້ເຕັມ. ສໍາລັບຄໍາສໍາຄັນອື່ນໆທັງຫມົດ, ພຽງແຕ່ເປັນຈໍານວນຫຼາຍ
ຕົວອັກສອນຂອງຄໍາສໍາຄັນທີ່ມີຄວາມຈໍາເປັນເພື່ອກໍານົດມັນບໍ່ຈໍາເປັນຕ້ອງໃຫ້ຄໍານິຍາມ, ຫຼື a
ຮູບແບບສັນຍາລັກອາດຈະຖືກໃຊ້. ລວມທັງຄໍາສໍາຄັນໃນບັນຊີລາຍຊື່ turns ທີ່ສອດຄ້ອງກັນ
ທາງເລືອກໃນ. ຍົກ​ຕົວ​ຢ່າງ, -f77=ພາຍໃນ ຈະເປີດໃຊ້ພຽງແຕ່ຄໍາເຕືອນກ່ຽວກັບການນໍາໃຊ້
ຟັງຊັນພາຍໃນທີ່ບໍ່ມາດຕະຖານ. ການກຳນົດຄຳນຳໜ້າໂດຍ ບໍ່- ປິດຕົວເລືອກຂອງມັນ. ສໍາລັບ
ຍົກຕົວຢ່າງ, -pretty=ບໍ່ມີເສັ້ນຍາວ ປິດການເຕືອນໄພກ່ຽວກັບແຖວທີ່ເກີນ 72 ຖັນໃນ
ຄວາມ​ຍາວ​ໃນ​ຂະ​ນະ​ທີ່​ອອກ​ຄໍາ​ເຕືອນ​ອື່ນໆ​ທັງ​ຫມົດ​ກ່ຽວ​ກັບ​ຮູບ​ລັກ​ສະ​ນະ​ທີ່​ເຂົ້າ​ໃຈ​ຜິດ​ໃນ​ຜົນ​ກະ​ທົບ​. ຖ້າ ກ
ການຕັ້ງຄ່າມີຄ່າເລີ່ມຕົ້ນ none, ທ່ານສາມາດເປີດທາງເລືອກໃນການທັງຫມົດຍົກເວັ້ນຫນຶ່ງຫຼືສອງໂດຍການນໍາໃຊ້ ທັງຫມົດ
ທໍາອິດ. ຍົກ​ຕົວ​ຢ່າງ, -f77=ທັງໝົດ, ບໍ່ລວມ ເປີດໃຊ້ການເຕືອນກ່ຽວກັບສ່ວນຂະຫຍາຍທີ່ບໍ່ໄດ້ມາດຕະຖານທັງໝົດ
ຍົກເວັ້ນ CLUDE ຖະແຫຼງການ. ຖ້າການຕັ້ງຄ່າມີຄ່າເລີ່ມຕົ້ນ ທັງຫມົດ, ທ່ານສາມາດປິດການເຕືອນໄພທັງຫມົດ
ຍົກ​ເວັ້ນ​ຫນຶ່ງ​ຫຼື​ສອງ​ໂດຍ​ການ​ນໍາ​ໃຊ້​ none ທໍາອິດ. ຍົກ​ຕົວ​ຢ່າງ, -truncation=ບໍ່​ມີ​, ການ​ລົບ​ລ້າງ​ ຈະຫັນ
ປິດຄຳເຕືອນທີ່ກ່ຽວຂ້ອງກັບຄວາມຊັດເຈນທັງໝົດ ຍົກເວັ້ນກ່ຽວກັບການເລື່ອນ. ຮູບແບບສັນຍາລັກແທນປະກອບມີ an
ເຄື່ອງໝາຍດາວເພື່ອຢືນສຳລັບສະຕຣິງຂອງຕົວອັກສອນໃດນຶ່ງ. ຖ້າໃຊ້ຮູບແບບ wildcard, ທັງໝົດ
ການເຕືອນໄພທີ່ກົງກັບມັນໄດ້ຮັບຜົນກະທົບ. ຖ້າ ບໍ່- ແມ່ນ prefixed ກັບຮູບແບບ, ການຈັບຄູ່ທັງຫມົດ
ການເຕືອນໄພຖືກປິດໄວ້, ຖ້າບໍ່ດັ່ງນັ້ນພວກມັນຈະເປີດທັງຫມົດ. ຄວາມຍາວທີ່ບໍ່ຊັດເຈນຂັ້ນຕໍ່າ
ກົດລະບຽບບໍ່ໄດ້ໃຊ້ກັບການຈັບຄູ່ຕົວແທນ. ສໍາລັບຕົວຢ່າງ, ການນໍາໃຊ້ -usage=no-*var* ປິດ
ຄຳເຕືອນທັງໝົດກ່ຽວກັບການນຳໃຊ້ຕົວແປ (ທັງທ້ອງຖິ່ນ ແລະທົ່ວໄປ). (ຜູ້ໃຊ້ Unix ອາດຈະຕ້ອງການ
ອ້າງເຖິງທາງເລືອກໃດໆທີ່ມີ wildcards ເພື່ອປ້ອງກັນບໍ່ໃຫ້ shell ພະຍາຍາມ
ຂະຫຍາຍພວກມັນ.) Wildcards ຖືກຮັບຮູ້ພຽງແຕ່ຢູ່ໃນບັນຊີລາຍຊື່ຂອງຄໍາເຕືອນ, ບໍ່ແມ່ນຢູ່ໃນເທິງ.
ທາງ​ເລືອກ​ໃນ​ລະ​ດັບ​ຂອງ​ຕົນ​ເອງ​.

ເມື່ອ​ໃດ​ ftnchek ເລີ່ມຕົ້ນຂຶ້ນ, ມັນຊອກຫາຕົວແປສະພາບແວດລ້ອມແລະສໍາລັບຄວາມມັກ
ໄຟລ໌. ທາງເລືອກໃດນຶ່ງທີ່ກຳນົດໄວ້ໃນສະພາບແວດລ້ອມ ຫຼືໃນໄຟລ໌ການຕັ້ງຄ່າແມ່ນໃຊ້ເປັນ
ຄ່າເລີ່ມຕົ້ນແທນຄ່າເລີ່ມຕົ້ນໃນຕົວ. ພວກມັນຖືກຂັບໄລ່ຜ່ານເສັ້ນຄຳສັ່ງໃດໆ
ທາງເລືອກ. ເບິ່ງພາກສ່ວນກ່ຽວກັບການປ່ຽນຄ່າເລີ່ມຕົ້ນສຳລັບລາຍລະອຽດກ່ຽວກັບສະພາບແວດລ້ອມ
ທາງ​ເລືອກ​ແລະ​ໄຟລ​໌​ທີ່​ມັກ​.

ເມື່ອຕັ້ງຊື່ຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ, ສ່ວນຂະຫຍາຍແມ່ນເປັນທາງເລືອກ. ຖ້າບໍ່ມີການຂະຫຍາຍ,
ftnchek ທໍາອິດຈະຊອກຫາໄຟລ໌ໂຄງການທີ່ມີນາມສະກຸນ .prj, ແລະຈະໃຊ້ມັນຖ້າມັນ
ມີຢູ່. ຖ້າບໍ່, ຫຼັງຈາກນັ້ນ ftnchek ຈະຊອກຫາໄຟລ໌ແຫຼ່ງ Fortran ທີ່ມີສ່ວນຂະຫຍາຍ .ສໍາລັບ
ສໍາລັບລະບົບ VMS, .f ສໍາລັບລະບົບ UNIX. ສາມາດໃສ່ຊື່ໄຟລ໌ໄດ້ຫຼາຍກວ່າໜຶ່ງອັນ ftnchek,
ແລະມັນຈະປະມວນຜົນໂມດູນໃນທຸກໄຟລ໌ຄືກັບວ່າພວກມັນຢູ່ໃນໄຟລ໌ດຽວ.

Wildcards ແມ່ນອະນຸຍາດໃຫ້ຢູ່ໃນສະເພາະຂອງຊື່ໄຟລ໌ໃນແຖວຄໍາສັ່ງສໍາລັບ VMS
ແລະຮຸ່ນ MS-DOS, ເຊັ່ນດຽວກັນກັບແນ່ນອນພາຍໃຕ້ UNIX ແລະລະບົບອື່ນໆທີ່ປະຕິບັດ
ການຂະຫຍາຍຕົວຂອງ wildcard ໃນໂປເຊດເຊີຄໍາສັ່ງ.

ຖ້າບໍ່ມີຊື່ໄຟລ໌ຖືກໃຫ້, ftnchek ຈະອ່ານວັດສະດຸປ້ອນຈາກວັດສະດຸປ້ອນມາດຕະຖານ.

OPTIONS


ພາກນີ້ສະຫນອງການສົນທະນາລາຍລະອຽດເພີ່ມເຕີມຂອງ ftnchek ຕົວເລືອກແຖວຄໍາສັ່ງ. ທາງເລືອກ
ແລະຊື່ໄຟລ໌ອາດຈະຖືກຕັດກັນຢູ່ໃນເສັ້ນຄໍາສັ່ງ. ທາງເລືອກຫຼາຍທີ່ສຸດແມ່ນຕໍາແຫນ່ງ: ແຕ່ລະຄົນ
ທາງ​ເລືອກ​ຍັງ​ມີ​ຜົນ​ກະ​ທົບ​ຈາກ​ຈຸດ​ທີ່​ມັນ​ໄດ້​ພົບ​ຈົນ​ກ​່​ວາ​ມັນ​ຈະ​ຖືກ overridden ໂດຍ a
ຕໍ່ມາປ່ຽນ. ດັ່ງນັ້ນ, ສໍາລັບການຍົກຕົວຢ່າງ, ບັນຊີລາຍຊື່ອາດຈະຖືກສະກັດກັ້ນສໍາລັບບາງໄຟລ໌ແລະບໍ່ແມ່ນສໍາລັບ
ອື່ນໆ. ຂໍ້ຍົກເວັ້ນແມ່ນ: ໄດ້ - ພາຍໃນ, - ຊີ້, ແລະ - ຂະ​ຫນາດ​ຄໍາ​ ການຕັ້ງຄ່າ, ເຊິ່ງ
ບໍ່​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ປ່ຽນ​ແປງ​ໃນ​ເວ​ລາ​ທີ່​ການ​ປຸງ​ແຕ່ງ​ຂອງ​ໄຟລ​໌​ປ້ອນ​ຂໍ້​ມູນ​ໄດ້​ເລີ່ມ​ຕົ້ນ​; ໄດ້ - ການໂຕ້ຖຽງ, -ອາເຣ,
- calltree, - ທົ່ວໄປ, - ອ້າງອີງ, - ພາຍນອກ, - ອ້າງ​ອີງ​, -ຊັບ​ພະ​ຍາ​ກອນ, - ຄັດ, -vcg, ແລະ - ການລະເຫີຍ
ທາງ​ເລືອກ​, ບ່ອນ​ທີ່​ການ​ປະ​ຕິ​ບັດ​ແມ່ນ​ຂຶ້ນ​ພຽງ​ແຕ່​ກັບ​ມູນ​ຄ່າ​ຂອງ​ທາງ​ເລືອກ​ຫຼັງ​ຈາກ​ການ​ປຸງ​ແຕ່ງ​ຂອງ​
ໄຟລ໌ປ້ອນຂໍ້ມູນສຳເລັດແລ້ວ; ແລະ - ລວມ​ທັງ​ ການຕັ້ງຄ່າ, ເຊິ່ງເປັນສະສົມ.

ຊື່ທາງເລືອກໃນບັນຊີລາຍຊື່ຕໍ່ໄປນີ້ແມ່ນຢູ່ໃນລໍາດັບຕົວອັກສອນ.

-arguments=ບັນຊີລາຍຊື່
ຄວບ​ຄຸມ​ການ​ເຕືອນ​ກ່ຽວ​ກັບ​ຄວາມ​ບໍ່​ກົງ​ກັນ​ລະ​ຫວ່າງ​ການ​ໂຕ້​ຖຽງ​ໂຄງ​ການ​ຍ່ອຍ​ທີ່​ແທ້​ຈິງ​ແລະ dummy​,
ແລະຍັງກ່ຽວກັບການບໍ່ກົງກັນລະຫວ່າງປະເພດໂຄງການຍ່ອຍທີ່ຄາດໄວ້ ແລະຕົວຈິງ. (ຕົວ​ຈິງ
argument ແມ່ນການໂຕ້ຖຽງທີ່ສົ່ງຜ່ານໂຄງການຍ່ອຍໂດຍຜູ້ໂທ; ການໂຕ້ຖຽງ dummy ແມ່ນ
ການໂຕ້ຖຽງທີ່ໄດ້ຮັບໂດຍໂຄງການຍ່ອຍ.) ໂດຍຄ່າເລີ່ມຕົ້ນ, ການເຕືອນໄພທັງໝົດຈະເປີດຢູ່.

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ນັບຕັ້ງແຕ່ທັງຫມົດເຫຼົ່ານີ້
ການ​ເຕືອນ​ໄພ​ແມ່ນ​ຢູ່​ໃນ​ຕອນ​ຕົ້ນ​, ປະ​ກອບ​ມີ​ຄໍາ​ທີ່​ນໍາ​ຫນ້າ​ໂດຍ​ ບໍ່- ປິດ a
ການ​ເຕືອນ​ໄພ​ໂດຍ​ສະ​ເພາະ​. ມີສາມຄໍາພິເສດ: ທັງຫມົດ ເພື່ອເປີດທັງຫມົດ
ຄໍາ​ເຕືອນ​ກ່ຽວ​ກັບ​ການ​ໂຕ້​ຖຽງ​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງ
ຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, - ການໂຕ້ຖຽງ
ເທົ່າກັບ -arguments=ທັງໝົດ, ແລະ -noarguments ເທົ່າກັບ -arguments=ບໍ່ມີ.
ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

arrayness:
ເຕືອນກ່ຽວກັບການບໍ່ສອດຄ່ອງຂອງ arguments ທີ່ເປັນ arrays. ການເຕືອນໄພເຫຼົ່ານີ້ສາມາດ
ໄດ້​ຮັບ​ການ​ຄວບ​ຄຸມ​ຕື່ມ​ອີກ​ໂດຍ​ -ອາເຣ ທາງເລືອກ.

ປະເພດ:
ເຕືອນກ່ຽວກັບການໂຕ້ຖຽງ dummy ຂອງປະເພດຂໍ້ມູນທີ່ແຕກຕ່າງກັນຈາກການໂຕ້ຖຽງຕົວຈິງ.

ປະເພດ ໜ້າ ທີ່:
ເຕືອນຖ້າຫາກວ່າ invocation ຖືວ່າຄ່າຕອບແທນຂອງຟັງຊັນເປັນປະເພດອື່ນ
ກ່ວາມັນເປັນຈິງ. ນອກຈາກນີ້ຍັງເຕືອນຖ້າຫາກວ່າຟັງຊັນຖືກເອີ້ນເປັນ subroutine, ຫຼື
ໃນທາງກັບກັນ.

ຈໍານວນ:
ເຕືອນກ່ຽວກັບການເອີ້ນໂຄງການຍ່ອຍທີ່ມີຈໍານວນການໂຕ້ຖຽງທີ່ແຕກຕ່າງກັນກ່ວາ
ໂຄງການຍ່ອຍຄາດວ່າຈະ.

ສໍາລັບຄວາມເຂົ້າກັນໄດ້ກັບສະບັບທີ່ຜ່ານມາຂອງ ftnchek, ຮູບແບບຕົວເລກນີ້
ການຕັ້ງຄ່າຍັງຖືກຍອມຮັບ: the ບັນຊີລາຍຊື່ ຖືກແທນທີ່ດ້ວຍຕົວເລກຈາກ 0 ຫາ 3. ຄ່າຂອງ
0 ປິດການເຕືອນໄພທັງໝົດ, 1 ເປີດເທົ່ານັ້ນ ຈໍານວນ, 2 ເປີດທັງຫມົດຍົກເວັ້ນ ຈໍານວນ,
ແລະ 3 ເປີດການເຕືອນໄພທັງໝົດ.

ການ​ຕັ້ງ​ຄ່າ​ນີ້​ບໍ່​ໄດ້​ນໍາ​ໃຊ້​ກັບ​ການ​ກວດ​ສອບ invocations ຂອງ​ຫນ້າ​ທີ່​ພາຍ​ໃນ​ຫຼື​
ຟັງຊັນຖະແຫຼງການ, ເຊິ່ງພຽງແຕ່ສາມາດປິດໄດ້ໂດຍ - nocheck ທາງເລືອກ.

ເບິ່ງເພີ່ມເຕີມ: -ອາເຣ, - ຫ້ອງ​ສະ​ຫມຸດ​, - ການ​ນໍາ​ໃຊ້​.

-array=ບັນຊີລາຍຊື່
ຄວບຄຸມລະດັບຄວາມເຂັ້ມງວດໃນການກວດສອບຂໍ້ຕົກລົງລະຫວ່າງຕົວຈິງ ແລະ dummy
arguments ໂຄງການຍ່ອຍທີ່ເປັນ array. ຄໍາເຕືອນທີ່ຄວບຄຸມໂດຍການຕັ້ງຄ່ານີ້ແມ່ນ
ສໍາລັບການກໍ່ສ້າງທີ່ອາດຈະຖືກໃຊ້ຢ່າງຖືກຕ້ອງໂດຍນັກຂຽນໂປລແກລມທີ່ມີຄວາມຮູ້,
ແຕ່ມັນມັກຈະຊີ້ໃຫ້ເຫັນເຖິງຄວາມຜິດພາດຂອງການຂຽນໂປຼແກຼມ. ຕາມຄ່າເລີ່ມຕົ້ນ, ການເຕືອນໄພທັງໝົດຈະຖືກຫັນ
ກ່ຽວ​ກັບ​ການ​.

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ນັບຕັ້ງແຕ່ທັງຫມົດເຫຼົ່ານີ້
ການ​ເຕືອນ​ໄພ​ແມ່ນ​ຢູ່​ໃນ​ຕອນ​ຕົ້ນ​, ປະ​ກອບ​ມີ​ຄໍາ​ທີ່​ນໍາ​ຫນ້າ​ໂດຍ​ ບໍ່- ປິດ a
ການ​ເຕືອນ​ໄພ​ໂດຍ​ສະ​ເພາະ​. ມີສາມຄໍາພິເສດ: ທັງຫມົດ ເພື່ອເປີດທັງຫມົດ
ຄໍາ​ເຕືອນ​ກ່ຽວ​ກັບ​ການ​ໂຕ້​ຖຽງ array​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມ
ບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ,
-ອາເຣ ເທົ່າກັບ -array=ທັງໝົດ, ແລະ -noarray ເທົ່າກັບ -array=none. ໄດ້
ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

ຂະຫນາດ:
ເຕືອນຖ້າຫາກວ່າການໂຕ້ຖຽງແຕກຕ່າງກັນໃນຈໍານວນຂະຫນາດຂອງເຂົາເຈົ້າ, ຫຼືຖ້າຫາກວ່າຕົວຈິງ
argument ແມ່ນອົງປະກອບ array ໃນຂະນະທີ່ dummy argument ເປັນ array ທັງຫມົດ.

ຂະຫນາດ:
ເຕືອນຖ້າຫາກວ່າທັງສອງ argument ແມ່ນ arrays, ແຕ່ມັນແຕກຕ່າງກັນໃນຈໍານວນຂອງອົງປະກອບ.

ສໍາລັບຄວາມເຂົ້າກັນໄດ້ກັບສະບັບທີ່ຜ່ານມາຂອງ ftnchek, ຮູບແບບຕົວເລກນີ້
ການຕັ້ງຄ່າຍັງຖືກຍອມຮັບ: the ບັນຊີລາຍຊື່ ຖືກແທນທີ່ດ້ວຍຕົວເລກຈາກ 0 ຫາ 3. ຄ່າຂອງ
0 ປິດການເຕືອນໄພທັງໝົດ, 1 ເປີດເທົ່ານັ້ນ ຂະຫນາດ, 2 ເປີດພຽງແຕ່ ຂະຫນາດ, ແລະ
3 ເປີດການເຕືອນໄພທັງໝົດ.

ໝາຍເຫດ: ມີການເຕືອນສະເໝີໂດຍບໍ່ຄໍານຶງເຖິງການຕັ້ງຄ່ານີ້ ຖ້າມີການໂຕ້ຖຽງຕົວຈິງ
ແມ່ນ array ໃນຂະນະທີ່ການໂຕ້ຖຽງ dummy ແມ່ນຕົວແປ scalar, ຫຼືຖ້າຕົວຈິງ.
argument ແມ່ນຕົວແປ scalar ຫຼື expression ໃນຂະນະທີ່ dummy argument ເປັນ array.
ກໍລະນີເຫຼົ່ານີ້ແມ່ນບໍ່ຄ່ອຍຕັ້ງໃຈ. (ເພື່ອປິດການເຕືອນເຫຼົ່ານີ້, ໃຫ້ໃຊ້
-arguments=no-arrayness.) ບໍ່​ມີ​ການ​ເຕືອນ​ໄພ​ແມ່ນ​ເຄີຍ​ໄດ້​ຮັບ​ຖ້າ​ຫາກ​ວ່າ​ການ​ໂຕ້​ຖຽງ​ຕົວ​ຈິງ​ແມ່ນ an
ອົງປະກອບ array ໃນຂະນະທີ່ການໂຕ້ຖຽງ dummy ແມ່ນຕົວແປ scalar. ຂະໜາດຕົວແປ
arrays ແລະ arrays ຂະຫນາດທີ່ມີ 1 ຫຼືດາວກົງກັບຈໍານວນຂອງ array ໃດ
ອົງປະກອບ. ບໍ່ມີການກວດສອບວ່າອະເຣຫຼາຍມິຕິລະດັບຕົກລົງໃນຂະຫນາດຫຼືບໍ່
ຂອງແຕ່ລະມິຕິແຍກຕ່າງຫາກ.

ເບິ່ງເພີ່ມເຕີມ: - ການໂຕ້ຖຽງ, - ຫ້ອງ​ສະ​ຫມຸດ​, - ການ​ນໍາ​ໃຊ້​.

- ຫຍໍ້
ເລືອກຮູບແບບທີ່ສັ້ນກວ່າສໍາລັບບາງຂໍ້ຄວາມເຕືອນ. ໃນປັດຈຸບັນ, ການເຕືອນໄພພຽງແຕ່
ຄວບຄຸມໂດຍທຸງນີ້ແມ່ນສິ່ງທີ່ຖືກພິມອອກໃນຕອນທ້າຍຂອງການປຸງແຕ່ງແຕ່ລະຄົນ
ໂຄງການຍ່ອຍ. ເຫຼົ່ານີ້ລວມມີຄໍາເຕືອນກ່ຽວກັບຕົວແປທີ່ຖືກກໍານົດແຕ່ບໍ່ໄດ້ໃຊ້ຫຼື
ຖືກນໍາໃຊ້ກ່ອນກໍານົດ, ຊື່ຕົວແປທີ່ບໍ່ສອດຄ່ອງກັບມາດຕະຖານ Fortran 77,
ແລະອື່ນໆ (ຄໍາເຕືອນເຫຼົ່ານີ້ອາດຈະຖືກສະກັດກັ້ນທັງຫມົດຂຶ້ນຢູ່ກັບທຸງອື່ນໆ, ເຊັ່ນ:
ໄດ້ - ການ​ນໍາ​ໃຊ້​ or -f77 flags.) ໃນ​ຮູບ​ແບບ​ເລີ່ມ​ຕົ້ນ​ແຕ່​ລະ​ຕົວ​ປ່ຽນ​ແມ່ນ​ໄດ້​ລະ​ບຸ​ໄວ້​ໃນ a
ເສັ້ນແຍກຕ່າງຫາກ, ພ້ອມກັບຕົວເລກເສັ້ນທີ່ຕົວແປຖືກປະກາດ, ຕັ້ງຫຼື
ໃຊ້, ອີງຕາມລັກສະນະຂອງການເຕືອນໄພ. ຮູບແບບຫຍໍ້ພຽງແຕ່ບອກລາຍຊື່ທັງໝົດ
ຕົວແປທີ່ຄຳເຕືອນນຳໃຊ້, ມີເຖິງ 4 ຕົວແປຕໍ່ແຖວ.

ເບິ່ງເພີ່ມເຕີມ: - ງຽບ.

-calltree=ບັນຊີລາຍຊື່
ສາເຫດ ftnchek ເພື່ອພິມອອກໂຄງສ້າງການໂທຂອງໂຄງການທີ່ສົມບູນ.

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ມີສອງພິເສດ
ຄຳ ສຳ ຄັນ: none ເພື່ອປິດທາງເລືອກທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງທັງຫມົດ
ຄໍາສໍາຄັນທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. (ຄໍາສໍາຄັນ ທັງຫມົດ ເປີດທັງຫມົດ
ທາງເລືອກ, ແຕ່ປົກກະຕິບໍ່ຄວນຖືກນໍາໃຊ້ເພາະວ່າພຽງແຕ່ຮູບແບບດຽວຄວນຈະເປັນ
ລະບຸ.) ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, - calltree ເທົ່າກັບ -calltree=ຕົ້ນໄມ້, ແລະ
-nocalltree ເທົ່າກັບ -calltree=ບໍ່ມີ. ໂດຍຄ່າເລີ່ມຕົ້ນບໍ່ມີການພິມກາຟການໂທ.

ຖ້າຕົວເລືອກ -mkhtml ຖືກເອີ້ນ ແລະ tree ແມ່ນທາງເລືອກ calltree ທີ່ໃຊ້, ໄຟລ໌
ທີ່ມີຊື່ວ່າ CallTree.html, ຍັງຈະຖືກຜະລິດໂດຍພັນລະນາຕົ້ນໄມ້ໃນຮູບແບບ HTML. ນີ້
ໄຟລ໌ເປັນປະໂຫຍດເປັນຈຸດເລີ່ມຕົ້ນສໍາລັບການຊອກຫາໄຟລ໌ HTML ທີ່ອະທິບາຍແຕ່ລະອັນ
ອົງ​ປະ​ກອບ​ຂອງ​ໂຄງ​ການ​.

ຄໍາສໍາຄັນທີ່ຄວບຄຸມວ່າຮູບແບບໃດຖືກນໍາໃຊ້ແມ່ນດັ່ງຕໍ່ໄປນີ້:

ເປັນໄມ້ຢືນຕົ້ນ:
ຜະລິດເສັ້ນສະແດງການໂທໃນຮູບແບບຕົ້ນໄມ້.

ອ້າງອິງ:
ຜະລິດເສັ້ນສະແດງການໂທໃນຮູບແບບ who-calls-who (ຄືກັນກັບ - ອ້າງ​ອີງ​ ສະຫຼັບ).

vcg:
ຜະລິດເສັ້ນສະແດງການໂທໃນຮູບແບບ VCG (ຄືກັນກັບ -vcg ສະຫຼັບ).

ພຽງ​ແຕ່​ຫນຶ່ງ​ໃນ​ຮູບ​ແບບ​ ເປັນໄມ້ຢືນຕົ້ນ, ອ້າງອິງ, ຫຼື vcg ອາດຈະຖືກກໍານົດ.

ຕົວເລືອກການຄວບຄຸມຄໍາຫລັກຕໍ່ໄປນີ້ຜົນກະທົບຕໍ່ຜົນຜະລິດ:

ໝາກຫຸ່ງ:
ຕັດຕົ້ນໄມ້ຍ່ອຍຊ້ຳໆ (ໃຊ້ໄດ້ກັບ ເປັນໄມ້ຢືນຕົ້ນ). ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ.

ການຈັດລຽງ:
ຮຽງລໍາດັບເດັກນ້ອຍຂອງແຕ່ລະປົກກະຕິເປັນລໍາດັບຕົວອັກສອນ. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ.

ເບິ່ງການສົນທະນາຂອງ - ອ້າງ​ອີງ​ ແລະ -vcg ທຸງສໍາລັບລາຍລະອຽດກ່ຽວກັບການເຫຼົ່ານີ້
ຮູບແບບຕ່າງໆ.

ສໍາລັບການ ເປັນໄມ້ຢືນຕົ້ນ ຮູບແບບ, ເສັ້ນສະແດງການໂທຫາແມ່ນພິມອອກເລີ່ມຕົ້ນຈາກໂຄງການຕົ້ນຕໍ,
ເຊິ່ງລະບຸໄວ້ໃນແຖວທຳອິດຢູ່ຂອບຊ້າຍ. ຫຼັງຈາກນັ້ນ, ໃນສາຍຕໍ່ໄປນີ້,
ແຕ່​ລະ​ກິດ​ຈະ​ກໍາ​ທີ່​ເອີ້ນ​ວ່າ​ໂດຍ​ໂຄງ​ການ​ຕົ້ນ​ຕໍ​ແມ່ນ​ໄດ້​ລະ​ບຸ​ໄວ້​, indented ຊ່ອງ​ບໍ່​ພໍ​ເທົ່າ​ໃດ​, ປະ​ຕິ​ບັດ​ຕາມ​
ໂດຍຕົ້ນໄມ້ຍ່ອຍທີ່ເລີ່ມຕົ້ນຢູ່ທີ່ປົກກະຕິນັ້ນ.

ໃນ​ຮູບ​ແບບ​ການ​ເລີ່ມ​ຕົ້ນ​, ຖ້າ​ຫາກ​ວ່າ​ກິດ​ຈະ​ກໍາ​ຖືກ​ເອີ້ນ​ໂດຍ​ຫຼາຍ​ກ​່​ວາ​ກິດ​ຈະ​ກໍາ​ອື່ນໆ​, ຂອງ​ຕົນ​
call subtree ຖືກພິມອອກພຽງແຕ່ຄັ້ງທໍາອິດທີ່ມັນພົບໃນພາຍຫລັງການໂທໃຫ້ພຽງແຕ່
ຊື່ປົກກະຕິ ແລະແຈ້ງການ ``(ເບິ່ງຂ້າງເທິງ)''. ເພື່ອໃຫ້ຕົ້ນໄມ້ຍ່ອຍຖືກພິມອອກ
ການປະກົດຕົວຂອງແຕ່ລະປົກກະຕິ, ການນໍາໃຊ້ທາງເລືອກ ບໍ່ມີ ໝາກ ໄມ້.

ຈົ່ງຈື່ໄວ້ວ່າຕົ້ນໄມ້ການໂທຈະບໍ່ຄົບຖ້ວນຖ້າຫາກວ່າໄຟລ໌ປ້ອນຂໍ້ມູນໃດໆແມ່ນໂຄງການ
ໄຟລ໌ທີ່ມີຫຼາຍກວ່າຫນຶ່ງໂມດູນທີ່ຖືກສ້າງຂຶ້ນໃນ - ຫ້ອງ​ສະ​ຫມຸດ​ ໂໝດ. ເບິ່ງ
ການສົນທະນາຂອງໄຟລ໌ໂຄງການຂ້າງລຸ່ມນີ້.

ຈຸດທາງວິຊາການ: ແຕ່ລະລາຍການຂອງກິດຈະວັດທີ່ເອີ້ນຕາມປົກກະຕິແມ່ນພິມອອກ
ລໍາດັບຕົວອັກສອນເວັ້ນເສຍແຕ່ວ່າ ບໍ່ຈັດ ທາງເລືອກແມ່ນໃຫ້. ຖ້າຫາກວ່າຫຼາຍໂຄງການຕົ້ນຕໍ
ຖືກພົບເຫັນ, ຕົ້ນໄມ້ການໂທຂອງແຕ່ລະຄົນຖືກພິມແຍກຕ່າງຫາກ. ຖ້າບໍ່ມີໂຄງການຕົ້ນຕໍ
ພົບເຫັນ, ບົດລາຍງານກ່ຽວກັບຜົນກະທົບນັ້ນໄດ້ຖືກພິມອອກ, ແລະຕົ້ນໄມ້ໂທຫາຂອງລະດັບສູງສຸດໃດໆ
ການພິມປົກກະຕິທີ່ບໍ່ແມ່ນຫ້ອງສະຫມຸດ. ທຸງນີ້ຄວບຄຸມພຽງແຕ່ການພິມການໂທ
ຕົ້ນໄມ້: ftnchek ກໍ່ສ້າງຕົ້ນໄມ້ການໂທໃນກໍລະນີໃດກໍ່ຕາມເນື່ອງຈາກວ່າມັນຖືກນໍາໃຊ້ເພື່ອກໍານົດ
ໂມດູນຫ້ອງສະໝຸດໃດຈະຖືກກວດຂ້າມ. ເບິ່ງການສົນທະນາຂອງ - ຫ້ອງ​ສະ​ຫມຸດ​
ທຸງ.

ສໍາລັບຄວາມເຂົ້າກັນໄດ້ກັບສະບັບທີ່ຜ່ານມາຂອງ ftnchek, ຮູບແບບຕົວເລກນີ້
ການຕັ້ງຄ່າຍັງຖືກຍອມຮັບ: the ບັນຊີລາຍຊື່ ຖືກແທນທີ່ດ້ວຍຕົວເລກຈາກ 0 ຫາ 15. ນີ້
ຕົວເລກແມ່ນມາຈາກ 1 ສໍາລັບ ເປັນໄມ້ຢືນຕົ້ນ ຮູບແບບ, 2 ສໍາລັບ ອ້າງອິງ ຮູບແບບ, ຫຼື 3 ສໍາລັບ vcg
ຮູບແບບ, ບວກ 4 ສໍາລັບ ບໍ່ມີ ໝາກ ໄມ້, ແລະ 8 ສຳ ລັບ ບໍ່ຈັດ.

ເບິ່ງເພີ່ມເຕີມ: - ອ້າງອີງ, - ຫ້ອງ​ສະ​ຫມຸດ​, - ອ້າງ​ອີງ​, - ຄັດ, -symtab, -vcg.

- ກວດ​ສອບ​
ສະວິດນີ້ແມ່ນສະຫນອງໃຫ້ເພື່ອວ່າຄວາມຜິດພາດແລະຂໍ້ຄວາມເຕືອນສາມາດປິດໄດ້ໃນເວລາທີ່
ftnchek ແມ່ນໃຊ້ເພື່ອຈຸດປະສົງອື່ນນອກເໜືອໄປຈາກການຊອກຫາຂໍ້ບົກພ່ອງ, ເຊັ່ນ: ການປະກາດ
ຫຼືພິມຕົ້ນໄມ້ການໂທ. ມັນເປັນຕໍາແຫນ່ງ, ດັ່ງນັ້ນຫຼັງຈາກປິດການກວດສອບທັງຫມົດ,
ການກວດສອບທີ່ເລືອກສາມາດເປີດຄືນໄດ້. ຜົນກະທົບຂອງ - nocheck ແມ່ນເພື່ອເອົາທັງຫມົດ
ປຸ່ມສະວິດ, ການຕັ້ງຄ່າຕົວເລກ, ແລະການຕັ້ງຄ່າຄວບຄຸມລາຍການເຕືອນຕໍ່ກັບພວກມັນ
ຄ່າປິດ, ຄືກັບວ່າພວກມັນຖືກລະບຸໄວ້ທັງໝົດດ້ວຍ -no prefix. ສະວິດ
ແລະການຕັ້ງຄ່າທີ່ລະບຸທາງເລືອກແລະຮູບແບບການດໍາເນີນງານ, ແທນທີ່ຈະຄວບຄຸມ
ການເຕືອນໄພ, ບໍ່ໄດ້ຮັບຜົນກະທົບ. ພວກ​ນີ້​ແມ່ນ - ຖັນ, - ອ້າງອີງ, - ລວມ​ທັງ​, - ພາຍໃນ,
- ຫ້ອງ​ສະ​ຫມຸດ​, -list, - makedcls, - ຈົວ, - ຜົນ​ຜະ​ລິດ​, - ຊີ້, ໂຄງການ, - ງຽບ,
- ອ້າງ​ອີງ​, -ຊັບ​ພະ​ຍາ​ກອນ, - ຄັດ, - ແຫຼ່ງ, -symtab, -vcg, -ການປ່ຽນແປງ, - ຂະ​ຫນາດ​ຄໍາ​, ແລະ
- ຫໍ່. ຄ່າເລີ່ມຕົ້ນ = ແມ່ນ.

ຄວາມ​ຜິດ​ພາດ Parse (ຄວາມ​ຜິດ​ພາດ syntax ອັນ​ເນື່ອງ​ມາ​ຈາກ​ການ​ບໍ່​ຮັບ​ຮູ້​ຫຼື​ການ​ແຈ້ງ​ການ​ຜິດ​ຮູບ​ແບບ​) ບໍ່​ແມ່ນ
ສະກັດກັ້ນໂດຍການສະຫຼັບນີ້, ເນື່ອງຈາກວ່າຜົນໄດ້ຮັບອາດຈະບໍ່ຖືກຕ້ອງຖ້າຫາກວ່າ ftnchek ຍັງບໍ່ທັນໄດ້
ວິເຄາະໂຄງການຢ່າງຖືກຕ້ອງ.

ມີ​ບາງ​ຂໍ້​ຜິດ​ພາດ​ອື່ນໆ​ແລະ​ຂໍ້​ຄວາມ​ເຕືອນ​ໄພ​ທີ່​ບໍ່​ໄດ້​ຖືກ​ຄວບ​ຄຸມ​ໂດຍ​
ສະວິດອື່ນໃດ, ແລະດັ່ງນັ້ນສາມາດປິດໄດ້ພຽງແຕ່ໂດຍສະວິດນີ້. ໃຫ້ສັງເກດວ່າການນໍາໃຊ້
- ກວດ​ສອບ​ ດັ່ງຕໍ່ໄປນີ້ - nocheck ພຽງແຕ່ມີຜົນກະທົບຂອງການຫັນຄໍາເຕືອນພິເສດເຫຼົ່ານີ້
ກັບຄືນມາ, ແລະບໍ່ໄດ້ຟື້ນຟູການກວດສອບທັງຫມົດທີ່ມັນຖືກປິດ. ຄຳເຕືອນເຫຼົ່ານີ້ແມ່ນ:

o ໂມດູນບໍ່ມີຄໍາຖະແຫຼງທີ່ປະຕິບັດໄດ້.

o ໃນ​ຮູບ​ແບບ​ແຫຼ່ງ​ຟຣີ​, ຊ່ອງ​ທີ່​ຂາດ​ຫາຍ​ໄປ​ບ່ອນ​ທີ່​ຕ້ອງ​ການ (ເຊັ່ນ​ລະ​ຫວ່າງ a
ຄໍາສໍາຄັນແລະຕົວລະບຸ) ຫຼືຊ່ອງຫວ່າງທີ່ບໍ່ມີໃຜຖືກອະນຸຍາດ (ເຊັ່ນ: ພາຍໃນ
ຕົວລະບຸຕົວຕົນ).

o ຂໍ້ກໍາຫນົດຄວາມຍາວເປັນສູນ ຫຼືລົບໃນການປະກາດປະເພດຂໍ້ມູນຂອງແບບຟອມ
ປະເພດ*len.

o ໂຕປະຕິບັດການບໍ່ຖືກຕ້ອງໃນການສະແດງຜົນ.

o Array ມອບຫມາຍໃຫ້ scalar.

o ພິມບໍ່ກົງກັນລະຫວ່າງ DO index ແລະ bounds.

o ບລັອກທົ່ວໄປທີ່ບໍ່ໄດ້ກຳນົດທີ່ປະກາດໄວ້ໃນຖະແຫຼງການ SAVE.

o ຟັງຊັນພາຍໃນທີ່ປະກາດຢ່າງຈະແຈ້ງກັບປະເພດທີ່ບໍ່ເຂົ້າກັນໄດ້.

o ຟັງຊັນພາຍໃນທີ່ບໍ່ຮູ້ຈັກປະກາດຢ່າງຈະແຈ້ງໃນຄຳຖະແຫຼງພາຍໃນ.

o ຟັງຊັນພາຍໃນທີ່ຜ່ານເປັນການໂຕ້ຖຽງໂຄງການຍ່ອຍບໍ່ໄດ້ຖືກປະກາດເປັນ
ຖະແຫຼງການ INTRINSIC.

o ການທໍາງານຂອງພາຍໃນຫຼືການທໍາງານຂອງຄໍາຖະແຫຼງ invoked ບໍ່ຖືກຕ້ອງ.

o ຟັງຊັນບໍ່ໄດ້ກໍານົດຄ່າກັບຄືນກ່ອນຄໍາຖະແຫຼງທີ່ RETURN.

o ຄ່າຄົງທີ່ພາຣາມິເຕີບໍ່ໄດ້ປະເມີນ (ນີ້ແມ່ນ ftnchekຄວາມຜິດຂອງ, ແລະມັນເປັນພຽງແຕ່
ແຈ້ງໃຫ້ເຈົ້າຮູ້ຄວາມຈິງ).

o ຈຸດເຂົ້າຂອງໂປຣແກມຍ່ອຍຕໍ່ມາຖືກໃຊ້ເປັນຊື່ໂປຣແກມຍ່ອຍທີ່ແຕກຕ່າງກັນ.

o ຄໍາສໍາຄັນທີ່ບໍ່ຮູ້ຈັກໃຊ້ໃນຄໍາຖະແຫຼງການ I/O.

o ການອ້າງອິງປ້າຍຊື່ທີ່ຜິດກົດໝາຍ (ເຊັ່ນ: GOTO ຫມາຍເຖິງຄໍາຖະແຫຼງທີ່ບໍ່ສາມາດປະຕິບັດໄດ້; I/O
ຄໍາຖະແຫຼງທີ່ຫມາຍເຖິງຄໍາຖະແຫຼງທີ່ບໍ່ມີຮູບແບບ).

ເບິ່ງເພີ່ມເຕີມ: - ຄວາມ​ຜິດ​ພາດ​.

-columns=num
ກໍານົດຄວາມຍາວຂອງຄໍາຖະແຫຼງທີ່ສູງສຸດເປັນ num ຖັນ. (ນອກຈາກນີ້ຖືກລະເລີຍ.) ນີ້
ການ​ຕັ້ງ​ຄ່າ​ແມ່ນ​ໄດ້​ສະ​ຫນອງ​ໃຫ້​ເພື່ອ​ອະ​ນຸ​ຍາດ​ໃຫ້​ການ​ກວດ​ສອບ​ຂອງ​ໂຄງ​ການ​ທີ່​ອາດ​ຈະ​ລະ​ເມີດ Fortran ໄດ້​
ຂີດຈຳກັດມາດຕະຖານຂອງ 72 ຖັນສຳລັບຄວາມຍາວຂອງຄຳຖະແຫຼງ. ອີງ​ຕາມ​ການ
ມາດຕະຖານ, ຕົວອັກສອນທັງໝົດໃນຖັນ 72 ຜ່ານມາຖືກລະເລີຍ. ຖ້າການຕັ້ງຄ່ານີ້ຖືກໃຊ້ເມື່ອໃດ
ໄດ້ -f77=ເສັ້ນຍາວ ທາງ​ເລືອກ​ແມ່ນ​ມີ​ຜົນ​ກະ​ທົບ​, ການ​ເຕືອນ​ໄພ​ຈະ​ໄດ້​ຮັບ​ການ​ສໍາ​ລັບ​ສາຍ​ໃດ​ຫນຶ່ງ​ໃນ​
ຕົວອັກສອນໃດແດ່ທີ່ຜ່ານຖັນ 72 ຖືກປະມວນຜົນ. Turn-on = max = 132. Default = 72.

ການ​ຕັ້ງ​ຄ່າ​ນີ້​ບໍ່​ໄດ້​ລະ​ບຸ​ຄໍາ​ເຕືອນ​ກ່ຽວ​ກັບ​ການ​ມີ​ຕົວ​ອັກ​ສອນ​ນອກ​ເຫນືອ​ໄປ​
ຖັນ 72. ເພື່ອປະມວນຜົນລະຫັດດ້ວຍຂໍ້ຄວາມໂປຣແກຣມທີ່ມີຄວາມຫມາຍເກີນຖັນ 72, ໃຫ້ໃຊ້ອັນນີ້
ການຕັ້ງຄ່າແລະໃຫ້ແນ່ໃຈວ່າ -f77 ເສັ້ນຍາວ ທາງເລືອກປິດ. ເພື່ອປະມວນຜົນລະຫັດດ້ວຍ
ຕົວເລກລໍາດັບໃນຖັນ 73 ຫາ 80, ອອກຈາກຖັນທີ່ຕັ້ງໄວ້ໃນຕອນຕົ້ນ
ມູນຄ່າແລະນໍາໃຊ້ -pretty=ບໍ່ມີເສັ້ນຍາວ ທຸງ.

ເບິ່ງເພີ່ມເຕີມ: -f77, -ງາມ.

-common=ບັນຊີລາຍຊື່
ການຕັ້ງຄ່ານີ້ຄວບຄຸມຄວາມເຂັ້ມງວດຂອງການກວດສອບຕັນ COMMON. ໂດຍຄ່າເລີ່ມຕົ້ນ, ທັງຫມົດ
ການ​ເຕືອນ​ໄພ​ຍົກ​ເວັ້ນ​ ໄວໄຟ ແມ່ນໄດ້ຫັນສຸດ.

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ນັບຕັ້ງແຕ່ສ່ວນໃຫຍ່ເຫຼົ່ານີ້
ການ​ເຕືອນ​ໄພ​ແມ່ນ​ຢູ່​ໃນ​ຕອນ​ຕົ້ນ​, ປະ​ກອບ​ມີ​ຄໍາ​ທີ່​ນໍາ​ຫນ້າ​ໂດຍ​ ບໍ່- ປິດ a
ການ​ເຕືອນ​ໄພ​ໂດຍ​ສະ​ເພາະ​. ມີສາມຄໍາພິເສດ: ທັງຫມົດ ເພື່ອເປີດທັງຫມົດ
ຄຳ ເຕືອນ, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດ
ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, - ທົ່ວໄປ ເທົ່າກັບ
-common=dimensions,ແນ່ນອນ,ຄວາມຍາວ,ປະເພດ, ແລະ - ບໍ່ທຳມະດາ ເທົ່າກັບ -common=none.
ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

ຂະຫນາດ:
arrays ທີ່ສອດຄ້ອງກັນໃນແຕ່ລະການປະກາດຂອງຕັນຕ້ອງຕົກລົງໃນຂະຫນາດແລະ
ຈໍາ​ນວນ​ຂະ​ຫນາດ​. ຕົວເລືອກນີ້ມີຜົນກະທົບພຽງແຕ່ເມື່ອໃຊ້ຮ່ວມກັນກັບ
ຢ່າງແທ້ຈິງ.

ຢ່າງແທ້ຈິງ:
ການປຽບທຽບສອງທ່ອນໄມ້ແມ່ນເຮັດແບບປ່ຽນແປງໄດ້ໂດຍຕົວແປແທນທີ່ຈະເປັນແບບງ່າຍໆ
ຮຽກຮ້ອງໃຫ້ມີຂໍ້ຕົກລົງລະຫວ່າງສະຖານທີ່ເກັບຮັກສາທີ່ສອດຄ້ອງກັນ. ໃຊ້ນີ້ຖ້າທັງຫມົດ
ການປະກາດຂອງຕັນ COMMON ທີ່ໃຫ້ມາແມ່ນສົມມຸດວ່າຄືກັນ, ເຊິ່ງແມ່ນ a
ການປະຕິບັດການຂຽນໂປຼແກຼມທີ່ດີ.

ຄວາມຍາວ:
ເຕືອນຖ້າຫາກວ່າການປະກາດທີ່ແຕກຕ່າງກັນຂອງຕັນດຽວກັນບໍ່ເທົ່າທຽມກັນໃນຄວາມຍາວທັງຫມົດ.
ມາດຕະຖານ Fortran 77 ຮຽກຮ້ອງໃຫ້ມີແຕ່ລະ block ທີ່ມີຊື່, ແຕ່ບໍ່ແມ່ນ blank common,
ເພື່ອໃຫ້ມີຄວາມຍາວດຽວກັນໃນທຸກໂມດູນຂອງໂຄງການ.

ປະເພດ:
ໃນ​ແຕ່​ລະ​ການ​ປະ​ກາດ​ຂອງ​ຕັນ COMMON ທີ່​ໃຫ້​, ສະ​ຖານ​ທີ່​ຄວາມ​ຊົງ​ຈໍາ​ທີ່​ສອດ​ຄ້ອງ​ກັນ​
(words ຫຼື bytes) ຕ້ອງຕົກລົງເຫັນດີໃນປະເພດຂໍ້ມູນ. ຖ້າໃຊ້ຮ່ວມກັບ ຢ່າງແທ້ຈິງ, ນີ້
ຈະຮຽກຮ້ອງໃຫ້ຕົວແປທີ່ສອດຄ້ອງກັນຕົກລົງໃນປະເພດຂໍ້ມູນ.

ໄວໄຟ:
ສົມມຸດວ່າ COMMON blocks ມີຄວາມຜັນຜວນ.

ຜູ້ຂຽນໂປລແກລມ Fortran ຫຼາຍຄົນສົມມຸດວ່າຕົວແປ, ບໍ່ວ່າຈະຢູ່ໃນທ້ອງຖິ່ນຫຼືໃນ COMMON, ແມ່ນ
static, ie ວ່າເມື່ອໄດ້ມອບຫມາຍມູນຄ່າ, ພວກເຂົາເຈົ້າຮັກສາມູນຄ່ານັ້ນຢ່າງຖາວອນຈົນກ່ວາ
ກໍານົດຄ່າທີ່ແຕກຕ່າງກັນໂດຍໂຄງການ. ຢ່າງໃດກໍຕາມ, ໃນຄວາມເປັນຈິງ Fortran 77
ມາດຕະຖານບໍ່ຈໍາເປັນຕ້ອງເປັນກໍລະນີ. ຕົວແປທ້ອງຖິ່ນອາດຈະກາຍເປັນ
ບໍ່ໄດ້ກໍານົດລະຫວ່າງການເປີດໃຊ້ງານຂອງໂມດູນທີ່ພວກມັນຖືກປະກາດ. ເຊັ່ນດຽວກັນ,
ຕັນ COMMON ອາດຈະກາຍເປັນບໍ່ໄດ້ກໍານົດຖ້າຫາກວ່າບໍ່ມີໂມດູນທີ່ເຂົາເຈົ້າໄດ້ຖືກປະກາດ
ມີການເຄື່ອນໄຫວ. (ຄໍາສັບທາງວິຊາການສໍາລັບຫນ່ວຍງານທີ່ມີພຶດຕິກໍານີ້ແມ່ນ "ອັດຕະໂນມັດ", ແຕ່
ftnchek ໃຊ້ ຄຳ ວ່າ ``volatile'' ເພາະວ່າມັນຈະແຈ້ງກວ່າກັບ nonspecialist.) ເທົ່ານັ້ນ
ຕັນ COMMON ປະກາດໃນຖະແຫຼງການ SAVE, ຫຼືປະກາດໃນໂຄງການຕົ້ນຕໍຫຼືໃນ
block data subprogram ຍັງຄົງຖືກກໍານົດຕາບໃດທີ່ໂຄງການກໍາລັງເຮັດວຽກ. ຕົວແປ
ແລະຕັນທົ່ວໄປທີ່ສາມາດກາຍເປັນ undefined ໃນບາງຈຸດແມ່ນເອີ້ນວ່າການຜັນຜວນ.

ຖ້າ -common=volatile ເປີດທຸງແລ້ວ, ftnchek ຈະເຕືອນທ່ານຖ້າຫາກວ່າມັນພົບເຫັນ a
ບລັອກ COMMON ທີ່ປ່ຽນແປງໄດ້. ຖ້າຫາກວ່າ, ໃນເວລາດຽວກັນ, ໄດ້ -usage=com-block-volatile ທາງເລືອກ
ເປີດ (ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ), ftnchek ຈະພະຍາຍາມກວດເບິ່ງວ່າຕັນດັ່ງກ່າວ
ສາມາດສູນເສຍສະຖານະທີ່ກໍານົດໄວ້ລະຫວ່າງການເປີດໃຊ້ງານຂອງໂມດູນທີ່ມັນຢູ່
ປະກາດ. ftnchek ບໍ່ໄດ້ເຮັດວຽກທີ່ດີຫຼາຍຂອງເລື່ອງນີ້: ກົດລະບຽບທີ່ໃຊ້ແມ່ນເພື່ອເຂົ້າໄປເບິ່ງ
ບໍ່ວ່າທ່ອນໄມ້ຖືກປະກາດຢູ່ໃນສອງຕົ້ນໄມ້ຍ່ອຍທີ່ແຍກອອກຈາກຕົ້ນໄມ້ການໂທ. ສໍາລັບ
ຕົວຢ່າງ, ນີ້ແມ່ນກໍລະນີຖ້າຫາກວ່າສອງໂມດູນ, ທັງສອງເອີ້ນວ່າຈາກໂຄງການຕົ້ນຕໍ,
ແບ່ງປັນບລັອກ COMMON ທີ່ປ່ຽນແປງໄດ້. ບລັອກສາມາດກາຍເປັນທີ່ບໍ່ໄດ້ກໍານົດລະຫວ່າງສອງ
ໂທຕິດຕໍ່ກັນຂອງໂຄງການຍ່ອຍດຽວກັນ, ແຕ່ ftnchek ບໍ່ສະຫລາດພໍທີ່ຈະບອກ
ບໍ່ວ່າໂຄງການຍ່ອຍສາມາດເອີ້ນໄດ້ຫຼາຍກວ່າຫນຶ່ງຄັ້ງ, ດັ່ງນັ້ນກໍລະນີນີ້ບໍ່ໄດ້ຖືກກວດສອບ.

ໄດ້ -common=volatile ທຸງບໍ່ມີຜົນກະທົບຕໍ່ທາງ ftnchek ກວດ​ສອບ​ການ​ນໍາ​ໃຊ້​ຂອງ​ທ້ອງ​ຖິ່ນ​
ຕົວແປ

ສໍາລັບຄວາມເຂົ້າກັນໄດ້ກັບສະບັບທີ່ຜ່ານມາຂອງ ftnchek, ຮູບແບບຕົວເລກນີ້
ການຕັ້ງຄ່າຍັງຖືກຍອມຮັບ: the ບັນຊີລາຍຊື່ ຖືກແທນທີ່ດ້ວຍຕົວເລກຈາກ 0 ຫາ 3. ຄ່າຂອງ
0 ປິດການເຕືອນໄພທັງໝົດ, ເປີດ 1 ຄັ້ງ ຫຼືຫຼາຍກວ່ານັ້ນ ປະເພດ, ເປີດ 2 ຫຼືຫຼາຍກວ່ານັ້ນ
ຄວາມຍາວ, ແລະ 3 ເປີດ ຂະຫນາດ ແລະ ຢ່າງແທ້ຈິງ ຍັງ. ແບບຟອມຕົວເລກບໍ່ສາມາດເປີດໄດ້
ໄດ້ ໄວໄຟ ທາງເລືອກ.

ເບິ່ງເພີ່ມເຕີມ: - ຫ້ອງ​ສະ​ຫມຸດ​, - ການ​ນໍາ​ໃຊ້​.

-crossref=ບັນຊີລາຍຊື່
ພິມຕາຕະລາງອ້າງອີງຂ້າມ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ຄໍາສໍາຄັນທີ່ມີ
ຄວາມ​ຫມາຍ​ຂອງ​ເຂົາ​ເຈົ້າ​ແມ່ນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

ໂທ:
ຕາຕະລາງລາຍຊື່ແຕ່ລະໂຄງການຍ່ອຍຕິດຕາມດ້ວຍບັນຊີລາຍຊື່ຂອງກິດຈະວັດທີ່ໂທຫາມັນ.
ລາຍຊື່ນີ້ລະເວັ້ນໂມດູນຫ້ອງສະໝຸດທີ່ບໍ່ໄດ້ຢູ່ໃນ call tree ຂອງຫຼັກ
ໂຄງການ. ບັນຊີລາຍຊື່ແມ່ນເປັນຕົວອັກສອນ.

ທົ່ວໄປ:
ຕາຕະລາງສະແດງແຕ່ລະບລັອກ COMMON ຕິດຕາມດ້ວຍລາຍຊື່ຂອງກິດຈະວັດທີ່ເຂົ້າເຖິງ
ມັນ. ປົກກະຕິທີ່ລະບຸໄວ້ເຫຼົ່ານີ້ແມ່ນສິ່ງທີ່ຕົວແປບາງຢ່າງຢູ່ໃນ COMMON
block ແມ່ນເຂົ້າເຖິງ, ບໍ່ແມ່ນພຽງແຕ່ການປົກກະຕິເຫຼົ່ານັ້ນທີ່ປະກາດບລັອກ. (ເຖິງ
ຊອກຫາສິ່ງທີ່ປົກກະຕິປະກາດບລັອກ COMMON ແຕ່ບໍ່ໃຊ້ມັນ, ເບິ່ງ
- ການ​ນໍາ​ໃຊ້​ ທຸງ.)

ປ້າຍກໍາກັບ:
ຕາຕະລາງລາຍຊື່ແຕ່ລະປ້າຍຕິດຕາມດ້ວຍບັນຊີລາຍຊື່ຂອງການອ້າງອີງທັງຫມົດ. ປ້າຍຊື່
ການອ້າງອິງແມ່ນສະແດງໂດຍຕົວເລກເສັ້ນແລະປະເພດຄໍາຖະແຫຼງຂອງການອ້າງອີງ
ຖະແຫຼງການ. ບັນຊີລາຍຊື່ປ້າຍຊື່ແມ່ນຢູ່ໃນລໍາດັບລໍາດັບ. ເອກະສານອ້າງອີງແມ່ນ
ລະບຸໄວ້ໃນລໍາດັບທີ່ເຂົາເຈົ້າພົບໃນໂຄງການ.

ເບິ່ງເພີ່ມເຕີມ: - calltree, - ອ້າງ​ອີງ​, - ຄັດ, -symtab, -vcg.

- ປະ​ກາດ​
ຖ້າທຸງນີ້ຖືກຕັ້ງ, ຕົວລະບຸທັງໝົດທີ່ປະເພດຂໍ້ມູນບໍ່ໄດ້ຖືກປະກາດໃນແຕ່ລະໂມດູນ
ຈະຖືກລະບຸໄວ້. ທຸງນີ້ມີປະໂຫຍດສໍາລັບການຊ່ວຍຊອກຫາຊື່ຕົວແປທີ່ສະກົດຜິດ,
ແລະອື່ນໆ. ລາຍຊື່ດຽວກັນຈະຖືກມອບໃຫ້ຖ້າໂມດູນມີ IMPLICIT NONE
ຖະແຫຼງການ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ເບິ່ງເພີ່ມເຕີມ: - ຫົກ​ຂໍ້​, - ການ​ນໍາ​ໃຊ້​.

- ການ​ແບ່ງ​ປັນ​
ສະວິດນີ້ແມ່ນສະໜອງໃຫ້ເພື່ອຊ່ວຍໃຫ້ຜູ້ໃຊ້ສາມາດຊອກຫາການແບ່ງສ່ວນທີ່ອາດເກີດຂຶ້ນໄດ້ໂດຍບໍ່ມີບັນຫາ. ຖ້າ
ສະວິດນີ້ຖືກເລືອກ, ທຸກພະແນກຍົກເວັ້ນຄ່າຄົງທີ່ຈະຖືກໝາຍໄວ້. (ມັນ
ສົມມຸດວ່າຜູ້ໃຊ້ມີຄວາມສະຫຼາດພໍທີ່ຈະບໍ່ແບ່ງໂດຍຄ່າຄົງທີ່
ເທົ່າກັບສູນ!) Default = no.

ເບິ່ງເພີ່ມເຕີມ: - ພົກພາ, - ຕັດ.

-errors=num
ກໍານົດຈໍານວນສູງສຸດຂອງຂໍ້ຄວາມຄວາມຜິດພາດໃນ ``cascade''. ໃນລະຫວ່າງການກວດກາ
ຂໍ້ຕົກລົງຂອງການໂຕ້ຖຽງໂຄງການຍ່ອຍ, ການປະກາດບລັອກທົ່ວໄປ, ແລະອື່ນໆ,
ບາງຄັ້ງກໍລະນີດຽວຈະສ້າງການເຕືອນໄພຍາວ. ເລື້ອຍໆນີ້ງ່າຍດາຍ
ຊີ້ບອກສາເຫດອື່ນທີ່ບໍ່ແມ່ນຄວາມກົງກັນຂອງລາຍການໂດຍລາຍການຂອງແທ້, ເຊັ່ນ: ສໍາລັບ
ຕົວຢ່າງຕົວແປທີ່ຫາຍໄປຈາກບັນຊີລາຍຊື່ຫນຶ່ງ. ດັ່ງນັ້ນ, ໃນກໍລະນີດັ່ງກ່າວ ftnchek ຢຸດການພິມ
ການເຕືອນໄພຫຼັງຈາກກໍານົດຂອບເຂດ cascade ແມ່ນບັນລຸໄດ້, ແລະ trailer `` etc ... '' ແມ່ນ
ພິມອອກເພື່ອຊີ້ບອກວ່າມີຄວາມຜິດພາດຫຼາຍທີ່ບໍ່ໄດ້ພິມ. ຖ້າເຈົ້າຄິດວ່າ
ຄໍາເຕືອນເຫຼົ່ານີ້ມີແນວໂນ້ມທີ່ຈະເປັນຂອງແທ້, ໃຊ້ການຕັ້ງຄ່ານີ້ເພື່ອເບິ່ງເພີ່ມເຕີມຂອງເຂົາເຈົ້າ.
Turn-on = default = 3, max = 999. ຄ່າຂອງ 0 ຫມາຍຄວາມວ່າບໍ່ມີຂອບເຂດຈໍາກັດ.

ການຕັ້ງຄ່ານີ້ບໍ່ໄດ້ກໍານົດຂອບເຂດຈໍາກັດໂດຍລວມກ່ຽວກັບຈໍານວນຂໍ້ຄວາມຄວາມຜິດພາດທີ່ພິມອອກ,
ພຽງແຕ່ຕົວເລກທີ່ພິມຢູ່ໃນ cascade ຫນຶ່ງ. ປະເພດຂອງການເຕືອນໄພແລະຄວາມຜິດພາດສ່ວນໃຫຍ່
ຂໍ້ຄວາມບໍ່ຂຶ້ນກັບຜົນກະທົບຂອງ cascade ແລະດັ່ງນັ້ນຈຶ່ງບໍ່ໄດ້ຮັບຜົນກະທົບຈາກເລື່ອງນີ້
ການຕັ້ງຄ່າ. ເພື່ອປິດການເຕືອນໂດຍທົ່ວໄປ, ໃຊ້ການຄວບຄຸມການເຕືອນໄພສ່ວນບຸກຄົນ
ທາງ​ເລືອກ​ຫຼື​ - nocheck ທາງເລືອກ.

ເບິ່ງເພີ່ມເຕີມ: - ກວດ​ສອບ​.

- ພາຍນອກ
ສາເຫດ ftnchek ເພື່ອ​ລາຍ​ງານ​ວ່າ​ໂຄງ​ການ​ຍ່ອຍ​ທີ່​ຮຽກ​ຮ້ອງ​ໂດຍ​ໂຄງ​ການ​ແມ່ນ​ບໍ່​ເຄີຍ​
ກໍານົດ. ປົກກະຕິ, ຖ້າ ftnchek ກໍາລັງດໍາເນີນການຢູ່ໃນໂຄງການທີ່ສົມບູນ, ແຕ່ລະຄົນ
ໂຄງການຍ່ອຍນອກເໜືອໄປຈາກໜ້າທີ່ພາຍໃນຄວນຖືກກຳນົດຢູ່ບ່ອນໃດບ່ອນໜຶ່ງ. ຫັນ
ປິດສະວິດນີ້ຖ້າທ່ານພຽງແຕ່ຕ້ອງການກວດເບິ່ງຊຸດຍ່ອຍຂອງໄຟລ໌ທີ່ປະກອບເປັນສ່ວນຂອງ a
ໂຄງ​ການ​ສໍາ​ເລັດ​ຂະ​ຫນາດ​ໃຫຍ່​. ການໂຕ້ຖຽງໂຄງການຍ່ອຍຈະຍັງຖືກກວດສອບຢູ່
ຄວາມຖືກຕ້ອງ. ຄ່າເລີ່ມຕົ້ນ = ແມ່ນ.

ໄດ້ - ພາຍນອກ ດຽວນີ້ທຸງຖືກແທນທີ່ດ້ວຍ -usage=ext-undefined ທາງເລືອກ. ສໍາ​ລັບ
sake ຂອງຄວາມສະດວກ, ໄດ້ - ພາຍນອກ ທຸງຖືກຮັກສາໄວ້, ດັ່ງນັ້ນ - noextern ທຽບເທົ່າ
to -usage=no-ext-undefined ທາງເລືອກ. ທ - ພາຍນອກ ສະຫຼັບອາດຈະຖືກຍົກເລີກໃນທີ່ສຸດ.

ເບິ່ງເພີ່ມເຕີມ: - ຫ້ອງ​ສະ​ຫມຸດ​.

-f77=ບັນຊີລາຍຊື່
ໃຊ້ການຕັ້ງຄ່ານີ້ເພື່ອຈັບສ່ວນຂະຫຍາຍພາສາທີ່ລະເມີດ Fortran 77
ມາດຕະຖານ. ສ່ວນຂະຫຍາຍດັ່ງກ່າວອາດເຮັດໃຫ້ໂປຣແກມຂອງເຈົ້າບໍ່ສາມາດເຄື່ອນທີ່ໄດ້. ຕົວຢ່າງ
ປະກອບມີການໃຊ້ຂີດກ້ອງໃນຊື່ຕົວແປ; ຊື່ຕົວແປທີ່ຍາວກວ່າຫົກ
ລັກສະນະ; ເສັ້ນຄຳຖະແຫຼງທີ່ຍາວກວ່າ 72 ຕົວອັກສອນ; ແລະຄໍາຖະແຫຼງທີ່ບໍ່ໄດ້ມາດຕະຖານ
ເຊັ່ນໂຄງສ້າງ DO ... ENDDO. ftnchek ບໍ່ໄດ້ລາຍງານກ່ຽວກັບການນໍາໃຊ້
ຕົວພິມນ້ອຍ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການເຕືອນໄພທັງໝົດຖືກປິດໄວ້.

ການຕັ້ງຄ່ານີ້ໃຫ້ການຄວບຄຸມຢ່າງລະອຽດກ່ຽວກັບຄໍາເຕືອນກ່ຽວກັບສ່ວນຂະຫຍາຍທີ່ຮອງຮັບ
ກັບມາດຕະຖານ Fortran 77. (ລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບການຂະຫຍາຍດ້ວຍຕົນເອງແມ່ນ
ໃຫ້ຂ້າງລຸ່ມນີ້ຢູ່ໃນພາກຂະຫຍາຍ.) ໄດ້ ບັນຊີລາຍຊື່ ປະກອບດ້ວຍຄໍາທີ່ແຍກອອກ
ໂດຍເຄື່ອງໝາຍຈຸດ ຫຼືຈໍ້າສອງເມັດ. ມີສາມຄໍາພິເສດ: ທັງຫມົດ ເພື່ອເປີດທັງຫມົດ
ຄໍາ​ເຕືອນ​ກ່ຽວ​ກັບ​ການ​ຂະ​ຫຍາຍ​ທີ່​ບໍ່​ໄດ້​ມາດ​ຕະ​ຖານ​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ການພິມ
ບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ,
-f77 ເທົ່າກັບ -f77=ທັງໝົດ, ແລະ -nof77 ເທົ່າກັບ -f77=ບໍ່ມີ. ເຕືອນໄພ
ຄໍາທີ່ມີຄວາມຫມາຍຂອງເຂົາເຈົ້າມີດັ່ງນີ້:

ປະເພດຍອມຮັບ:
ຍອມຮັບ ແລະ TYPE I/O ຖະແຫຼງການ.

array-bounds:
ການສະແດງຜົນກໍານົດຂອບເຂດ array ທີ່ມີອົງປະກອບ array ຫຼືຟັງຊັນ
ເອກະສານອ້າງອີງ.

assignment-stmt:
ຖະແຫຼງການການມອບໝາຍທີ່ກ່ຽວຂ້ອງກັບອາເຣ. ໃນ Fortran 90, array ສາມາດເປັນ
ມອບຫມາຍໃຫ້ array ອື່ນຂອງຮູບຮ່າງທີ່ເຂົ້າກັນໄດ້, ຫຼື scalar ສາມາດຖືກມອບຫມາຍໃຫ້
ອາເຣ. ການມອບໝາຍທັງສອງອັນນີ້ບໍ່ໄດ້ຮັບອະນຸຍາດໃນ Fortran 77.

ການເຕືອນທີ່ກ່ຽວຂ້ອງເກີດຂຶ້ນເມື່ອ array ຖືກມອບຫມາຍໃຫ້ scalar. ນັບຕັ້ງແຕ່ນີ້
ແມ່ນຜິດກົດຫມາຍຍັງຢູ່ໃນ Fortran 90, ມັນໄດ້ຖືກເຕືອນສະເຫມີກ່ຽວກັບການບໍ່ຄໍານຶງເຖິງ
-f77 ການຕັ້ງຄ່າ (ເວັ້ນເສຍແຕ່ວ່າການກວດສອບທັງຫມົດຖືກປິດດ້ວຍ - nocheck ທຸງ).

attribute-based-decl:
ພິມການປະກາດໃນຮູບແບບໃຫມ່ Fortran 90 attribute-based. ແບບນີ້
ການປະກາດແມ່ນຈໍາແນກໂດຍການນໍາໃຊ້ຈໍ້າສອງເມັດ (::) ລະຫວ່າງ
ບັນຊີລາຍຊື່ຂອງຄຸນລັກສະນະແລະບັນຊີລາຍຊື່ຂອງຕົວແປທີ່ປະກາດ. ທາງ​ເລືອກ​ນີ້​ຍັງ​
ຄວບຄຸມການເຕືອນສໍາລັບການນໍາໃຊ້ Fortran 90 ຄວາມຍາວຫຼືຕົວກໍານົດປະເພດໃນປະເພດ
ຖະແຫຼງການ. (ເຖິງແມ່ນວ່າຕົວລະບຸເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ໃນລັກສະນະທີ່ບໍ່ແມ່ນຄຸນລັກສະນະ
ການປະກາດ, ພວກເຂົາເຈົ້າໄດ້ຖືກຄວບຄຸມໂດຍທາງເລືອກນີ້ເພື່ອຫຼີກເວັ້ນການ proliferation ຂອງ
-f77 ທາງ​ເລືອກ​.)

array ອັດ​ຕະ​ໂນ​ມັດ​:
arrays ທ້ອງຖິ່ນ (ບໍ່ແມ່ນ dummy) ທີ່ມີຂະຫນາດຕົວແປ. ສິ່ງເຫຼົ່ານີ້ຈະກົງກັບ
arrays ທີ່ເກັບຮັກສາຈະຕ້ອງຖືກຈັດສັນແບບໄດນາມິກໃນເວລາແລ່ນ.

backslash:
Unix backslash escape ໃນສະຕຣິງ. ການເຕືອນໄພນີ້ຈະຖືກມອບໃຫ້ພຽງແຕ່ຖ້າວ່າ
-source=unix-backslash ການ​ຕັ້ງ​ຄ່າ​ແມ່ນ​ລະ​ບຸ​ໄວ້​ເພື່ອ​ເຮັດ​ໃຫ້​ເກີດ​ການ​ຫນີ​ໄດ້​
ການຕີຄວາມໝາຍຂອງ backslash..

byte: ການປະກາດປະເພດຂໍ້ມູນ BYTE.

ກໍລະນີກໍ່ສ້າງ:
ໂຄງສ້າງ SELECT CASE.

ລັກສະນະ:
ການຂະຫຍາຍໄປສູ່ມາດຕະຖານ Fortran 77 ກ່ຽວກັບຂໍ້ມູນຕົວອັກສອນ. ປັດ​ຈຸ​ບັນ,
ອັນນີ້ພຽງແຕ່ຄວບຄຸມການເຕືອນກ່ຽວກັບຕົວແປຕົວອັກສອນທີ່ປະກາດດ້ວຍສູນ ຫຼື
ຄວາມຍາວລົບ. ໃນ Fortran 77, ຕົວແປຂອງຕົວອັກສອນທັງໝົດຈະຕ້ອງເປັນບວກ
ຄວາມຍາວ. ໃນ Fortran 90, ພວກເຂົາສາມາດເປັນສູນຄວາມຍາວ, ແລະການປະກາດວ່າ
ລະບຸຄວາມຍາວລົບແມ່ນອະນຸຍາດໃຫ້, ປ່ຽນເປັນສູນສໍາລັບການປະກາດ
ຄວາມຍາວ. ໝາຍເຫດ: ເພາະວ່າຕົວລະບຸຄວາມຍາວທາງລົບອາດຈະຊີ້ບອກເຖິງການຂຽນໂປຣແກຣມ
ຄວາມຜິດພາດ, ການເຕືອນໄພກ່ຽວກັບພວກເຂົາແມ່ນໄດ້ຮັບເຖິງແມ່ນວ່າທາງເລືອກນີ້ຖືກປິດ, ແລະ
ຖືກສະກັດກັ້ນພຽງແຕ່ໂດຍ - nocheck ທຸງ.

common-subprog-name:
ບລັອກທົ່ວໄປ ແລະໂຄງການຍ່ອຍທີ່ມີຊື່ດຽວກັນ.

ຊື່ກໍ່ສ້າງ:
ການ​ນໍາ​ໃຊ້​ຂອງ construct-name ເພື່ອ​ຕິດ​ສະ​ຫຼາກ​ຄໍາ​ຖະ​ແຫຼງ​ການ​ຄວບ​ຄຸມ.

ສືບຕໍ່:
ຫຼາຍກວ່າ 19 ສາຍຕໍ່ເນື່ອງ.

cpp: ຄຳສັ່ງ Unix C preprocessor ໃນລະຫັດແຫຼ່ງ.

cray-pointer:
syntax ``ຕົວຊີ້ Cray''.

ວົງຈອນອອກ:
ຖະແຫຼງການ CYCLE ແລະ EXIT.

d-ຄໍາເຫັນ:
ການດີບັກຄຳເຫັນເລີ່ມຕົ້ນດ້ວຍ D ໃນລະຫັດແຫຼ່ງ.

dec-tab:
ລະຫັດແຫຼ່ງຮູບແບບແຖບຮູບແບບ DEC Fortran. ການເຕືອນໄພນີ້ຈະຖືກມອບໃຫ້ເທົ່ານັ້ນ
ຖ້າຫາກວ່າ -source=dec-tab ການ​ຕັ້ງ​ຄ່າ​ແມ່ນ​ໄດ້​ລະ​ບຸ​ໄວ້​ເພື່ອ​ເຮັດ​ໃຫ້​ເກີດ​ການ​ຕີ​ລາ​ຄາ​ຂອງ​ແຖບ​
ໃນຮູບແບບນີ້.

do-enddo:
DO loop extensions: ປ້າຍຄໍາຖະແຫຼງການ terminal ຖືກລະເວັ້ນ, END DO, ແລະ WHILE.

ຊັບຊ້ອນສອງເທົ່າ:
ປະເພດຂໍ້ມູນສະລັບສັບຊ້ອນທີ່ມີຄວາມແມ່ນຍໍາສອງເທົ່າ.

format-dollarsign:
ລະຫັດຄວບຄຸມເຄື່ອງໝາຍໂດລາໃນໃບແຈ້ງຍອດ FORMAT.

format-edit-descr:
ຕົວອະທິບາຍການແກ້ໄຂທີ່ບໍ່ໄດ້ມາດຕະຖານໃນໃບລາຍງານ FORMAT.

function-noparen:
ນິຍາມຟັງຊັນທີ່ບໍ່ມີວົງເລັບ.

implicit-none:
IMPLICIT NONE ຖະແຫຼງການ.

ປະກອບດ້ວຍ:
ລວມຄຳຖະແຫຼງການ.

inline-comment:
ຄຳເຫັນໃນແຖວທີ່ເລີ່ມຕົ້ນດ້ວຍຈຸດ exclamation.

ລາຍຊື່ພາຍໃນ:
I/O ຊີ້ທາງລາຍຊື່ໄປຫາ ຫຼືຈາກໄຟລ໌ພາຍໃນ.

intrinsic:
ຟັງຊັນພາຍໃນທີ່ບໍ່ແມ່ນມາດຕະຖານ.

io-keywords
ຄໍາສໍາຄັນທີ່ບໍ່ແມ່ນມາດຕະຖານທີ່ໃຊ້ໃນຄໍາຖະແຫຼງການ I/O. ເຫຼົ່ານີ້ຕົກຢູ່ໃນສາມກຸ່ມ.
ກຸ່ມທໍາອິດປະກອບມີຄໍາທີ່ຍອມຮັບໃນ Fortran 90:

ADWRITE Pad ປະຕິບັດ
ຂະໜາດຕໍາແໜ່ງຂັ້ນສູງ
DELIM ອ່ານຂຽນ
EOR
ກຸ່ມທີສອງປະກອບມີຄໍາສໍາຄັນ VMS Fortran ຕໍ່ໄປນີ້:

BlockSIZE ຂະຫຍາຍການອ່ານເທົ່ານັ້ນ
BUFFERCOUNT InitialSIZE ບັນທຶກ
CARRIAGECONTROL MAXREC ປະເພດບັນທຶກ
ຊື່ DEFAULTFILE (ເປີດ) ຖືກແບ່ງປັນແລ້ວ
ແຍກປະເພດ NOSPANBLOCK
ກໍາຈັດອົງການຈັດຕັ້ງ
(ຄໍາສໍາຄັນ NAME ແມ່ນມາດຕະຖານພຽງແຕ່ຢູ່ໃນຄໍາຖະແຫຼງການ INQUIRE.) ທີສາມ
ກຸ່ມປະກອບດ້ວຍຄໍາສໍາຄັນ IBM/MVS ຕໍ່ໄປນີ້:

NUMBER
ທຸງນີ້ຍັງຄວບຄຸມການເຕືອນກ່ຽວກັບການໃຊ້ ACCESS='APPEND', ເຊິ່ງແມ່ນ
ຍອມຮັບໂດຍຜູ້ລວບລວມຂໍ້ມູນຈໍານວນຫນຶ່ງ. ຄ່າຂອງ 'APPEND' ບໍ່ຖືກຕ້ອງສໍາລັບ I/O ໃດໆ
ຕົວລະບຸໃນມາດຕະຖານ Fortran 77, ແລະໃນ Fortran 90 'APPEND' ຄວນຖືກນໍາໃຊ້
ເປັນຄ່າຂອງຕົວລະບຸ POSITION, ບໍ່ແມ່ນ ACCESS.

ເສັ້ນຍາວ:
ຄໍາຖະແຫຼງທີ່ມີລະຫັດທີ່ມີຄວາມຫມາຍຜ່ານມາ 72 ຖັນ. ການເຕືອນໄພນີ້ແມ່ນໃຫ້ພຽງແຕ່
ຖ້າຫາກວ່າ - ຖັນ ການຕັ້ງຄ່າໄດ້ຖືກນໍາໃຊ້ເພື່ອເພີ່ມຄວາມກວ້າງຂອງຊ່ອງຄໍາຖະແຫຼງການ.

ຊື່ຍາວ:
ຕົວລະບຸຫຼາຍກວ່າ 6 ຕົວອັກສອນຍາວ.

ປະສົມ-ທົ່ວໄປ:
ຂໍ້ມູນຕົວລະຄອນ ແລະຕົວລະຄອນທີ່ປະສົມກັນຢູ່ໃນບລັອກ COMMON.

ປະສົມ-expr:
ການປະສົມປະເພດທີ່ບໍ່ໄດ້ມາດຕະຖານໃນການສະແດງຜົນ, ຕົວຢ່າງ DOUBLE PRECISION
ດ້ວຍ COMPLEX, ການມອບໝາຍ hollerith ໃຫ້ເປັນຈຳນວນເຕັມ, ການດຳເນີນການຕາມເຫດຜົນໃນຈຳນວນເຕັມ.

name-dollarsign:
ເຄື່ອງຫມາຍເງິນໂດລາໃຊ້ເປັນຕົວອັກສອນໃນຕົວລະບຸ.

ຂີດກ້ອງຊື່:
ຂີດກ້ອງໃຊ້ເປັນຕົວອັກສອນໃນຕົວລະບຸ.

ລາຍຊື່:
NAMELIST ຖະແຫຼງການ.

param-implicit-type:
ການພິມໂດຍຫຍໍ້ຂອງພາລາມິເຕີໂດຍປະເພດຂໍ້ມູນຂອງຄ່າທີ່ໄດ້ຮັບມອບໝາຍ. ນີ້
ການເຕືອນສາມາດເກີດຂຶ້ນໄດ້ພຽງແຕ່ຖ້າການພິມພາລາມິເຕີ implicit ໄດ້ຖືກເປີດໂດຍ
-source=param-implicit-type ທາງເລືອກ, ຫຼືຖ້າຄໍາຖະແຫຼງ PARAMETER ແມ່ນຂອງ
ຮູບແບບທີ່ບໍ່ມີມາດຕະຖານໂດຍບໍ່ມີວົງເລັບ. ຖ້າຕົວເລືອກນີ້ຖືກເປີດໃຊ້, ຫຼັງຈາກນັ້ນໃດກໍ່ຕາມ
ກໍລະນີທີ່ການພິມພາລາມິເຕີ implicit ເກີດຂຶ້ນຈະໄດ້ຮັບການເຕືອນກ່ຽວກັບ. ຖ້າ
ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ​ໄດ້​ຮັບ​ການ​ເຕືອນ​ພຽງ​ແຕ່​ໃນ​ຕົວ​ຢ່າງ​ທີ່​ປະ​ເພດ​ຂໍ້​ມູນ implicit​
ແຕກຕ່າງຈາກປະເພດເລີ່ມຕົ້ນ, ໃຊ້ -portability=param-implicit-type ແທນທີ່ຈະເປັນ.
ອີງຕາມມາດຕະຖານ Fortran 77, ປະເພດຂໍ້ມູນຂອງພາລາມິເຕີໄດ້ຖືກມອບໃຫ້
ໂດຍກົດລະບຽບດຽວກັນກັບຕົວແປ, ແລະຖ້າຈໍາເປັນ, ການແປງປະເພດແມ່ນ
ເຮັດເມື່ອຄ່າຖືກມອບໝາຍ.

param ພາຍໃນ:
ຟັງຊັນພາຍໃນ ຫຼື ເລກກຳລັງໂດຍຕົວຈິງທີ່ໃຊ້ເພື່ອກຳນົດຄ່າຂອງ a
ຄໍານິຍາມ PARAMETER.

param-noparen:
ຄຳຖະແຫຼງ PARAMETER ໂດຍບໍ່ມີວົງເລັບ. ຜູ້ໃຊ້ຄວນຈະຮູ້ວ່າ
semantics ຂອງແບບຟອມນີ້ຂອງຄໍາຖະແຫຼງທີ່ແຕກຕ່າງຈາກມາດຕະຖານ
ແບບຟອມ: ໃນຮູບແບບນີ້, ພາລາມິເຕີເອົາປະເພດຂໍ້ມູນຂອງມັນຈາກຄ່າ
ຖືກມອບຫມາຍ, ແທນທີ່ຈະມີປະເພດຂໍ້ມູນເລີ່ມຕົ້ນຂອງມັນໂດຍອີງໃສ່ຕົວອັກສອນທໍາອິດ
ຂອງຊື່ພາລາມິເຕີ. (ແບບຟອມຂອງຄໍາຖະແຫຼງ PARAMETER ນີ້ໄດ້ຖືກນໍາສະເຫນີ
ໂດຍ DEC ກ່ອນທີ່ມາດຕະຖານ Fortran 77 ໄດ້ຖືກກໍານົດ, ແລະຄວນຈະຫຼີກເວັ້ນ.)

ຕົວຊີ້:
Fortran 90 ມາດຕະຖານ syntax ທີ່ກ່ຽວຂ້ອງກັບຕົວຊີ້, ລວມທັງ POINTER, TARGET ແລະ
ການປະກາດປະເພດ ALLOCATable, ຈັດສັນ, DEALLOCATE, ແລະຖະແຫຼງການ NULLIFY,
ແລະການມອບໝາຍຕົວຊີ້ໂດຍໃຊ້ =>.

quad-ຄົງທີ່:
Quad ຄວາມແມ່ນຍໍາຄົງທີ່ທີ່ແທ້ຈິງ, ຕົວຢ່າງຂອງຮູບແບບ 1.23Q4.

ເຄື່ອງໝາຍວົງຢືມ:
Strings delimited by quote marks ແທນທີ່ຈະເປັນ apostrophes.

relops:
Relational (ປຽບທຽບ) operators ປະກອບດ້ວຍເຄື່ອງໝາຍວັກຕອນ, ຄື: <<= == /=
> >=.

semicolon:
ເຄື່ອງໝາຍຈຸດທີ່ໃຊ້ເປັນຕົວຂັ້ນຄຳຖະແຫຼງ.

ຄໍາ​ສັ່ງ​:
ຄໍາຖະແຫຼງທີ່ອອກຈາກລໍາດັບທີ່ກໍານົດໂດຍມາດຕະຖານ. ອະນຸຍາດ
ລໍາດັບແມ່ນສະແດງຢູ່ໃນຕາຕະລາງ 1 ໃນພາກກ່ຽວກັບການຕີຄວາມຫມາຍຜົນໄດ້ຮັບ.

typeless-ຄົງທີ່:
ຄົງທີ່ທີ່ບໍ່ມີຕົວພິມ, ຕົວຢ່າງ Z'19AF'.

ປະ​ເພດ​ຂະ​ຫນາດ​:
ພິມຄຳປະກາດທີ່ລະບຸຂະໜາດ, ຕົວຢ່າງ REAL*8.

ຮູບແບບການປ່ຽນແປງ:
ຂໍ້ມູນຈໍາເພາະຊໍ້າຄືນຂອງຕົວແປ ຫຼືຂະໜາດຊ່ອງຂໍ້ມູນໃນ FORMAT. ເຫຼົ່ານີ້ແມ່ນຢູ່ໃນຮູບແບບ
< ຕົວຢ່າງ >.

vms-io:
ລ້າສະໄໝ. ໃນປັດຈຸບັນມີຄວາມຫມາຍດຽວກັນກັບ io-keywords ຄຳ ສຳ ຄັນ.

ເບິ່ງເພີ່ມເຕີມ: -f90, -f95, - ພົກພາ, -ງາມ, -ແບບ, - ຂະ​ຫນາດ​ຄໍາ​.

-f90=ບັນຊີລາຍຊື່
ການຕັ້ງຄ່ານີ້ໃຫ້ການຄວບຄຸມຢ່າງລະອຽດກ່ຽວກັບຄໍາເຕືອນກ່ຽວກັບສ່ວນຂະຫຍາຍທີ່ຮອງຮັບ
ກັບມາດຕະຖານ Fortran 77 ທີ່ບໍ່ໄດ້ຮັບຮອງເອົາເປັນສ່ວນຫນຶ່ງຂອງ Fortran 90
ມາດຕະຖານ. ໃຫ້ສັງເກດວ່າ ftnchek ບໍ່ຮອງຮັບພາສາ Fortran 90 ເຕັມ.
ຢ່າງໃດກໍ່ຕາມ, ມັນສະຫນັບສະຫນູນບາງສ່ວນຂະຫຍາຍທົ່ວໄປກັບ Fortran 77 ທີ່ແຜ່ຫຼາຍ
ກ່ອນທີ່ Fortran 90 ຖືກກໍານົດ. ບາງສ່ວນຂອງການຂະຫຍາຍເຫຼົ່ານີ້ໄດ້ກາຍເປັນສ່ວນຫນຶ່ງຂອງ Fortran
90 ມາດຕະຖານ, ແຕ່ຄົນອື່ນບໍ່ໄດ້. ໄດ້ -f90 ການຕັ້ງຄ່າເຕືອນພຽງແຕ່ກ່ຽວກັບອັນສຸດທ້າຍ.
ນັ້ນແມ່ນ, ທຸງນີ້ກວມເອົາສິ່ງທີ່ບໍ່ແມ່ນກົດຫມາຍ Fortran 77 ຫຼືທາງດ້ານກົດຫມາຍ
Fortran 90. ດັ່ງນັ້ນ, ການເຕືອນໄພທີ່ຄວບຄຸມໂດຍທຸງນີ້ແມ່ນພື້ນຖານຍ່ອຍ
ຂອງ​ຄໍາ​ເຕືອນ​ທີ່​ຄວບ​ຄຸມ​ໂດຍ​ -f77. ມີບາງກໍລະນີ, ອະທິບາຍຂ້າງລຸ່ມນີ້, ບ່ອນທີ່
ສະຖານະການທີ່ມີການເຕືອນໄພແມ່ນແຕກຕ່າງກັນເລັກນ້ອຍສໍາລັບທັງສອງ
ທຸງ.

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ມີສາມ
ຄໍາສໍາຄັນພິເສດ: ທັງຫມົດ ເພື່ອເປີດໃຊ້ການເຕືອນໄພທັງໝົດກ່ຽວກັບສ່ວນຂະຫຍາຍທີ່ບໍ່ໄດ້ມາດຕະຖານ,
none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດດ້ວຍ a
ຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, -f90 ເທົ່າກັບ -f90=ທັງໝົດ, ແລະ
-nof90 ເທົ່າກັບ -f90=ບໍ່ມີ.

ຄຳສັບຕໍ່ໄປນີ້ມີຄວາມໝາຍຄືກັນສຳລັບ -f90 ເປັນສໍາລັບການ -f77. ຜູ້ອ່ານແມ່ນ
ອ້າງເຖິງຄໍາອະທິບາຍພາຍໃຕ້ -f77.

ປະເພດຍອມຮັບ ຊັບຊ້ອນສອງເທົ່າ param-noparen
backslash format-dollarsign cray-pointer
byte format-edit-descr quad-ຄົງທີ່
cpp function-noparen ປະ​ເພດ​ຂະ​ຫນາດ​
d-ຄໍາເຫັນ name-dollarsign ຮູບແບບການປ່ຽນແປງ
dec-tab param-implicit-type vms-io

ຄໍາສໍາຄັນທີ່ແຕກຕ່າງຈາກບາງຄໍາທີ່ສອດຄ້ອງກັນ -f77 ຄໍາສໍາຄັນແມ່ນເປັນ
ຕໍ່ໄປນີ້.

ສືບຕໍ່:
ຂີດຈໍາກັດກ່ຽວກັບຈໍານວນແຖວຕໍ່ເນື່ອງສໍາລັບຄໍາຖະແຫຼງທີ່ຢູ່ໃນແຫຼ່ງຄົງທີ່
ແບບຟອມແມ່ນຄືກັນ, ຄື 19, ໃນ Fortran 90 ຄືກັບ Fortran 77. ສໍາລັບແຫຼ່ງຟຣີ
ກໍານົດຂອບເຂດຈໍາກັດແມ່ນ 39 ແຖວຕໍ່ເນື່ອງ, ແລະເສັ້ນທີ່ປະກອບດ້ວຍການສືບຕໍ່
ເຄື່ອງໝາຍບໍ່ສາມາດຫວ່າງເປົ່າ ຫຼືມີພຽງຄຳເຫັນເທົ່ານັ້ນ.

intrinsic:
ນີ້ແມ່ນຄືກັນກັບສໍາລັບ -f77 ຍົກ​ເວັ້ນ​ສໍາ​ລັບ​ຫນ້າ​ທີ່​ພາຍ​ໃນ​ທີ່​ກໍາ​ນົດ​ໄວ້​ໃນ​
MIL-STD 1753, ເຊິ່ງລວມຢູ່ໃນ Fortran 90, ແລະດັ່ງນັ້ນຈິ່ງບໍ່ໄດ້ເຕືອນ.
ກ່ຽວກັບ. (ເບິ່ງ - ພາຍໃນ ສໍາລັບບັນຊີລາຍຊື່.)

io-keywords:
ນີ້ແມ່ນຄືກັນກັບສໍາລັບ -f77 ຍົກ​ເວັ້ນ​ວ່າ​ຈະ​ບໍ່​ມີ​ການ​ເຕືອນ​ໄພ​ສໍາ​ລັບ I/O ໄດ້​
ຄໍາສໍາຄັນທີ່ເປັນມາດຕະຖານໃນ Fortran 90.

ເສັ້ນຍາວ:
ເຖິງແມ່ນວ່າມາດຕະຖານ Fortran 90 ອະນຸຍາດໃຫ້ມີເສັ້ນຍາວກວ່າ 72 ຕົວອັກສອນໃນ
ແບບຟອມແຫຼ່ງຟຣີ, ຂໍ້ຈໍາກັດນີ້ຍັງໃຊ້ກັບແບບຟອມແຫຼ່ງຄົງທີ່. ໃນ
ແຫຼ່ງຟຣີແບບຟອມຈໍາກັດຄວາມຍາວຂອງເສັ້ນແມ່ນ 132 ຕົວອັກສອນ, ແລະແຕກຕ່າງຈາກຄົງທີ່
ແບບຟອມ, ftnchek ບໍ່ອະນຸຍາດໃຫ້ເພີ່ມຂີດຈໍາກັດນີ້.

ປະສົມ-expr:
ນີ້ແມ່ນຄືກັນກັບສໍາລັບ -f77 ຍົກ​ເວັ້ນ​ສໍາ​ລັບ​ການ​ປະ​ສົມ​ປະ​ສົມ​ຄວາມ​ແມ່ນ​ຍໍາ​ຂະ​ຫຍາຍ​
ທີ່ແທ້ຈິງທີ່ມີປະເພດຂໍ້ມູນສະລັບສັບຊ້ອນ, ເຊິ່ງອະນຸຍາດໃຫ້ຢູ່ໃນ Fortran 90.

ຄໍາ​ສັ່ງ​:
ນີ້ແມ່ນຄ້າຍຄືກັນກັບທີ່ສອດຄ້ອງກັນ -f77 ການເຕືອນໄພ, ແຕ່ໃຊ້ບາງຢ່າງ
ການຫຼຸດຜ່ອນຂໍ້ຈໍາກັດກ່ຽວກັບຄໍາສັ່ງຖະແຫຼງການຂອງມາດຕະຖານ Fortran 90. ໃນ
ໂດຍສະເພາະ, Fortran 90 ອະນຸຍາດໃຫ້ DATA statements ແລະ statement-function
ຄໍານິຍາມທີ່ຈະປະສົມກັບຄໍາຖະແຫຼງການສະເພາະ.

typeless-ຄົງທີ່:
ໃນ Fortran 90, ຕົວເລກຄົງທີ່ຖານສອງ, ເລກແປດ, ແລະເລກຖານສິບຫົກຂອງຮູບແບບ B'ddd',
O'dd', ແລະ Z'ddd', ຕາມລໍາດັບ, ແມ່ນອະນຸຍາດ. ທີ່ນີ້ 'dd' ເປັນຕົວແທນ a
ສະຕຣິງຂອງຕົວເລກ. ftnchek ຮັບຮູ້ຮູບແບບເຫຼົ່ານີ້, ເຊັ່ນດຽວກັນກັບຕົວແປຂອງ
ຮູບແບບ X'ddd' ສໍາລັບຄ່າຄົງທີ່ຂອງເລກຖານສິບຫົກ, ແລະຕົວແປອື່ນໆທີ່
ຕົວຊີ້ບອກພື້ນຖານ B, O, Z, ຫຼື X ຕິດຕາມຕົວເລກຕົວເລກ. variants ເຫຼົ່ານີ້ແມ່ນ
ບໍ່ໄດ້ຮັບຮອງເອົາໃນ Fortran 90, ສະນັ້ນພຽງແຕ່ພວກເຂົາຖືກເຕືອນກ່ຽວກັບເວລາທີ່ທຸງນີ້ແມ່ນ
ເປີດ.

ເບິ່ງເພີ່ມເຕີມ: -f77, -f95, - ພົກພາ, -ງາມ, -ແບບ, - ຂະ​ຫນາດ​ຄໍາ​.

-f95=ບັນຊີລາຍຊື່
ການຕັ້ງຄ່ານີ້ສະຫນອງການຄວບຄຸມລາຍລະອຽດກ່ຽວກັບຄໍາເຕືອນກ່ຽວກັບມາດຕະຖານ Fortran 77
ຄຸນສົມບັດທີ່ຖືກລົບອອກຈາກ Fortran 95 Standard. ບໍ່ເຫມືອນກັບ -f77 ແລະ -f90
ການຕັ້ງຄ່າ, ການເຕືອນເຫຼົ່ານີ້ໃຊ້ກັບ syntax ທີ່ເປັນກົດຫມາຍ Fortran 77. ຢ່າງໃດກໍຕາມ, ນັບຕັ້ງແຕ່
ຄຸນ​ນະ​ສົມ​ບັດ​ເຫຼົ່າ​ນີ້​ໄດ້​ຖືກ​ລຶບ​ອອກ​ຈາກ​ມາດ​ຕະ​ຖານ​, ມັນ​ເປັນ​ໄປ​ໄດ້​ວ່າ​ໂຄງ​ການ​
ບັນຈຸພວກມັນຈະບໍ່ຍອມຮັບໄດ້ຕໍ່ກັບບາງຕົວສັງລວມທີ່ໃໝ່ກວ່າ.

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ມີສາມ
ຄໍາສໍາຄັນພິເສດ: ທັງຫມົດ ເພື່ອເປີດໃຊ້ການເຕືອນໄພທັງໝົດກ່ຽວກັບສ່ວນຂະຫຍາຍທີ່ບໍ່ໄດ້ມາດຕະຖານ,
none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດດ້ວຍ a
ຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, -f95 ເທົ່າກັບ -f95=ທັງໝົດ, ແລະ
-nof95 ເທົ່າກັບ -f95=ບໍ່ມີ. ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກເຂົາແມ່ນເປັນ
ຕໍ່ໄປນີ້.

ເຮັດຈິງ:
ຕົວແປ DO ຂອງປະເພດຕົວເລກຕົວຈິງ.

ພັກໄວ້:
ຖະແຫຼງການ PAUSE.

ມອບຫມາຍ:
ຖະແຫຼງການ ASSIGN, GOTO ທີ່ມອບໝາຍ, ຫຼືຮູບແບບທີ່ຖືກມອບໝາຍ.

h-ດັດແກ້:
ຕົວອະທິບາຍການດັດແກ້ H ໃນຮູບແບບ.

ມີຄຸນສົມບັດ syntax ຂອງ Fortran 77 ອື່ນທີ່ຖືກລຶບອອກໃນ Fortran 95, ຄື
ແຍກເປັນ ENDIF ຈາກນອກ IF block. ແນວໃດກໍ່ຕາມ, ftnchek ແມ່ນບໍ່ສາມາດທີ່ຈະ
ວິເຄາະການໄຫຼຂອງໂປຣແກຣມ, ແລະດັ່ງນັ້ນມັນບໍ່ໄດ້ສະຫນອງຄໍາເຕືອນສໍາລັບການນີ້.

ເບິ່ງເພີ່ມເຕີມ: -f77, -f90, - ພົກພາ, -ງາມ, -ແບບ, - ຂະ​ຫນາດ​ຄໍາ​.

-ຊ່ວຍ
ພິມບັນຊີລາຍຊື່ຂອງຕົວເລືອກແຖວຄໍາສັ່ງທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ
ພ້ອມກັບຄ່າເລີ່ມຕົ້ນຂອງມັນ. ຄໍາສັ່ງນີ້ແມ່ນຄ້າຍຄືກັນກັບຫນ້າທີ່ ``?''
ການໂຕ້ຖຽງ, ແລະສະຫນອງໃຫ້ເປັນຄວາມສະດວກສໍາລັບລະບົບເຫຼົ່ານັ້ນໃນຄໍາຖາມ
ເຄື່ອງ ໝາຍ ມີຄວາມ ໝາຍ ພິເສດຕໍ່ນາຍພາສາ ຄຳ ສັ່ງ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ບັນຊີລາຍຊື່ການຊ່ວຍເຫຼືອຍັງພິມຈໍານວນສະບັບແລະລະດັບ patch ຂອງ ftnchek ແລະ
ແຈ້ງການລິຂະສິດ.

ໝາຍເຫດ: ຄ່າ ``ຄ່າເລີ່ມຕົ້ນ'' ທີ່ພິມໃນວົງເລັບສີ່ຫຼ່ຽມໃນລາຍການຊ່ວຍເຫຼືອແມ່ນ,
ເວົ້າຢ່າງເຂັ້ມງວດ, ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນທີ່ສ້າງຂຶ້ນໃນຕົວ, ແຕ່ມູນຄ່າປະຈຸບັນຫຼັງຈາກໃດໆ
ທາງ​ເລືອກ​ສະ​ພາບ​ແວດ​ລ້ອມ​ແລະ​ທາງ​ເລືອກ​ໃນ​ບັນ​ຊີ​ຄໍາ​ສັ່ງ​ໃດໆ​ກ່ອນ​ຫນ້າ​ -ຊ່ວຍ ທາງ​ເລືອກ​ທີ່​ມີ​
ໄດ້​ຮັບ​ການ​ປຸງ​ແຕ່ງ​.

ເບິ່ງເພີ່ມເຕີມ: - ຈົວ, -ການປ່ຽນແປງ, ແລະ ຊ່ວຍເຫຼືອ ທາງເລືອກຂອງການຕັ້ງຄ່າທັງຫມົດທີ່ເອົາບັນຊີລາຍຊື່ຂອງ
ຄໍາສໍາຄັນ.

-identifier-chars=ບັນຊີລາຍຊື່
ກຳນົດຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກທີ່ອາດຖືກໃຊ້ໃນຕົວລະບຸ. ໂດຍຄ່າເລີ່ມຕົ້ນ,
ftnchek ຍອມຮັບພຽງແຕ່ເຄື່ອງໝາຍເງິນໂດລາ ແລະຂີດກ້ອງເປັນຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ
ໃນ​ຊື່​ຕົວ​ກໍາ​ນົດ​. ລັກສະນະໃນ ບັນຊີລາຍຊື່ ແທນທີ່ຊຸດໃດທີ່ຍອມຮັບ
ຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ ແລະ ຕົວເລກແມ່ນມີຜົນໃນເມື່ອກ່ອນ. ດັ່ງນັ້ນ, ຖ້າເງິນໂດລາເຊັນຫຼື
underscore ບໍ່ໄດ້ລວມຢູ່ໃນບັນຊີລາຍຊື່, ພວກເຂົາເຈົ້າສູນເສຍສະຖານະພາບຂອງເຂົາເຈົ້າເປັນທີ່ຍອມຮັບ
ລັກສະນະ.

ທາງເລືອກນີ້ແມ່ນສະຫນອງໃຫ້ເພື່ອເປີດໃຊ້ ftnchek ເພື່ອຈັດການໄຟລ໌ແຫຼ່ງທີ່ປະກອບດ້ວຍທີ່ບໍ່ແມ່ນ
ຊື່ຕົວລະບຸມາດຕະຖານທີ່ອາດຈະຕ້ອງການ, ສໍາລັບການຍົກຕົວຢ່າງ, ເພື່ອເຂົ້າເຖິງສະເພາະໃດຫນຶ່ງ
ການ​ບໍ​ລິ​ການ​ລະ​ບົບ​ປະ​ຕິ​ບັດ​ການ​. ເບິ່ງພາກສ່ວນກ່ຽວກັບຂໍ້ຈໍາກັດແລະການຂະຫຍາຍສໍາລັບ
ການປິ່ນປົວຕົວລະບຸທີ່ມີຕົວອັກສອນເຫຼົ່ານີ້ຢູ່ໃນການພິມໂດຍຫຍໍ້.

ການນໍາໃຊ້ -noidentifer-chars ປິດການຍອມຮັບຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ
ທັງຫມົດ.

ເບິ່ງເພີ່ມເຕີມ: - ແຫຼ່ງ.

-include=ເສັ້ນທາງ
ລະບຸໄດເຣັກທໍຣີທີ່ຈະຊອກຫາໄຟລ໌ທີ່ລະບຸໂດຍ INCLUDE statements.
ບໍ່ເຫມືອນກັບຕົວເລືອກແຖວຄໍາສັ່ງອື່ນໆ, ການຕັ້ງຄ່ານີ້ແມ່ນສະສົມ; ນັ້ນແມ່ນ, ຖ້າມັນເປັນ
ໃຫ້ຫຼາຍກວ່າຫນຶ່ງຄັ້ງໃນເສັ້ນຄໍາສັ່ງ, ໄດເລກະທໍລີທັງຫມົດທີ່ລະບຸໄວ້
ຖືກຈັດໃສ່ໃນບັນຊີລາຍຊື່ທີ່ຈະຖືກຄົ້ນຫາໃນລໍາດັບດຽວກັນກັບພວກເຂົາຖືກມອບໃຫ້. ໄດ້
ຄໍາສັ່ງໃນທີ່ ftnchek ຄົ້ນຫາໄຟລ໌ທີ່ຈະລວມເອົາແມ່ນ: ປະຈຸບັນ
ໄດເລກະທໍລີ; ໄດເລກະທໍລີທີ່ລະບຸໂດຍຕົວແປສະພາບແວດລ້ອມ FTNCHEK_INCLUDE ຖ້າມີ;
ໄດເລກະທໍລີທີ່ລະບຸໄວ້ໂດຍໃດໆ - ລວມ​ທັງ​ ທາງເລືອກ; ໄດເລກະທໍລີທີ່ລະບຸໄວ້ໂດຍ
ຕົວແປສະພາບແວດລ້ອມ INCLUDE; ແລະສຸດທ້າຍໃນໄດເລກະທໍລີທົ່ວລະບົບມາດຕະຖານ
(/ usr / ປະກອບມີ ສໍາລັບ UNIX, SYS$LIBRARY ສໍາລັບ VMS, ແລະ \ ລວມສໍາລັບ MSDOS).

ເບິ່ງເພີ່ມເຕີມ: -f77, - ແຫຼ່ງ.

-intrinsic=ບັນຊີລາຍຊື່
ຄວບຄຸມບໍ່ວ່າຈະເປັນ ftnchek ຮັບຮູ້ຫນ້າທີ່ພາຍໃນທີ່ບໍ່ແມ່ນມາດຕະຖານທີ່ແນ່ນອນ
ພາຍໃນ. ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ບາງສ່ວນຂອງ
ຄໍາສໍາຄັນຄວບຄຸມວ່າຈະຮັບຮູ້ບາງກຸ່ມຂອງຫນ້າທີ່, ແລະອື່ນໆ
ຄໍາສໍາຄັນຄວບຄຸມ syntax ທີ່ຄາດໄວ້ສໍາລັບການເອີ້ນ intrinsics ທີ່ບໍ່ແມ່ນມາດຕະຖານບາງຢ່າງ.
ລວມເອົາຄໍາສໍາຄັນເພື່ອເປີດການຮັບຮູ້ຂອງຊຸດທີ່ສອດຄ້ອງກັນຂອງ intrinsics ຫຼື
ເພື່ອອະນຸຍາດໃຫ້ syntax ທີ່ສອດຄ້ອງກັນ. ລວມເອົາຄໍາສໍາຄັນທີ່ນໍາຫນ້າໂດຍ ບໍ່- ປິດ
ການຮັບຮູ້ນັ້ນ.

ມີສາມຄໍາພິເສດ: ທັງຫມົດ ເປີດການຮັບຮູ້ຂອງທັງຫມົດທີ່ບໍ່ແມ່ນມາດຕະຖານ
intrinsics (ລາຍຊື່ຂ້າງລຸ່ມນີ້) ແລະຍອມຮັບທັງ syntax ສໍາລັບຜູ້ທີ່ມີການປ່ຽນແປງ.
ການນໍາໃຊ້ none ເພື່ອປິດການຮັບຮູ້ພາຍໃນທີ່ບໍ່ໄດ້ມາດຕະຖານທັງໝົດ ຍົກເວັ້ນສິ່ງທີ່ບັນທຶກໄວ້
ຂ້າງລຸ່ມນີ້. ໃຊ້ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງ
ແຕ່ລະ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, - ພາຍໃນ ເທົ່າກັບ -intrinsic=ທັງໝົດ, ແລະ
- nointrinsic ເທົ່າກັບ -intrinsic=ບໍ່​ມີ.

ຫນ້າທີ່ພາຍໃນທີ່ບໍ່ແມ່ນມາດຕະຖານທີ່ຈໍາເປັນເພື່ອສະຫນັບສະຫນູນການຂະຫຍາຍທີ່ບໍ່ແມ່ນມາດຕະຖານ
ປະເພດຂໍ້ມູນຄວາມແມ່ນຍໍາ (ສອງສະລັບສັບຊ້ອນແລະຄວາມແມ່ນຍໍາຂອງ quad) ຖືກຮັບຮູ້ສະເຫມີ.
ພາຍໃນຂອງປະເພດຂອງຂໍ້ມູນສະລັບສັບຊ້ອນຄູ່ແມ່ນ:

CDABS CDSQRT DREAL ZLOG
CDCOS DCMPLX IMAG ZSIN
CDEXP DCONJG ZABS ZSQRT
CDLOG DIMAG ZEXP ZCOS
CDSIN
ພື້ນຖານສໍາລັບຄວາມແມ່ນຍໍາຂອງ quad ແລະປະເພດສະລັບສັບຊ້ອນ quad ແມ່ນ:

CQABS QARCOS QEXT QNINT
CQCOS QARSIN QEXTD QPROD
CQEXP QATAN QFLOAT QREAL
CQLOG QATAN2 QIMAG QSIGN
CQSIN QCMPLX QINT QSIN
CQSQRT QCONJG QLOG QSINH
DBLEQ QCOS QLOG10 QSQRT
IQINT QCOSH QMAX1 QTAN
IQNINT QDIM QMIN1 QTANH
QABS QEXP QMOD SNGLQ
ຄໍາສໍາຄັນທີ່ຄວບຄຸມການຮັບຮູ້ຂອງຫນ້າທີ່ພາຍໃນທີ່ບໍ່ແມ່ນມາດຕະຖານອື່ນໆແມ່ນ
ດັ່ງຕໍ່ໄປນີ້:

ພິເສດ:
ຮັບຮູ້ພາຍໃນທີ່ບໍ່ໄດ້ມາດຕະຖານທົ່ວໄປຕໍ່ໄປນີ້ (ທັງໝົດຍົກເວັ້ນ
EXIT ແລະ LOC ຖືກກໍານົດໄວ້ໃນ MIL-STD 1753):

BTEST IBCLR IEOR ISHFTC
ອອກຈາກ IBITS IOR LOC
IAND IBSET ISHFT ບໍ່ແມ່ນ

Unix: ຮັບຮູ້ຟັງຊັນພາຍໃນສະເພາະຂອງ Unix ທົ່ວໄປເຫຼົ່ານີ້:

ຍົກເລີກ GMTIME LTIME SRAND
ແລະ IARGC ຫຼືລະບົບ
ຈັບເວລາ IRAND RAND
GETENV LSHIFT RSHIFT XOR

vms: ຮັບຮູ້ຟັງຊັນພາຍໃນສະເພາະ VMS ທົ່ວໄປເຫຼົ່ານີ້:

ວັນທີ IDATE ວິນາທີ TIME

ERRSNS ran size

iargc-no-argument:
ລະບຸວ່າ IARGC ອາດຈະຖືກເອີ້ນໂດຍບໍ່ມີການໂຕ້ຖຽງ.

iargc-one-argument:
ລະບຸວ່າ IARGC ອາດຈະຖືກເອີ້ນດ້ວຍການໂຕ້ຖຽງໜຶ່ງ.

rand-no-argument:
ລະບຸວ່າ RAND ແລະ IRAND ອາດຈະຖືກເອີ້ນໂດຍບໍ່ມີການໂຕ້ຖຽງ.

rand-one-argument:
ລະບຸວ່າ RAND ແລະ IRAND ອາດຈະຖືກເອີ້ນດ້ວຍການໂຕ້ຖຽງໜຶ່ງ.

ໄດ້ ບໍ່ມີການໂຕ້ຖຽງ ແລະ ການໂຕ້ຖຽງຫນຶ່ງ ຄໍາສໍາຄັນເຮັດວຽກດັ່ງຕໍ່ໄປນີ້: ເປີດທາງເລືອກ
ສາເຫດ ftnchek ຍອມຮັບ syntax ທີ່ສອດຄ້ອງກັນສໍາລັບການຮຽກຮ້ອງຫນ້າທີ່,
ໂດຍບໍ່ມີການຍົກເວັ້ນຄວາມເປັນໄປໄດ້ຂອງ syntax ທາງເລືອກ. ການຫັນທາງເລືອກ
off ເຮັດໃຫ້ syntax ທີ່ສອດຄ້ອງກັນບໍ່ໄດ້ຮັບການຍອມຮັບ. ຖ້າທັງສອງທາງເລືອກແມ່ນຫັນ
ໃນເວລາດຽວ (ຄ່າເລີ່ມຕົ້ນ), ຫຼັງຈາກນັ້ນ syntax ທັງສອງຖືກຍອມຮັບ. ການປິດຕົວເລືອກທັງສອງ
ໃນເວລາດຽວຈະບໍ່ມີຄວາມຫມາຍ. ທາງ​ເລືອກ​ເຫຼົ່າ​ນີ້​ບໍ່​ມີ​ຜົນ​ກະ​ທົບ​ຖ້າ​ຫາກ​ວ່າ​ການ​ຮັບ​ຮູ້​ຂອງ​
Unix intrinsics ໄດ້ຖືກປິດ.

ຈົ່ງຈື່ໄວ້ວ່າການຕັ້ງຄ່ານີ້ບໍ່ໄດ້ຄວບຄຸມວ່າຈະມີການອອກຄຳເຕືອນທີ່ບໍ່ໄດ້ມາດຕະຖານຫຼືບໍ່
ກ່ຽວກັບຫນ້າທີ່ເຫຼົ່ານີ້. ມັນຄວບຄຸມບໍ່ວ່າຈະເປັນຫນ້າທີ່ສົມມຸດວ່າຈະເປັນ
intrinsic ຫຼືບໍ່, ເຊິ່ງກໍານົດວິທີການນໍາໃຊ້ຂອງເຂົາເຈົ້າຖືກກວດສອບ. ເມື່ອປະຕິບັດຫນ້າທີ່ຢູ່ໃນ
ໃດໆຂອງຊຸດເຫຼົ່ານີ້ແມ່ນລວມ, invocations ຂອງເຂົາເຈົ້າຈະໄດ້ຮັບການກວດກາອີງຕາມການ
ກົດລະບຽບສໍາລັບຫນ້າທີ່ພາຍໃນ; ຖ້າ​ບໍ່​ດັ່ງ​ນັ້ນ​ພວກ​ເຂົາ​ເຈົ້າ​ຈະ​ໄດ້​ຮັບ​ການ​ກວດ​ກາ​ເປັນ​ປົກ​ກະ​ຕິ (user-
ຂຽນ) ຫນ້າທີ່ພາຍນອກ. ການ​ເຕືອນ​ໄພ​ທີ່​ບໍ່​ໄດ້​ມາດ​ຕະ​ຖານ​ໄດ້​ຖືກ​ຄວບ​ຄຸມ​ໂດຍ​
-f77=ພາຍໃນ ທາງເລືອກ.

ຄ່າເລີ່ມຕົ້ນຂອງການຕັ້ງຄ່ານີ້ແມ່ນເທົ່າກັບ -intrinsic=ທັງໝົດ ປະຕິບັດຕາມໂດຍ
-intrinsic=no-vms ສໍາລັບລຸ້ນ Unix, -intrinsic=no-unix ສໍາລັບສະບັບ VMS, ແລະ
-intrinsic=no-unix,no-vms ສໍາລັບສະບັບອື່ນໆ.

ຫມາຍ​ເຫດ​: ໃນ​ສະ​ບັບ​ຂອງ​ ftnchek ກ່ອນ 2.10, ໄດ້ - ພາຍໃນ ທຸງເອົາຕົວເລກ
ການໂຕ້ຖຽງແທນທີ່ຈະເປັນບັນຊີລາຍຊື່ຂອງທາງເລືອກ. ສໍາລັບ sake ຂອງຜູ້ໃຊ້ທີ່ອາດຈະຂຽນ
scripts ຮຽກຮ້ອງ ftnchek ດ້ວຍວິທີນີ້, ຮູບແບບຕົວເລກຍັງຖືກຍອມຮັບ. ໄດ້
ຮູບແບບຕົວເລກຂອງການຕັ້ງຄ່າປະກອບດ້ວຍສາມຕົວເລກ. ຕົວເລກທີ່ເລືອກ
ຊຸດຂອງຫນ້າທີ່ພາຍໃນທີ່ຈະໄດ້ຮັບການສະຫນັບສະຫນູນ. ຕົວເລກ 0 ເລືອກພຽງແຕ່ Fortran 77
ພາຍໃນມາດຕະຖານບວກກັບສິ່ງທີ່ຈໍາເປັນເພື່ອສະຫນັບສະຫນູນຄວາມແມ່ນຍໍາຂະຫຍາຍທີ່ບໍ່ແມ່ນມາດຕະຖານ
ປະເພດຂໍ້ມູນ. ຕົວເລກ 1 ແມ່ນເທົ່າກັບ ພິເສດ, 2 ເທົ່າກັບ ພິເສດ, unix, ແລະ
3 ແມ່ນເທົ່າກັບ ພິເສດ, vms. ຕົວເລກສິບຂອງການຕັ້ງຄ່ານີ້ຄວບຄຸມ syntax
ຂອງຟັງຊັນພາຍໃນຂອງ RAND, ແລະຕົວເລກຫຼາຍຮ້ອຍຕົວຄວບຄຸມ syntax ຂອງ
ຟັງຊັນ IARGC. ສໍາລັບຕົວເລກເຫຼົ່ານີ້, ໃຫ້ລະບຸ 0 ເພື່ອຮຽກຮ້ອງໃຫ້ invocation ກັບ no
argument, 1 ເພື່ອຕ້ອງການຫນຶ່ງ argument, ແລະ 2 ເພື່ອອະນຸຍາດໃຫ້ແບບຟອມ.

ເບິ່ງເພີ່ມເຕີມ: -f77.

- ຫ້ອງ​ສະ​ຫມຸດ​
ສະວິດນີ້ຖືກນໍາໃຊ້ໃນເວລາທີ່ຈໍານວນຂອງໂຄງການຍ່ອຍໄດ້ຖືກບັນຈຸຢູ່ໃນໄຟລ໌, ແຕ່ບໍ່ແມ່ນ
ທັງຫມົດຂອງພວກເຂົາຖືກນໍາໃຊ້ໂດຍຄໍາຮ້ອງສະຫມັກ. ປົກກະຕິ, ftnchek ເຕືອນທ່ານຖ້າມີ
ໂຄງການຍ່ອຍແມ່ນຖືກກໍານົດແຕ່ບໍ່ເຄີຍໃຊ້. ສະວິດນີ້ຈະສະກັດກັ້ນການເຕືອນເຫຼົ່ານີ້.
ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ສະວິດນີ້ຍັງຄວບຄຸມການໂທຫາໂຄງການຍ່ອຍແລະການປະກາດບລັອກ COMMON
ກວດແລ້ວ. ຖ້າໄຟລ໌ຖືກອ່ານດ້ວຍ - ຫ້ອງ​ສະ​ຫມຸດ​ ທຸງໃນຜົນກະທົບ, ໂຄງການຍ່ອຍໂທຫາ
ແລະການປະກາດທົ່ວໄປທີ່ມີຢູ່ໃນລາຍການປົກກະຕິໃນໄຟລ໌ນັ້ນຈະຖືກກວດສອບພຽງແຕ່ຖ້າ
ປົກກະຕິນັ້ນແມ່ນຢູ່ໃນຕົ້ນໄມ້ການໂທຂອງໂຄງການຕົ້ນຕໍ. ໃນທາງກົງກັນຂ້າມ, ຖ້າ
- ຫ້ອງ​ສະ​ຫມຸດ​ ສະວິດຖືກປິດ, ຈາກນັ້ນ ftnchek ກວດເບິ່ງການໂທຂອງທຸກໆປົກກະຕິໂດຍ
ທຸກໆກິດຈະວັດອື່ນໆ, ໂດຍບໍ່ຄໍານຶງເຖິງວ່າສິ່ງທີ່ປົກກະຕິເຫຼົ່ານັ້ນສາມາດເປັນໄດ້
invoked ໃນ​ເວ​ລາ​ທີ່​ດໍາ​ເນີນ​ການ​, ແລະ​ເຊັ່ນ​ດຽວ​ກັນ​ທັງ​ຫມົດ​ປະ​ກາດ block COMMON ແມ່ນ​ສົມ​ທຽບ​ສໍາ​ລັບ​ການ​
ຂໍ້ຕົກລົງ.

ຄວາມແຕກຕ່າງລະຫວ່າງສະຫຼັບນີ້ແລະ -usage=no-ext-unused ທາງເລືອກສໍາລັບການ
subprograms ແມ່ນວ່າສຸດທ້າຍສະກັດກັ້ນພຽງແຕ່ການເຕືອນໄພກ່ຽວກັບການເປັນປົກກະຕິ
ປະກາດແຕ່ບໍ່ໄດ້ໃຊ້. ໄດ້ - ຫ້ອງ​ສະ​ຫມຸດ​ switch ໄປຕື່ມອີກແລະຍົກເວັ້ນບໍ່ໄດ້ໃຊ້
ການປະມວນຜົນປົກກະຕິໃນຂະນະທີ່ມັນມີຜົນມາຈາກການກວດສອບຂ້າມການໂຕ້ຖຽງແລະ
ການປະກາດບລັອກທົ່ວໄປເຊັ່ນດຽວກັນ.

(ຖ້າຫາກວ່າບໍ່ມີໂຄງການຕົ້ນຕໍທຸກບ່ອນໃນຊຸດຂອງໄຟລ໌ທີ່ ftnchek ໄດ້ອ່ານ, ດັ່ງນັ້ນ
ວ່າບໍ່ມີຕົ້ນໄມ້ໂທຫາ, ຫຼັງຈາກນັ້ນ ftnchek ຈະຊອກຫາສິ່ງທີ່ເປັນປະຈຳທີ່ບໍ່ແມ່ນຫ້ອງສະໝຸດ
ທີ່ບໍ່ໄດ້ຖືກເອີ້ນໂດຍປົກກະຕິອື່ນໆ, ແລະນໍາໃຊ້ເຫຼົ່ານີ້ເປັນການທົດແທນສໍາລັບການຕົ້ນຕໍ
ໂຄງ​ການ​ໃນ​ການ​ກໍ່​ສ້າງ​ຕົ້ນ​ໄມ້​ໂທ​ແລະ​ການ​ຕັດ​ສິນ​ໃຈ​ສິ່ງ​ທີ່​ຈະ​ກວດ​ສອບ​. ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ມີ​ທາງ​ເທິງ​ດັ່ງ​ກ່າວ -
ລະດັບການປົກກະຕິທີ່ບໍ່ແມ່ນຫ້ອງສະຫມຸດໄດ້ຖືກພົບເຫັນ, ຫຼັງຈາກນັ້ນທັງຫມົດການໂທລະຫວ່າງໂມດູນແລະ COMMON ທັງຫມົດ
ໃບປະກາດຈະຖືກກວດສອບ.)

ເບິ່ງເພີ່ມເຕີມ: - ການໂຕ້ຖຽງ, - calltree, - ທົ່ວໄປ, - ພາຍນອກ, - ການ​ນໍາ​ໃຊ້​.

-list
ລະບຸວ່າລາຍຊື່ຂອງໂຄງການ Fortran ຈະຖືກພິມອອກເປັນແຖວ
ຕົວເລກ. ຖ້າ ftnchek ກວດ​ພົບ​ຄວາມ​ຜິດ​ພາດ​, ຂໍ້​ຄວາມ​ຜິດ​ພາດ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ເສັ້ນ​ໂຄງ​ການ​
ດ້ວຍ cart ( ^ ) ການລະບຸສະຖານທີ່ຂອງຄວາມຜິດພາດ. ຖ້າບໍ່ມີລາຍຊື່ແຫຼ່ງ
ຮ້ອງຂໍ, ftnchek ຈະ​ຍັງ​ພິມ​ອອກ​ສາຍ​ໃດ​ຫນຶ່ງ​ທີ່​ມີ​ຄວາມ​ຜິດ​ພາດ​, ເພື່ອ​ຊ່ວຍ​ໃຫ້​ໄດ້​
ຜູ້​ໃຊ້​ໃນ​ການ​ກໍາ​ນົດ​ບ່ອນ​ທີ່​ຄວາມ​ຜິດ​ພາດ​ເກີດ​ຂຶ້ນ​. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ເບິ່ງເພີ່ມເຕີມ: - ຜົນ​ຜະ​ລິດ​, \fB-symtab, fB-ງຽບ.

-makecls=ບັນຊີລາຍຊື່
ກະກຽມໄຟລ໌ທີ່ມີຮູບແບບທີ່ລະອຽດອ່ອນຂອງການປະກາດຕົວແປ, ຕັນທົ່ວໄປ, ແລະ
ບັນຊີລາຍຊື່ລາຍຊື່, ສໍາລັບການລວມເຂົ້າກັນທີ່ເປັນໄປໄດ້ໃນລະຫັດແຫຼ່ງ. ຖະແຫຼງການແມ່ນ
ເກັບໄວ້ໃນໄຟລ໌ທີ່ມີຊື່ດຽວກັນກັບລະຫັດແຫຼ່ງ, ແຕ່ມີນາມສະກຸນ
ປ່ຽນເປັນ .dcl. ຖ້າບໍ່ມີການປະກາດຖືກຂຽນໃສ່ໄຟລ໌, ມັນຈະຖືກລຶບຖິ້ມ
ຫຼຸດຜ່ອນຄວາມວຸ່ນວາຍຈາກໄຟລ໌ເປົ່າ.

ຖ້າການປ້ອນຂໍ້ມູນມາຈາກວັດສະດຸປ້ອນມາດຕະຖານ, ແທນທີ່ຈະເປັນໄຟລ໌ທີ່ມີຊື່, ຫຼັງຈາກນັ້ນການປະກາດແມ່ນ
ຂຽນເປັນຜົນຜະລິດມາດຕະຖານ.

ຕົວແປຖືກປະກາດຕາມລຳດັບຕົວອັກສອນພາຍໃນແຕ່ລະໝວດການປະກາດ ແລະ
ປະເພດ, ດ້ວຍຕົວແປຈໍານວນເຕັມກ່ອນ, ເນື່ອງຈາກການນໍາໃຊ້ທີ່ເປັນໄປໄດ້ໃນ array ຕໍ່ມາ
ຂະ ໜາດ.

ຄໍາຖະແຫຼງ PARAMETER ແມ່ນຂໍ້ຍົກເວັ້ນຕໍ່ກົດລະບຽບການສັ່ງຕົວຫນັງສື, ເພາະວ່າ
Fortran 77 ມາດຕະຖານຮຽກຮ້ອງໃຫ້ມີການສະແດງອອກທີ່ກໍານົດຄ່າພາລາມິເຕີອ້າງອີງ
ພຽງແຕ່ກັບຄ່າຄົງທີ່ແລະຊື່ພາລາມິເຕີທີ່ກໍານົດໄວ້ແລ້ວ. ນີ້ບັງຄັບໃຫ້ຕົ້ນສະບັບ
ແຫຼ່ງໄຟລ໌ຄໍາສັ່ງຂອງຄໍາຖະແຫຼງດັ່ງກ່າວທີ່ຈະຮັກສາໄວ້ໃນໄຟລ໌ປະກາດ.

ຖະແຫຼງການຢ່າງຈະແຈ້ງຂອງ ທັງຫມົດ ຕົວແປແມ່ນຖືວ່າເປັນການຂຽນໂປລແກລມທີ່ທັນສະໄຫມທີ່ດີ
ການປະຕິບັດ. ໂດຍການນໍາໃຊ້ຕົວເລືອກການລວບລວມເພື່ອປະຕິເສດຕົວແປທີ່ບໍ່ໄດ້ປະກາດ, ສະກົດຜິດ
ຊື່ຕົວແປ (ຫຼືຊື່ທີ່ຂະຫຍາຍຖັນທີ່ຜ່ານມາ 72) ສາມາດຖືກຈັບໃນເວລາລວບລວມ.
ການປະກາດທີ່ຊັດເຈນຍັງຊ່ວຍອໍານວຍຄວາມສະດວກຢ່າງຫຼວງຫຼາຍຕໍ່ການປ່ຽນແປງຈຸດເລື່ອນ
ກັບການກັ່ນຕອງເຊັ່ນ: dtoq(1L), dtos(1L), fd2s(1L), fs2d(1L), qtod(1L), ແລະ
ຢືນ(1L). ໂຄງການເຫຼົ່ານີ້ສາມາດປ່ຽນແປງປະເພດຂອງຈຸດທີ່ເລື່ອນໄດ້ຢ່າງຊັດເຈນ
ປະ​ເພດ​ການ​ປະ​ກາດ​, ຫນ້າ​ທີ່​ພາຍ​ໃນ​, ແລະ​ຄົງ​ທີ່​, ແຕ່​ເນື່ອງ​ຈາກ​ວ່າ​ພວກ​ເຂົາ​ບໍ່​ໄດ້​
ປະຕິບັດການວິເຄາະ lexical ແລະ grammatical ຢ່າງເຂັ້ມງວດຂອງລະຫັດແຫຼ່ງ Fortran,
ພວກເຂົາເຈົ້າບໍ່ສາມາດສະຫນອງການປະກາດປະເພດດັດແກ້ສໍາລັບຕົວແປທີ່ບໍ່ໄດ້ປະກາດ. ຄ່າເລີ່ມຕົ້ນ
ການຕັ້ງຄ່າ = 0, ເປີດ = 1.

ທາງ​ເລືອກ​ຕ່າງໆ​ສໍາ​ລັບ​ຮູບ​ແບບ​ຂອງ​ໄຟລ​໌​ປະ​ກາດ​ໄດ້​ຖືກ​ຄວບ​ຄຸມ​ໂດຍ​ການ​ ບັນຊີລາຍຊື່,
ເຊິ່ງປະກອບດ້ວຍຄໍາທີ່ແຍກອອກດ້ວຍເຄື່ອງໝາຍຈຸດ ຫຼືຈໍ້າສອງເມັດ. ມີສາມພິເສດ
ຄຳ ສຳ ຄັນ: ທັງຫມົດ ເພື່ອ​ເປີດ​ຕົວ​ເລືອກ​ທັງ​ຫມົດ​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ to
ພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ is
ຖືກລະເວັ້ນ, - makedcls ເທົ່າກັບ -makedcls=ປະກາດ (ເຊັ່ນ: ຜະລິດ
ໄຟລ໌ການປະກາດໂດຍໃຊ້ຕົວເລືອກເລີ່ມຕົ້ນ), ແລະ -nomakedcls ເທົ່າກັບ
-makedcls=ບໍ່ມີ.

ສໍາລັບຄວາມເຂົ້າກັນໄດ້ກັບສະບັບທີ່ຜ່ານມາຂອງ ftnchek, ຮູບແບບຕົວເລກຂອງການຕັ້ງຄ່ານີ້
ຍັງໄດ້ຮັບການຍອມຮັບ: ໄດ້ ບັນຊີລາຍຊື່ ຖືກແທນທີ່ດ້ວຍຕົວເລກທີ່ເປັນຜົນລວມຂອງຕົວເລກ
ໃນວົງເລັບຂ້າງຄໍາທີ່ຢູ່ໃນບັນຊີລາຍຊື່ຕໍ່ໄປນີ້. ຄໍາເຕືອນ
ກັບ​ຄວາມ​ຫມາຍ​ຂອງ​ເຂົາ​ເຈົ້າ​ແມ່ນ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

ການປະກາດ (1):
ຂຽນເອກະສານປະກາດ. (ອັນນີ້ຫມາຍເຖິງທາງເລືອກອື່ນ, ແລະ
ສາ​ມາດ​ຍົກ​ເວັ້ນ​ໄດ້​ຖ້າ​ຫາກ​ວ່າ​ທາງ​ເລືອກ​ອື່ນ​ແມ່ນ​ໄດ້​ຮັບ​.)

ບໍ່ໄດ້ປະກາດເທົ່ານັ້ນ (2):
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຕົວແປທັງໝົດແມ່ນລວມຢູ່ໃນໄຟລ໌ການປະກາດ. ດ້ວຍນີ້
ທາງເລືອກ, ປະກອບມີພຽງແຕ່ ບໍ່ປະກາດ ຕົວແປ. ການຕັ້ງຄ່ານີ້ເປັນປະໂຫຍດຖ້າທ່ານ
ຕ້ອງການກວດສອບຕົວແປທີ່ຍັງບໍ່ໄດ້ປະກາດ, ນັບຕັ້ງແຕ່ໄຟລ໌ແຫຼ່ງ Fortran ກັບທັງຫມົດ
ຕົວແປທີ່ຖືກປະກາດຢ່າງຖືກຕ້ອງຈະບໍ່ສົ່ງຜົນໃຫ້ a .dcl ໄຟລ໌. ດ້ວຍນີ້
ທາງເລືອກ, ຕັນທົ່ວໄປແລະບັນຊີລາຍຊື່ namelist ຈະບໍ່ຖືກລວມຢູ່ໃນ
ເອກະສານການປະກາດ, ເນື່ອງຈາກວ່າໂດຍທໍາມະຊາດຂອງເຂົາເຈົ້າ, ພວກເຂົາເຈົ້າບໍ່ສາມາດ undeclared.

ຫນາແຫນ້ນ (4):
ການປະກາດແມ່ນປົກກະຕິແລ້ວ prettyprinted ເພື່ອ line up neatly ທົ່ວໄປ
ຖັນ, ເຊັ່ນດຽວກັບໄຟລ໌ປະກາດທີ່ສົ່ງອອກໂດຍ Extended PFORT Verifier,
ຟອດ(1L). ຄ່າທາງເລືອກນີ້ເລືອກຜົນຜະລິດທີ່ຫນາແຫນ້ນ, ໂດຍບໍ່ມີຖັນ
ການຈັດວາງ.

use-continuation-lines (8):
ເຮັດໃຫ້ສາຍຕໍ່ເນື່ອງຖືກໃຊ້ໃນບ່ອນທີ່ອະນຸຍາດ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອ
ເລີ່ມການປະກາດໃໝ່ໃນແຕ່ລະແຖວ. ທາງເລືອກນີ້ແມ່ນເຫມາະສົມທີ່ຈະນໍາໃຊ້
ພ້ອມດ້ວຍ ຫນາແຫນ້ນ.

ຄໍາສໍາຄັນ-ຕົວພິມນ້ອຍ (16):
ເອົາຄໍາທີ່ໃຊ້ Fortran ໃນຮູບແບບຕົວພິມນ້ອຍ, ແທນທີ່ຈະເປັນຕົວພິມໃຫຍ່ເລີ່ມຕົ້ນ.

vars-and-consts-ຕົວພິມນ້ອຍ (32):
ຜົນໄດ້ຮັບຂອງຕົວແປ ແລະຄ່າຄົງທີ່ໃນຕົວພິມນ້ອຍ, ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ
ຕົວພິມໃຫຍ່. ຄົງຕົວສະຕຣິງຕົວອັກສອນບໍ່ໄດ້ຮັບຜົນກະທົບຈາກຕົວເລືອກນີ້.

exclude-sftran3 (64):
ຍົກເລີກການປະກາດຕົວແປຈຳນວນເຕັມພາຍໃນທີ່ຜະລິດໂດຍ SFTRAN3
ໂປເຊດເຊີກ່ອນ, xsf3(1L), ເປັນສ່ວນຫນຶ່ງຂອງການແປພາສາ Fortran ທີ່ມີໂຄງສ້າງ
ຄໍາຖະແຫຼງຕໍ່ Fortran ທໍາມະດາ. ຕົວແປເຫຼົ່ານີ້ມີຊື່ຫົກຕົວອັກສອນ
ແບບຟອມ NPRddd, NXddd, N2dddd, ແລະ N3dddd, ບ່ອນທີ່ d ເປັນຕົວເລກທົດສະນິຍົມ.
ເນື່ອງຈາກວ່າພວກເຂົາເຈົ້າແມ່ນເບິ່ງບໍ່ເຫັນໃນລະຫັດແຫຼ່ງ SFTRAN3, ແລະຈະມີການປ່ຽນແປງຖ້າຫາກວ່າໄດ້
ລະຫັດ SFTRAN3 ຖືກແກ້ໄຂ, ຕົວແປດັ່ງກ່າວບໍ່ຄວນຖືກປະກາດຢ່າງຈະແຈ້ງ.
ແທນທີ່ຈະ, ພວກເຂົາພຽງແຕ່ສົມມຸດເປັນປະເພດຂໍ້ມູນ Fortran INTEGER ເລີ່ມຕົ້ນໂດຍອີງໃສ່
ໃນ​ຈົດ​ຫມາຍ​ສະ​ບັບ​ຕົ້ນ​ຂອງ​ເຂົາ​ເຈົ້າ​, N.

asterisk-comment (128):
ໃຊ້ເຄື່ອງໝາຍດາວເປັນຕົວອັກສອນຄຳເຫັນ; ຄ່າເລີ່ມຕົ້ນແມ່ນຖ້າບໍ່ດັ່ງນັ້ນ 'C'.

comment-char-ຕົວພິມນ້ອຍ (256):
ໃຊ້ 'c' ແທນ 'C' ຫຼື '*' ເປັນຕົວອັກສອນຄຳເຫັນ.

suppress-array-dimensions (512):
ສະກັດກັ້ນການຂະຫຍາຍຂະໜາດຂອງອາເຣໃນໃບປະກາດທີ່ສ້າງຂຶ້ນ. ທາງເລືອກນີ້
ແມ່ນ​ສໍາ​ລັບ​ການ​ນໍາ​ໃຊ້​ກັບ​ລະ​ຫັດ​ທີ່​ຂາດ​ການ​ປະ​ກາດ​ປະ​ເພດ​, ເພື່ອ​ອະ​ນຸ​ຍາດ​ໃຫ້​ການ​ປະ​ກາດ​
ໄຟລ໌ທີ່ຈະໃສ່ໂດຍບໍ່ມີການປ່ຽນລະຫັດ. ນັບຕັ້ງແຕ່ລະຫັດຈະມີ
dimension statements ແລ້ວ, dimensioning the array variables in the type
ຖະແຫຼງການຂອງເອກະສານການປະກາດແມ່ນຊໍ້າຊ້ອນ. ທາງເລືອກນີ້ຄວນຈະຖືກນໍາໃຊ້
ພຽງແຕ່ສົມທົບກັບທາງເລືອກ 2 = undeclared-only ເນື່ອງຈາກວ່າຖ້າບໍ່ດັ່ງນັ້ນໃດໆ
arrays ທີ່​ໄດ້​ຮັບ​ຂະ​ຫນາດ​ໃນ​ຄໍາ​ຖະ​ແຫຼງ​ການ​ປະ​ເພດ​ຈະ​ສູນ​ເສຍ​ຂອງ​ພວກ​ເຂົາ​
ຂະຫນາດ.

ຮູບແບບຟຣີ (1024):
ຜະລິດໃບປະກາດໃນຮູບແບບແຫຼ່ງຟຣີ. ໂຫມດນີ້ຖືກນໍາໃຊ້ໂດຍອັດຕະໂນມັດຖ້າ
ແຫຼ່ງປ້ອນຂໍ້ມູນແມ່ນຮູບແບບຟຣີ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອຜະລິດການປະກາດໃນ
ແບບຟອມຟຣີເຖິງແມ່ນວ່າການປ້ອນຂໍ້ມູນແມ່ນຢູ່ໃນຮູບແບບຄົງທີ່. ການປະກາດແບບຟອມຟຣີແມ່ນ
ຫຍໍ້ໜ້າພຽງແຕ່ 2 ຖັນແທນ 6, ໃຫ້ໃຊ້ເຄື່ອງໝາຍ exclamation ເປັນຄຳເຫັນ
ລັກສະນະ, ແລະຊີ້ບອກສາຍຕໍ່ເນື່ອງໂດຍ ampersand ໃນຕອນທ້າຍຂອງການ
ເສັ້ນທີ່ຈະສືບຕໍ່.

ເອກະສານການປະກາດປະກອບມີຄໍາຄິດເຫັນທີ່ໂດດເດັ່ນທີ່ຫມາຍຈຸດເລີ່ມຕົ້ນແລະສິ້ນສຸດ
ປະກາດສໍາລັບແຕ່ລະຫນ່ວຍງານໂຄງການ, ເພື່ອອໍານວຍຄວາມສະດວກໃນການນໍາໃຊ້ macro ບັນນາທິການຂໍ້ຄວາມສໍາລັບ
ການລວມເອົາການປະກາດກັບຄືນສູ່ລະຫັດແຫຼ່ງ.

ໄດ້ ftnchek ການ​ແຜ່​ກະ​ຈາຍ​ປະ​ກອບ​ມີ​ໂຄງ​ການ​, dcl2inc, ເຊິ່ງດໍາເນີນການປະກາດ
ໄຟລ໌ເພື່ອຜະລິດໄຟລ໌ທີ່ປະກອບດ້ວຍການປະກາດຂອງຕັນ COMMON ທັງຫມົດ, ໃນຮູບແບບ
ເໝາະສຳລັບໃຊ້ເປັນໄຟລ໌ລວມ. ເບິ່ງ dcl2inc(1L) man page ສໍາລັບລາຍລະອຽດຂອງ
ການ​ນໍາ​ໃຊ້​ຂອງ​ຕົນ​.

ເບິ່ງເພີ່ມເຕີມ: -mkhtml.

-mkhtml=ບັນຊີລາຍຊື່
ຜະລິດເອກະສານ HTML ຈາກແຫຼ່ງ. ສ້າງໄຟລ໌ HTML ສ່ວນບຸກຄົນຈາກ ftnchek
ການວິເຄາະແລະຄໍາເຫັນລະຫັດ. ຄໍາ​ເຫັນ​ທັງ​ຫມົດ​ໃນ​ທັນ​ທີ​ກ່ອນ​ຫນ້າ​ແລະ​ປະ​ຕິ​ບັດ​ຕາມ​
ຟັງຊັນ ຫຼືຄຳນິຍາມຍ່ອຍຖືກບັນທຶກໃສ່ໄຟລ໌ HTML. ບໍ່ມີການປະຕິຮູບ
ຄໍາຄິດຄໍາເຫັນຂອງແຫຼ່ງແມ່ນປະຕິບັດນອກເຫນືອຈາກການລອກເອົາຕົວອັກສອນຄໍາເຫັນ FORTRAN.
ນອກຈາກນັ້ນ, ໄຟລ໌ HTML ລາຍຊື່ຕົວແປທ້ອງຖິ່ນທີ່ຖືກປະກາດ, ຕັນທົ່ວໄປ
ຕົວແປທີ່ໃຊ້, ຟັງຊັນ ແລະ routines ຍ່ອຍເອີ້ນວ່າ, ການນຳໃຊ້ຫົວໜ່ວຍ I/O, ແລະອື່ນໆ
ຂໍ້ມູນກ່ຽວກັບແຕ່ລະໂຄງການຍ່ອຍ. ປົກກະຕິແລ້ວທ່ານຍັງຕ້ອງການທີ່ຈະລະບຸ
-call=ຕົ້ນໄມ້ ເພື່ອສ້າງໄຟລ໌ HTML ຮາກ CallTree.html. (ບາງທີໄຟລ໌ນີ້ຄວນ
ຊື່ວ່າ index.html.)

ທາງເລືອກຕ່າງໆສໍາລັບຮູບແບບຂອງໄຟລ໌ HTML ແມ່ນຖືກຄວບຄຸມໂດຍ ບັນຊີລາຍຊື່, ທີ່
ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ມີສາມພິເສດ
ຄຳ ສຳ ຄັນ: ທັງຫມົດ ເພື່ອ​ເປີດ​ຕົວ​ເລືອກ​ທັງ​ຫມົດ​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ to
ພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ is
ຖືກລະເວັ້ນ, -mkhtml ເທົ່າກັບ -mkhtml=ເອກະສານ (ເຊັ່ນ: ຜະລິດເອກະສານ HTML
ໄຟລ໌ໂດຍໃຊ້ຕົວເລືອກເລີ່ມຕົ້ນ), ແລະ -nomkhtmls ເທົ່າກັບ -mkhtml=none.

ສໍາລັບ sake ຂອງຄວາມງ່າຍດາຍ, ທາງເລືອກໃນການ -mkhtml ແມ່ນຄືກັນກັບທີ່ສໍາລັບ
- makedcls ຍົກເວັ້ນສຳລັບອັນທີ່ບໍ່ສາມາດໃຊ້ໄດ້. ເຊັ່ນດຽວກັນ, ຮູບແບບຕົວເລກຂອງ
ການຕັ້ງຄ່ານີ້ສາມາດຖືກນໍາໃຊ້, ສ້າງເປັນຜົນລວມຂອງຕົວເລກໃນວົງເລັບໃນ
ບັນຊີລາຍຊື່ຂ້າງລຸ່ມນີ້. ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

ເອກະສານ (1):
ສ້າງເອກະສານ HTML. (ອັນນີ້ຫມາຍເຖິງທາງເລືອກອື່ນ, ແລະ
ສາ​ມາດ​ຍົກ​ເວັ້ນ​ໄດ້​ຖ້າ​ຫາກ​ວ່າ​ທາງ​ເລືອກ​ອື່ນ​ແມ່ນ​ໄດ້​ຮັບ​.)

ຫນາແຫນ້ນ (4):
ການປະກາດແມ່ນປົກກະຕິແລ້ວ prettyprinted ເພື່ອ line up neatly ທົ່ວໄປ
ຖັນ. ຄ່າທາງເລືອກນີ້ເລືອກຜົນຜະລິດທີ່ຫນາແຫນ້ນ, ໂດຍບໍ່ມີຖັນ
ການຈັດວາງ.

use-continuation-lines (8):
ເຮັດໃຫ້ສາຍຕໍ່ເນື່ອງຖືກໃຊ້ແທນການເລີ່ມຕົ້ນການປະກາດໃໝ່
ໃນແຕ່ລະສາຍ. ທາງເລືອກນີ້ແມ່ນເຫມາະສົມທີ່ຈະໃຊ້ຮ່ວມກັນກັບ ຫນາແຫນ້ນ.

ຄໍາສໍາຄັນ-ຕົວພິມນ້ອຍ (16):
ເອົາຄໍາທີ່ໃຊ້ Fortran ໃນຮູບແບບຕົວພິມນ້ອຍ, ແທນທີ່ຈະເປັນຕົວພິມໃຫຍ່ເລີ່ມຕົ້ນ.

vars-and-consts-ຕົວພິມນ້ອຍ (32):
ຜົນໄດ້ຮັບຂອງຕົວແປ ແລະຄ່າຄົງທີ່ໃນຕົວພິມນ້ອຍ, ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ
ຕົວພິມໃຫຍ່. ຄົງຕົວສະຕຣິງຕົວອັກສອນບໍ່ໄດ້ຮັບຜົນກະທົບຈາກຕົວເລືອກນີ້.

exclude-sftran3 (64):
ຍົກເລີກການປະກາດຕົວແປຈຳນວນເຕັມພາຍໃນທີ່ຜະລິດໂດຍ SFTRAN3
ໂປເຊດເຊີກ່ອນ, xsf3(1L). (ເບິ່ງ - makedcls ສໍາ​ລັບ​ການ​ສົນ​ທະ​ນາ​.)

suppress-array-dimensions (512):
ສະກັດກັ້ນການຂະຫຍາຍຂະໜາດຂອງອາເຣໃນໃບປະກາດທີ່ສ້າງຂຶ້ນ. ນີ້​ແມ່ນ
ປົກກະຕິແລ້ວ undesirable, ແຕ່ສາມາດໃຊ້ໄດ້ຖ້າຫາກວ່າສໍາລັບເຫດຜົນບາງຢ່າງທີ່ທ່ານບໍ່ຕ້ອງການ
ຂະຫນາດອາເຣທີ່ຈະປາກົດຢູ່ໃນ HTML.

ຮູບແບບຟຣີ (1024):
ຜະລິດການປະກາດຕົວແປໃນຮູບແບບແຫຼ່ງຟຣີ. ຮູບແບບນີ້ແມ່ນ
ໃຊ້ອັດຕະໂນມັດຖ້າແຫຼ່ງປ້ອນເຂົ້າແມ່ນຮູບແບບຟຣີ. ນີ້ສ່ວນໃຫຍ່ແມ່ນຜົນກະທົບຕໍ່
ຮູບແບບຂອງສາຍຕໍ່ເນື່ອງຖ້າພວກເຂົາຖືກນໍາໃຊ້.

ເບິ່ງເພີ່ມເຕີມ: - calltree, - makedcls.

- ຈົວ
ທຸງນີ້ມີຈຸດປະສົງເພື່ອໃຫ້ຜົນຜະລິດທີ່ເປັນປະໂຫຍດຫຼາຍສໍາລັບຜູ້ເລີ່ມຕົ້ນ. ມັນມີສອງ
ຜົນກະທົບ:

(a) ສະຫນອງຂໍ້ຄວາມເພີ່ມເຕີມຕໍ່ກັບຜົນກະທົບທີ່ຟັງຊັນທີ່ຖືກນໍາໃຊ້ແຕ່ບໍ່ແມ່ນ
ກໍານົດຢູ່ບ່ອນໃດກໍໄດ້ອາດຈະເປັນ array ທີ່ຜູ້ໃຊ້ລືມປະກາດໃນ a
DIMENSION ຖະແຫຼງການ (ເນື່ອງຈາກ syntax ຂອງການອ້າງອີງ array ແມ່ນຄືກັນກັບວ່າ
ຂອງການອ້າງອີງຟັງຊັນ).

(b​) ປັບ​ປຸງ​ແກ້​ໄຂ​ຮູບ​ແບບ​ຂອງ​ຂໍ້​ຄວາມ​ຜິດ​ພາດ​ແລະ​ຄໍາ​ເຕືອນ​. ຖ້າທຸງຖືກຫັນ
ປິດໂດຍ - nonovice, ຂໍ້ຄວາມເຫຼົ່ານີ້ຖືກພິມອອກໃນຮູບແບບທີ່ຄ້າຍຄືກັບ UNIX ຫຼາຍ
ຝັກ.

ຄ່າເລີ່ມຕົ້ນ = ແມ່ນ.

-output=ຊື່​ເອ​ກະ​ສານ
ການ​ຕັ້ງ​ຄ່າ​ນີ້​ແມ່ນ​ໄດ້​ສະ​ຫນອງ​ໃຫ້​ເພື່ອ​ຄວາມ​ສະ​ດວກ​ໃນ​ລະ​ບົບ​ທີ່​ບໍ່​ອະ​ນຸ​ຍາດ​ໃຫ້​ງ່າຍ​
redirection ຂອງຜົນຜະລິດຈາກໂຄງການ. ເມື່ອການຕັ້ງຄ່ານີ້ຖືກມອບໃຫ້, ຜົນຜະລິດທີ່
ປົກກະຕິແລ້ວປາກົດຢູ່ໃນຫນ້າຈໍຈະຖືກສົ່ງແທນທີ່ຈະເປັນໄຟລ໌ທີ່ມີຊື່. ຫມາຍ​ເຫດ​,
ແນວໃດກໍ່ຕາມ, ຄວາມຜິດພາດການດໍາເນີນງານຂອງ ftnchek ຕົວຂອງມັນເອງ (ຕົວຢ່າງອອກຈາກພື້ນທີ່ຫຼືບໍ່ສາມາດ
open file) ຍັງຈະຖືກສົ່ງໄປຫາຫນ້າຈໍ. ສ່ວນຂະຫຍາຍສໍາລັບຊື່ໄຟລ໌ແມ່ນ
ທາງເລືອກ, ແລະຖ້າບໍ່ມີສ່ວນຂະຫຍາຍແມ່ນໃຫ້, ສ່ວນຂະຫຍາຍ .lis ຈະຖືກນໍາໃຊ້.

-pointersize=num
ລະບຸຂະໜາດຂອງຕົວແປ ``ຕົວຊີ້ Cray'' ທີ່ຈະເປັນ num ໄບຕ໌. ຄ່າເລີ່ມຕົ້ນ = turn-
on = 4 bytes.

ຂະໜາດຕົວຊີ້ຖືກໃຊ້ເພື່ອແຈ້ງເຕືອນຄວາມຊັດເຈນບໍ່ກົງກັນກັບຕົວຊີ້
ຕົວແປ, ຕົວຢ່າງເມື່ອຕົວຊີ້ຖືກມອບໝາຍຄ່າຈາກການຈັດສັນ
ປົກກະຕິ, ຫຼືຜ່ານເປັນຕົວກໍານົດການໂຄງການຍ່ອຍ.

ເບິ່ງເພີ່ມເຕີມ: -f77, - ພົກພາ, - ຕັດ, - ຂະ​ຫນາດ​ຄໍາ​.

-portability=ບັນຊີລາຍຊື່
ftnchek ຈະ​ໃຫ້​ຄໍາ​ເຕືອນ​ສໍາ​ລັບ​ຄວາມ​ຫຼາກ​ຫຼາຍ​ຂອງ​ການ​ນໍາ​ໃຊ້​ທີ່​ບໍ່​ແມ່ນ Portable​. ຕົວຢ່າງລວມມີ
ການນໍາໃຊ້ແຖບຍົກເວັ້ນໃນຄໍາເຫັນຫຼືພາຍໃນສາຍ, ການນໍາໃຊ້ Hollerith
ຄົງທີ່, ແລະການທຽບເທົ່າຂອງຕົວແປຂອງປະເພດຂໍ້ມູນທີ່ແຕກຕ່າງກັນ. ທາງເລືອກນີ້
ບໍ່​ໄດ້​ຜະ​ລິດ​ຄໍາ​ເຕືອນ​ສໍາ​ລັບ​ການ​ຂະ​ຫຍາຍ​ສະ​ຫນັບ​ສະ​ຫນູນ​ກັບ Fortran 77 ມາດ​ຕະ​ຖານ​,
ເຊິ່ງອາດຈະເຮັດໃຫ້ເກີດບັນຫາການພົກພາ. ເພື່ອຈັບພວກມັນ, ໃຫ້ໃຊ້ -f77 ຕັ້ງ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ການເຕືອນໄພທັງໝົດຖືກປິດໄວ້.

ການຕັ້ງຄ່ານີ້ໃຫ້ການຄວບຄຸມຢ່າງລະອຽດກ່ຽວກັບຄໍາເຕືອນກ່ຽວກັບການເຄື່ອນທີ່ທີ່ເປັນໄປໄດ້
ບັນຫາ. ທ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ມີ
ສາມຄໍາສໍາຄັນພິເສດ: ທັງຫມົດ ເພື່ອເປີດການເຕືອນໄພທັງໝົດກ່ຽວກັບການນຳໃຊ້ທີ່ບໍ່ສາມາດພົກພາໄດ້,
none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດດ້ວຍ a
ຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, - ພົກພາ ເທົ່າກັບ
-portability=ທັງໝົດ, ແລະ - ຄວາມ​ປອດ​ໄພ​ ເທົ່າກັບ -portability=none. ໄດ້
ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

backslash:
ຕົວອັກສອນ backslash ໃນສະຕຣິງ. ເນື່ອງຈາກບາງ compilers ປະຕິບັດກັບ backslash ເປັນ
ລັກສະນະການຫລົບຫນີ, ການປະກົດຕົວຂອງມັນສາມາດເຮັດໃຫ້ເກີດບັນຫາເຖິງແມ່ນວ່າມັນຖືກນໍາໃຊ້
ໃນ​ວິ​ທີ​ການ​ມາດ​ຕະ​ຖານ​.

ການ​ຈັດ​ຕັ້ງ​ທົ່ວ​ໄປ​:
ຕົວແປບລັອກທົ່ວໄປບໍ່ໄດ້ຢູ່ໃນລຳດັບຈາກໃຫຍ່ຫານ້ອຍຂອງຂະໜາດບ່ອນເກັບຂໍ້ມູນ. ບາງ
compilers ຕ້ອງການຄໍາສັ່ງນີ້ເນື່ອງຈາກຄວາມຕ້ອງການການຈັດຕໍາແຫນ່ງການເກັບຮັກສາ.

Hollerith:
ຄົງທີ່ Hollerith (ນອກເໜືອໄປຈາກໃນສະເພາະຂອງ FORMAT). Hollerith
ປະເພດຂໍ້ມູນແມ່ນລັກສະນະຂອງ Fortran IV ທີ່ຖືກລຶບຖິ້ມໃນ Fortran 77
ມາດຕະຖານ. ມັນຖືກແທນທີ່ໂດຍປະເພດຂໍ້ມູນຕົວອັກສອນ. ການເກັບຮັກສາ Hollerith
ຂໍ້​ມູນ​ໃນ​ຕົວ​ແປ​ຂອງ​ປະ​ເພດ​ຂໍ້​ມູນ​ເປັນ​ຕົວ​ເລກ​ຫຼື​ຢ່າງ​ມີ​ເຫດ​ຜົນ​ແມ່ນ​ບໍ່​ມີ​ການ​ສົ່ງ​ເນື່ອງ​ຈາກ​
ຂະຫນາດຄໍາທີ່ແຕກຕ່າງກັນ.

ສາຍຍາວ:
String constant, variables, ຫຼື expressions ເກີນ 255 ຕົວອັກສອນຍາວ.

ສົມທຽບແບບປະສົມ:
ຕົວແປຂອງປະເພດຂໍ້ມູນທີ່ແຕກຕ່າງກັນທຽບເທົ່າ.

ຂະ​ຫນາດ​ປະ​ສົມ​:
ຕົວແປທີ່ປະກາດດ້ວຍຄວາມແມ່ນຍໍາເລີ່ມຕົ້ນໃຊ້ກັບຕົວແປທີ່ລະບຸຢ່າງຊັດເຈນ
ຄວາມຊັດເຈນ, ໃນການສະແດງອອກ, ການມອບຫມາຍ, ຫຼືເປັນການໂຕ້ຖຽງ. ຕົວຢ່າງ, ຖ້າ ກ
ຕົວແປທີ່ປະກາດເປັນ REAL*8 ແມ່ນຖືວ່າທຽບເທົ່າກັບ DOUBLE PRECISION.

ເຮັດຈິງ:
ດັດຊະນີ ແລະຂອບເຂດ DO ທີ່ບໍ່ແມ່ນຈຳນວນເຕັມ. ເຫຼົ່ານີ້ສາມາດເຮັດໃຫ້ຜົນໄດ້ຮັບຂອງໂຄງການ
ຂຶ້ນກັບລັກສະນະຮາດແວຂອງຄອມພິວເຕີສະເພາະທີ່ໃຊ້.

param-implicit-type:
ການພິມໂດຍຫຍໍ້ຂອງພາລາມິເຕີໂດຍປະເພດຂໍ້ມູນຂອງຄ່າທີ່ໄດ້ຮັບມອບໝາຍ, ຖ້າມັນ
ແຕກຕ່າງຈາກປະເພດເລີ່ມຕົ້ນ. ການເຕືອນໄພນີ້ສາມາດເກີດຂຶ້ນໄດ້ພຽງແຕ່ຖ້າ implicit
ການພິມພາລາມິເຕີໄດ້ຖືກເປີດໃຊ້ໂດຍ -source=param-implicit-type
ທາງເລືອກ, ຫຼືຖ້າຄໍາຖະແຫຼງທີ່ PARAMETER ເປັນຂອງແບບຟອມທີ່ບໍ່ມີມາດຕະຖານ
ວົງເລັບ. ຖ້າຕົວເລືອກນີ້ຖືກເປີດໃຊ້, ຫຼັງຈາກນັ້ນກໍລະນີໃດກໍ່ຕາມທີ່ implicit
ການພິມພາລາມິເຕີເກີດຂຶ້ນແລະບ່ອນທີ່ປະເພດ implicit ແຕກຕ່າງຈາກ
ປະເພດເລີ່ມຕົ້ນໂດຍອີງໃສ່ຕົວອັກສອນທໍາອິດຂອງຊື່ພາລາມິເຕີ, ຈະຖືກເຕືອນ
ກ່ຽວກັບ. ການພິມພາລາມິເຕີໂດຍຫຍໍ້ສາມາດປ່ຽນຄວາມຫມາຍຂອງຄໍາຖະແຫຼງ
ບ່ອນທີ່ພາລາມິເຕີຖືກນໍາໃຊ້, ເຊິ່ງກໍ່ໃຫ້ເກີດບັນຫາການພົກພາ.

ແຖບ: ແຖບໃນລະຫັດແຫຼ່ງ. ແຖບຖືກຕີຄວາມແຕກຕ່າງກັນໂດຍທີ່ແຕກຕ່າງກັນ
ສັງລວມ. ຄໍາເຕືອນນີ້ຈະຖືກມອບໃຫ້ພຽງແຕ່ຄັ້ງດຽວ, ໃນຕອນທ້າຍຂອງໄຟລ໌.

ເບິ່ງເພີ່ມເຕີມ: -f77, -f90, -f95, -ງາມ, -ແບບ, - ຂະ​ຫນາດ​ຄໍາ​.

-pretty=ບັນຊີລາຍຊື່
ຄວບຄຸມຂໍ້ຄວາມບາງຢ່າງທີ່ກ່ຽວຂ້ອງກັບຮູບລັກສະນະຂອງລະຫັດແຫຼ່ງ. ເຫຼົ່ານີ້ເຕືອນ
ກ່ຽວກັບສິ່ງທີ່ອາດຈະເຮັດໃຫ້ໂຄງການອ່ານໄດ້ໜ້ອຍລົງ ຫຼືຫຼອກລວງຜູ້ອ່ານ.
ຕາມຄ່າເລີ່ມຕົ້ນ, ການເຕືອນໄພທັງໝົດຈະເປີດຢູ່.

ການຕັ້ງຄ່ານີ້ໃຫ້ການຄວບຄຸມຢ່າງລະອຽດກ່ຽວກັບການເຕືອນກ່ຽວກັບຮູບລັກສະນະ. ໄດ້
ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ເນື່ອງຈາກການເຕືອນໄພທັງໝົດເປີດຢູ່
ໂດຍຄ່າເລີ່ມຕົ້ນ, ປະກອບມີຄໍາທີ່ນໍາຫນ້າໂດຍ ບໍ່- ເພື່ອປິດການເຕືອນໄພສະເພາະ.
ມີສາມຄໍາພິເສດ: ທັງຫມົດ ເພື່ອເປີດການເຕືອນໄພທັງໝົດກ່ຽວກັບການເຂົ້າໃຈຜິດ
ປະກົດ, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງທັງຫມົດ
ຄໍາສໍາຄັນທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, -ງາມ is
ທຽບເທົ່າກັບ -pretty=ທັງໝົດ, ແລະ - ບໍ່ງາມ ເທົ່າກັບ -pretty=ບໍ່​ມີ. ໄດ້
ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

alternate-return:
ຄໍາຖະແຫຼງທີ່ RETURN ມີຄ່າຄົງທີ່ທີ່ລະບຸຈຸດກັບຄືນທີ່ສະຫຼັບກັນ
ບໍ່ແມ່ນລະຫວ່າງ 0 ແລະຈໍານວນຂອງການໂຕ້ຖຽງ dummy ທີ່ເປັນປ້າຍຊື່. ນີ້​ແມ່ນ
ທາງດ້ານກົດໝາຍ, ແລະມີຜົນຄືກັນກັບການສົ່ງຄືນທີ່ບໍ່ມີຜົນຕອບແທນແທນ
ການສະແດງອອກ, ແຕ່ແນະນໍາວ່າຜູ້ຂຽນໂປລແກລມມີຈຸດປະສົງທີ່ຈະໃຊ້ທາງເລືອກ
ປ້າຍຄືນທີ່ບໍ່ໄດ້ໃຫ້.

embedded-space:
Space ຝັງຢູ່ໃນຊື່ຕົວແປຫຼືໃນຕົວປະຕິບັດການຫຼາຍຕົວອັກສອນເຊັ່ນ **.

ສືບຕໍ່:
ເຄື່ອງໝາຍຕໍ່ເນື່ອງຕາມແຖວຄຳເຫັນ.

ເສັ້ນຍາວ:
ແຖວ (ຍົກເວັ້ນຄໍາເຫັນ) ຫຼາຍກວ່າ 72 ຖັນໃນຄວາມກວ້າງ (ເກີນ 72 ແມ່ນປົກກະຕິ
ບໍ່ສົນໃຈໂດຍ compiler).

ຊ່ອງຫວ່າງ:
ການຂາດຊ່ອງຫວ່າງລະຫວ່າງຕົວແປແລະຄໍາສໍາຄັນກ່ອນຫນ້າ.

ຫຼາຍທົ່ວໄປ:
ຕັນ COMMON ປະກາດໃນຫຼາຍຄໍາຖະແຫຼງການ. ບໍ່ມີການເຕືອນໄພໃຫ້ຖ້າຫາກວ່າ
ຖະແຫຼງການແມ່ນຕິດຕໍ່ກັນຍົກເວັ້ນສໍາລັບແຖວຄໍາເຫັນ.

ບັນຊີລາຍຊື່ຫຼາຍ:
NAMELIST ປະກາດໃນຫຼາຍຂໍ້ຄວາມ. ບໍ່ມີການເຕືອນໄພໃຫ້ຖ້າຫາກວ່າ
ຖະແຫຼງການແມ່ນຕິດຕໍ່ກັນຍົກເວັ້ນສໍາລັບແຖວຄໍາເຫັນ.

ວົງເລັບ:
ວົງເລັບອ້ອມຕົວແປດ້ວຍຕົວມັນເອງ. ໃນຖານະເປັນການໂຕ້ຖຽງໂຄງການຍ່ອຍ, ນີ້
ເຮັດໃຫ້ການໂຕ້ຖຽງເປັນການສະແດງອອກ, ບໍ່ສາມາດດັດແປງໄດ້ໂດຍໂຄງການຍ່ອຍ.

ໃຫ້ສັງເກດວ່າໃນຮູບແບບແຫຼ່ງຟຣີ, ພື້ນທີ່ພິເສດແລະພື້ນທີ່ທີ່ຂາດຫາຍໄປແມ່ນຖືກຫ້າມໂດຍ
Fortran 90 ມາດຕະຖານ, ແລະບໍ່ແມ່ນການລະເມີດຮູບແບບ. ໃນກໍລະນີດັ່ງກ່າວນີ້, ຄໍາເຕືອນ
ຖືກແທນທີ່ດ້ວຍຂໍ້ຄວາມຜິດພາດ syntax, ແລະສາມາດປິດໄດ້ໂດຍການໃຊ້
- nocheck.

ເບິ່ງເພີ່ມເຕີມ: -f77, - ພົກພາ, -ແບບ.

-ໂຄງການ=ບັນຊີລາຍຊື່
ftnchek ຈະສ້າງໄຟລ໌ໂຄງການຈາກແຕ່ລະໄຟລ໌ແຫຼ່ງທີ່ຖືກປ້ອນໃນຂະນະທີ່ນີ້
ຕົວເລືອກເປີດຢູ່. ໄຟລ໌ໂຄງການຈະໄດ້ຮັບຊື່ດຽວກັນກັບການປ້ອນຂໍ້ມູນ
ໄຟລ໌, ແຕ່ມີການຂະຫຍາຍ .f or .ສໍາລັບ ທົດແທນໂດຍ .prj. (ຖ້າການປ້ອນຂໍ້ມູນມາຈາກ
ການປ້ອນຂໍ້ມູນມາດຕະຖານ, ໄຟລ໌ໂຄງການແມ່ນມີຊື່ ftnchek.prj.) ຄ່າເລີ່ມຕົ້ນ = none.

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ມີສາມ
ຄໍາສໍາຄັນພິເສດ: ທັງຫມົດ ເພື່ອ​ເປີດ​ຕົວ​ເລືອກ​ທັງ​ຫມົດ​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ
ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ
ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, ໂຄງການ ເທົ່າກັບ -project=ທັງໝົດ, ແລະ - ບໍ່​ມີ​ໂຄງ​ການ​ is
ທຽບເທົ່າກັບ -project=none. ຄໍາສໍາຄັນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

ສ້າງ:
ຜະລິດໄຟລ໌ໂຄງການ. ຄ່າເລີ່ມຕົ້ນບໍ່ແມ່ນການຜະລິດໄຟລ໌ໂຄງການ. ຖ້າ
ທາງ​ເລືອກ​ນີ້​ບໍ່​ໄດ້​ເປີດ​, ທາງ​ເລືອກ​ອື່ນ​ບໍ່​ມີ​ຜົນ​ກະ​ທົບ​.

ຕັດໂທ:
ຕັດຈໍານວນຂໍ້ມູນທີ່ເກັບໄວ້ໃນໄຟລ໌ໂຄງການກ່ຽວກັບໂຄງການຍ່ອຍ
ການປະກາດແລະການໂທຫາ. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ. ປິດທາງເລືອກນີ້ພຽງແຕ່ຢູ່ໃນ
ສະຖານະການທີ່ຫາຍາກ. (ເບິ່ງການສົນທະນາຂ້າງລຸ່ມນີ້.) ຈໍານວນຂອງການຕັດແມ່ນແຕກຕ່າງກັນ
ຂຶ້ນກັບ - ຫ້ອງ​ສະ​ຫມຸດ​ ທຸງ. ຂໍ້ມູນເພີ່ມເຕີມຈະຖືກຕັດຖ້າທຸງນັ້ນຢູ່
ເປີດ.

trim-ທົ່ວໄປ:
ຕັດຈໍານວນການປະກາດບລັອກທົ່ວໄປທີ່ເກັບໄວ້ໃນໄຟລ໌ໂຄງການ.
ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ. ປິດຕົວເລືອກນີ້ໃນສະຖານະການຫາຍາກເທົ່ານັ້ນ. (ເບິ່ງ
ສົນ ທະ ນາ ຂ້າງ ລຸ່ມ ນີ້.) ທາງ ເລືອກ ນີ້ ບໍ່ ມີ ຜົນ ກະ ທົບ ຖ້າ ຫາກ ວ່າ - ຫ້ອງ​ສະ​ຫມຸດ​ ທຸງຖືກຫັນ
ປິດ: ເມື່ອບໍ່ຢູ່ໃນໂຫມດຫ້ອງສະຫມຸດ, ບໍ່ມີການຕັດການປະກາດບລັອກທົ່ວໄປ
ເຮັດໄດ້ໂດຍບໍ່ຄໍານຶງເຖິງທາງເລືອກນີ້.

ໄຟລ໌ໂຄງການມີບົດສະຫຼຸບຂອງຂໍ້ມູນຈາກໄຟລ໌ແຫຼ່ງ, ສໍາລັບການນໍາໃຊ້ໃນ
ການກວດສອບຂໍ້ຕົກລົງລະຫວ່າງ FUNCTION, SUBROUTINE, ແລະການນໍາໃຊ້ທົ່ວໄປໃນໄຟລ໌ອື່ນໆ.
ມັນອະນຸຍາດໃຫ້ມີການກວດສອບເພີ່ມຂຶ້ນ, ເຊິ່ງປະຫຍັດເວລາທຸກຄັ້ງທີ່ທ່ານມີຊຸດໃຫຍ່
ໄຟລ​໌​ທີ່​ປະ​ກອບ​ດ້ວຍ subroutines ການ​ແບ່ງ​ປັນ​, ທີ່​ສ່ວນ​ໃຫຍ່​ຂອງ​ທີ່​ບໍ່​ຄ່ອຍ​ມີ​ການ​ປ່ຽນ​ແປງ​. ເຈົ້າສາມາດແລ່ນໄດ້
ftnchek ເມື່ອຢູ່ໃນແຕ່ລະໄຟລ໌ທີ່ມີ ໂຄງການ ຕັ້ງທຸງ, ສ້າງໄຟລ໌ໂຄງການ.
ປົກກະຕິແລ້ວທ່ານຍັງຈະກໍານົດ - ຫ້ອງ​ສະ​ຫມຸດ​ ແລະ - noextern ທຸງຊາດໃນເວລານີ້, ເພື່ອ
ສະກັດກັ້ນຂໍ້ຄວາມທີ່ກ່ຽວຂ້ອງກັບຄວາມສອດຄ່ອງຂອງໄຟລ໌ອື່ນໆ. ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດເທົ່ານັ້ນ
ກ່ຽວກັບແຕ່ລະໄຟລ໌ດ້ວຍຕົວມັນເອງຈະຖືກພິມອອກໃນເວລານີ້. ຫຼັງຈາກນັ້ນ, ດໍາເນີນການ
ftnchek ໂດຍບໍ່ມີທຸງເຫຼົ່ານີ້ຢູ່ໃນໄຟລ໌ໂຄງການທັງຫມົດຮ່ວມກັນ, ເພື່ອກວດເບິ່ງຄວາມສອດຄ່ອງ
ໃນ​ບັນ​ດາ​ໄຟລ​໌​ທີ່​ແຕກ​ຕ່າງ​ກັນ​. ຂໍ້​ຄວາມ​ທັງ​ຫມົດ​ພາຍ​ໃນ​ຂອງ​ໄຟລ​໌​ແຕ່​ລະ​ຄົນ​ຈະ​ໃນ​ປັດ​ຈຸ​ບັນ​
ຖືກລະເວັ້ນ. ພຽງແຕ່ເມື່ອໄຟລ໌ຖືກປ່ຽນແປງຈະຕ້ອງສ້າງໄຟລ໌ໂຄງການໃຫມ່
ສໍາລັບມັນ.

ຕາມທໍາມະຊາດ, ໃນເວລາທີ່ ໂຄງການ ທາງ​ເລືອກ​ແມ່ນ​ເປີດ​, ftnchek ຈະບໍ່ອ່ານໂຄງການ
ໄຟລ​໌​ເປັນ​ການ​ປ້ອນ​ຂໍ້​ມູນ​.

ໂດຍປົກກະຕິ, ຕົວເລືອກການຕັດຄວນຖືກປະໄວ້ເມື່ອທ່ານຕັ້ງໃຈສ້າງໂຄງການ
ໄຟລ໌ສໍາລັບການປ້ອນຂໍ້ມູນໃນອະນາຄົດ ftnchek. ເນື່ອງຈາກວ່າການຕັດແມ່ນເປີດໂດຍຄ່າເລີ່ມຕົ້ນ, ນີ້ຫມາຍຄວາມວ່າ
ວ່າພຽງແຕ່ໃຫ້ຄໍາສັ່ງ ໂຄງການ ບໍ່ມີບັນຊີລາຍຊື່ທາງເລືອກແມ່ນແນະນໍາ
ໂໝດ. ທາງເລືອກ trim ແມ່ນສະຫນອງໃຫ້ພຽງແຕ່ເປັນຄວາມສະດວກສໍາລັບຜູ້ທີ່ຕ້ອງການ
ເຮັດ​ໃຫ້​ການ​ນໍາ​ໃຊ້​ໄຟລ​໌​ໂຄງ​ການ​ສໍາ​ລັບ​ຈຸດ​ປະ​ສົງ​ນອກ​ຈາກ​ການ​ກວດ​ສອບ​ໂຄງ​ການ​ທີ່​ມີ​
ftnchek. ການນໍາໃຊ້ໄຟລ໌ໂຄງການສໍາລັບຈຸດປະສົງຂອງເຂົາເຈົ້າ, ທາງເລືອກ trim ຄວນ
ບໍ່ຖືກປິດ.

ໄຟລ໌ໂຄງການມີພຽງແຕ່ຂໍ້ມູນທີ່ຈໍາເປັນສໍາລັບການກວດສອບຂໍ້ຕົກລົງລະຫວ່າງໄຟລ໌.
ນີ້ຫມາຍຄວາມວ່າໄຟລ໌ໂຄງການບໍ່ມີປະໂຫຍດໃດໆຖ້າທຸກໂມດູນຂອງໂປລແກລມທີ່ສົມບູນ
ແມ່ນບັນຈຸຢູ່ໃນໄຟລ໌ດຽວ.

ການສົນທະນາລາຍລະອຽດເພີ່ມເຕີມແມ່ນໃຫ້ຢູ່ໃນພາກກ່ຽວກັບການນໍາໃຊ້ໄຟລ໌ໂຄງການ.

- ຮັກສາ
ສົມມຸດວ່າຫນ້າທີ່ແມ່ນ ``ບໍລິສຸດ'', ie, ພວກມັນຈະບໍ່ມີຜົນກະທົບຂ້າງຄຽງໂດຍການດັດແປງ
arguments ຫຼືຕົວແປຂອງເຂົາເຈົ້າຢູ່ໃນຕັນ COMMON. ເມື່ອທຸງນີ້ມີຜົນບັງຄັບໃຊ້,
ftnchek ຈະອີງໃສ່ການກໍານົດຂອງຊຸດແລະສະຖານະການນໍາໃຊ້ຂອງການໂຕ້ຖຽງຕົວຈິງ
ກ່ຽວກັບການສົມມຸດຕິຖານວ່າການໂຕ້ຖຽງທີ່ຜ່ານໄປຫາຫນ້າທີ່ໃດຫນຶ່ງແມ່ນບໍ່ໄດ້ປ່ຽນແປງ. ມັນ​ຈະ
ຍັງອອກຄໍາເຕືອນຖ້າຫາກວ່າການທໍາງານໄດ້ຖືກພົບເຫັນທີ່ຈະດັດແປງການໂຕ້ຖຽງຂອງຕົນຫຼືໃດໆ
ຕົວແປທົ່ວໄປ. ຄ່າເລີ່ມຕົ້ນ = ແມ່ນ.

ເມື່ອທຸງນີ້ຖືກປິດໄວ້, ການໂຕ້ຖຽງຕົວຈິງທີ່ສົ່ງຕໍ່ກັບຟັງຊັນຕ່າງໆຈະຖືກຈັດການ
ວິທີດຽວກັນກັບການໂຕ້ແຍ້ງຕົວຈິງທີ່ສົ່ງໄປຫາລາຍການຍ່ອຍ. ນີ້ຫມາຍຄວາມວ່າ ftnchek
ຈະສົມມຸດວ່າການໂຕ້ຖຽງອາດຈະຖືກແກ້ໄຂໂດຍຫນ້າທີ່. ຈະບໍ່ມີການເຕືອນໄພ
ໃຫ້ຖ້າຫາກວ່າການທໍາງານໄດ້ຖືກພົບເຫັນວ່າມີຜົນຂ້າງຄຽງ. ເພາະ​ວ່າ​ມີ​ການ​ກວດ​ສອບ​ເຂັ້ມ​ງວດ
ເປັນໄປໄດ້ຖ້າຫາກວ່າຫນ້າທີ່ສົມມຸດວ່າບໍລິສຸດ, ທ່ານຄວນປິດທຸງນີ້ພຽງແຕ່ຖ້າຫາກວ່າ
ໂຄງການຂອງທ່ານຈິງໃຊ້ຫນ້າທີ່ທີ່ມີຜົນຂ້າງຄຽງ.

- ງຽບ
ທາງເລືອກນີ້ຫຼຸດຜ່ອນປະລິມານຜົນຜະລິດທີ່ກ່ຽວຂ້ອງກັບການດໍາເນີນງານປົກກະຕິ, ດັ່ງນັ້ນ
ຂໍ້​ຄວາມ​ຜິດ​ພາດ​ແມ່ນ​ຈະ​ແຈ້ງ​ຫຼາຍ​ກວ່າ​. ທາງເລືອກນີ້ແມ່ນສະຫນອງໃຫ້ເພື່ອຄວາມສະດວກຂອງ
ຜູ້ໃຊ້ທີ່ກໍາລັງກວດສອບຊຸດໄຟລ໌ຂະຫນາດໃຫຍ່. ຜົນຜະລິດທີ່ຖືກລົບລ້າງປະກອບມີ
ຊື່ຂອງໄຟລ໌ໂຄງການ, ແລະຂໍ້ຄວາມທີ່ລາຍງານວ່າບໍ່ພົບຂໍ້ຜິດພາດຂອງ syntax.
ມັນຍັງລົບລ້າງບາງເສັ້ນເປົ່າທີ່ລວມເຂົ້າກັນເພື່ອຄວາມຊັດເຈນ. (ບາງ
ຂອງຜົນຜະລິດນີ້ແມ່ນໄດ້ຫັນກັບຄືນໄປບ່ອນໂດຍ -list ແລະ -symtab options.) ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ຫມາຍ​ເຫດ​: ວິ​ທີ​ການ​ຈື່​ຈໍາ​ຄວາມ​ແຕກ​ຕ່າງ​ລະ​ຫວ່າງ​ - ງຽບ ແລະ - ຫຍໍ້ ແມ່ນວ່າ
- ງຽບ ບໍ່ໄດ້ສະກັດກັ້ນຂໍ້ມູນໃດໆທີ່ກ່ຽວຂ້ອງກັບການເຕືອນໄພ, ໃນຂະນະທີ່ - ຫຍໍ້ ບໍ່

ເບິ່ງເພີ່ມເຕີມ: - ຫຍໍ້.

- ອ້າງ​ອີງ​
ລະບຸວ່າຕາຕະລາງໃຜໂທ-ໃຜຖືກພິມ. ຕາຕະລາງນີ້ລາຍຊື່ແຕ່ລະໂຄງການຍ່ອຍ
ປະ​ຕິ​ບັດ​ຕາມ​ໂດຍ​ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​ກິດ​ຈະ​ກໍາ​ທີ່​ມັນ​ໂທ​ຫາ​. ສະຫຼັບນີ້ແມ່ນທຽບເທົ່າກັບ
-calltree=ອ້າງອີງ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ລາຍຊື່ອ້າງອີງຈະລະເວັ້ນກິດຈະວັດທີ່ເອີ້ນໂດຍໂມດູນຫ້ອງສະໝຸດທີ່ບໍ່ໄດ້ໃຊ້. ດັ່ງນັ້ນມັນ
ມີຂໍ້ມູນດຽວກັນກັບຮູບແບບ call-tree, ຄື hierarchy ຂອງ
ການໂທໂຄງການຍ່ອຍ, ແຕ່ພິມອອກໃນທາງທີ່ແຕກຕ່າງກັນ. ອັນນີ້ພິມອອກຄວາມກວ້າງ-ທຳອິດ
ຂ້າມຂອງຕົ້ນໄມ້ການໂທໃນຂະນະທີ່ -calltree=ຕົ້ນໄມ້ ພິມອອກຄວາມເລິກກ່ອນ
ທາງຜ່ານ.

ເບິ່ງເພີ່ມເຕີມ: - calltree, - ອ້າງອີງ, - ຫ້ອງ​ສະ​ຫມຸດ​, - ຄັດ, -symtab, -vcg.

-ຊັບ​ພະ​ຍາ​ກອນ
ພິມຈໍານວນຊັບພະຍາກອນທີ່ໃຊ້ໂດຍ ftnchek ໃນ​ການ​ປຸງ​ແຕ່ງ​ໂຄງ​ການ​. ນີ້
ລາຍຊື່ອາດຈະເປັນປະໂຫຍດໃນການວິເຄາະຂະຫນາດແລະຄວາມຊັບຊ້ອນຂອງໂຄງການ. ມັນ​ສາ​ມາດ
ຍັງຊ່ວຍໃນການເລືອກຂະຫນາດທີ່ໃຫຍ່ກວ່າສໍາລັບ ftnchekຕາຕະລາງພາຍໃນຂອງຖ້າພວກເຂົາຄືກັນ
ຂະຫນາດນ້ອຍເພື່ອວິເຄາະໂຄງການໂດຍສະເພາະ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ໃນບັນຊີລາຍຊື່ນີ້, ຄໍາວ່າ "ຂະຫນາດ chunk" ແມ່ນຂະຫນາດຂອງຕັນຂອງຫນ່ວຍຄວາມຈໍາ
ຈັດສັນເພື່ອເກັບຮັກສາລາຍການໃນຄໍາຖາມ, ໃນຫນ່ວຍງານຂອງຂະຫນາດຂອງຫນຶ່ງລາຍການ, ບໍ່ແມ່ນ
ຈໍາເປັນໃນ bytes. ເມື່ອພື້ນທີ່ທີ່ຖືກຈັດສັນໃນເບື້ອງຕົ້ນໄດ້ຖືກເຕີມລົງໄປ, ຄວາມຈໍາຫຼາຍຂຶ້ນ
ຖືກຈັດສັນເປັນຕ່ອນຂອງຂະຫນາດນີ້. ຕໍ່ໄປນີ້ແມ່ນຄໍາອະທິບາຍກ່ຽວກັບລາຍການ
ພິມ:

ແຫຼ່ງຂໍ້ມູນ ສາຍ ປຸງແຕ່ງ:
ຈໍາ​ນວນ​ທັງ​ຫມົດ​ຂອງ​ເສັ້ນ​ຂອງ​ລະ​ຫັດ​, ມີ​ທັງ​ຫມົດ​ແຍກ​ຕ່າງ​ຫາກ​ສໍາ​ລັບ​ເສັ້ນ​ຄໍາ​ສັ່ງ​ແລະ​
ເສັ້ນສະແດງຄວາມຄິດເຫັນ. ແຖວຄຳເຫັນຮວມມີແຖວ 'C' ຫຼື '*' ໃນຖັນທີ 1 ເຊັ່ນກັນ
ເປັນແຖວຫວ່າງເປົ່າ ແລະເສັ້ນທີ່ມີພຽງແຕ່ຄໍາຄິດເຫັນໃນແຖວ. ສາຍຖະແຫຼງການ
ແມ່ນສາຍອື່ນໆທັງໝົດ, ລວມທັງສາຍທີ່ມີຄຳເຫັນໃນແຖວຕໍ່ໄປນີ້
ລະຫັດ. ສາຍຕໍ່ເນື່ອງແມ່ນນັບເປັນສາຍແຍກຕ່າງຫາກ. ສາຍ​ໃນ​ປະ​ກອບ​ມີ​
ໄຟລ໌ຈະຖືກນັບໃນແຕ່ລະຄັ້ງທີ່ໄຟລ໌ຖືກລວມເຂົ້າ.

ທັງຫມົດ ປະຕິບັດໄດ້ ຖະແຫຼງການ:
ຈໍາ​ນວນ​ຂອງ​ຄໍາ​ຖະ​ແຫຼງ​ການ​ໃນ​ໂຄງ​ການ​, ນອກ​ຈາກ​ສະ​ເພາະ​, ຂໍ້​ມູນ​, ຄໍາ​ຖະ​ແຫຼງ​ການ​-
ຟັງຊັນ, FORMAT, ENTRY, ແລະ END ຄໍາຖະແຫຼງການ.

ທັງຫມົດ ຈໍານວນ of ໂມດູນ:
ໂມດູນແມ່ນໂຄງການຍ່ອຍພາຍນອກ, ລວມທັງໂຄງການຕົ້ນຕໍ, ບັນຊີຍ່ອຍ,
functions, ແລະຕັນຫນ່ວຍງານຂໍ້ມູນ. ການນັບນີ້ແມ່ນຂອງໂມດູນທີ່ກໍານົດໄວ້ພາຍໃນ
ແຫຼ່ງ, ບໍ່ແມ່ນໂມດູນອ້າງອີງ. ຟັງຊັນຖະແຫຼງການບໍ່ໄດ້ລວມ. ກ
ໂຄງການຍ່ອຍທີ່ມີຈຸດເຂົ້າຫຼາຍແມ່ນນັບພຽງຄັ້ງດຽວ.

ທັງຫມົດ ຄໍາຖະແຫຼງທີ່ ປ້າຍກໍາກັບ ກໍານົດໄວ້
ຈໍາ​ນວນ​ຂອງ​ປ້າຍ​ທີ່​ຕິດ​ກັບ​ຄໍາ​ຖະ​ແຫຼງ​ການ (ມັກ​ຈະ​ເອີ້ນ​ວ່າ​ຕົວ​ເລກ​ຄໍາ​ສັ່ງ​)​. ໄດ້
ການນັບປ້າຍທັງໝົດສຳລັບໂຄງການທັງໝົດແມ່ນໄດ້ມອບໃຫ້, ເຊັ່ນດຽວກັນກັບຈຳນວນສູງສຸດ
ຈໍານວນຢູ່ໃນໂຄງການຍ່ອຍດຽວ.

ສູງສຸດທີ່ເຄຍ ຕົວລະບຸ ຊື່ ຕົວອັກສອນ:
ຈໍານວນຕົວອັກສອນທີ່ໃຊ້ສໍາລັບການເກັບຮັກສາຊື່ຕົວລະບຸ. ຕົວລະບຸແມ່ນ ກ
ຕົວແປ, ໂຄງການຍ່ອຍ, ຫຼືຊື່ບລັອກທົ່ວໄປ. ຊື່ທ້ອງຖິ່ນແມ່ນຂອງທ້ອງຖິ່ນ
ຕົວແປໃນໂຄງການຍ່ອຍ, ໃນຂະນະທີ່ຊື່ທົ່ວໂລກຫມາຍເຖິງໂຄງການຍ່ອຍແລະທົ່ວໄປ
ຊື່ບລັອກ, ເຊັ່ນດຽວກັນກັບຊື່ການໂຕ້ຖຽງ dummy ແລະຊື່ຕົວແປທົ່ວໄປ. ຕົວຈິງ
ຂໍ້ຄວາມ argument (ສູງສຸດ 15 ຕົວອັກສອນສໍາລັບແຕ່ລະ argument) ແມ່ນລວມຢູ່ທີ່ນີ້.
ພື້ນທີ່ທີ່ໃຊ້ສໍາລັບຊື່ທ້ອງຖິ່ນບໍ່ໄດ້ຖືກຟື້ນຕົວໃນຕອນທ້າຍຂອງແຕ່ລະໂມດູນ, ດັ່ງນັ້ນ
ຕົວເລກນີ້, ເຊັ່ນພື້ນທີ່ທົ່ວໂລກ, ເຕີບໂຕຈົນກ່ວາໂຄງການທັງຫມົດຖືກວິເຄາະ.
ແຕ່ຫນ້າເສຍດາຍ, ຕົວເລກນີ້ອາດຈະປະກອບມີຂໍ້ຄວາມທີ່ເກັບໄວ້ຫຼາຍກວ່າຫນຶ່ງຄັ້ງ,
ເຖິງແມ່ນວ່າ heuristic ຖືກນໍາໃຊ້ເພື່ອຫຼີກເວັ້ນການຊ້ໍາກັນໃນຫຼາຍໆກໍລະນີ.

ສູງສຸດທີ່ເຄຍ token ຂໍ້ຄວາມ ຕົວອັກສອນ:
token ເປັນຫົວໜ່ວຍ syntactic ນ້ອຍທີ່ສຸດຂອງພາສາ FORTRAN ຂ້າງເທິງລະດັບ
ຂອງລັກສະນະສ່ວນບຸກຄົນ. ຕົວຢ່າງເຊັ່ນ token ສາມາດເປັນຊື່ຕົວແປ, a
ຕົວເລກຄົງທີ່, ສະຕຣິງຂໍ້ຄວາມທີ່ຍົກມາ, ຫຼືຕົວອັກສອນເຄື່ອງໝາຍວັກຕອນ. ໂທເຄັນ
ຂໍ້ຄວາມຖືກເກັບໄວ້ໃນຂະນະທີ່ໂມດູນກໍາລັງຖືກປະມວນຜົນ. ສໍາລັບເຫດຜົນດ້ານວິຊາການ,
tokens ຕົວອັກສອນດຽວບໍ່ໄດ້ລວມຢູ່ໃນຈໍານວນທັງຫມົດນີ້. ລາຍການທີ່ບໍ່ມີ
ຕົວແທນໃນຕາຕະລາງສັນຍາລັກອາດຈະຊ້ໍາກັນ. ພື້ນທີ່ສໍາລັບຂໍ້ຄວາມ token ແມ່ນ
ຟື້ນຕົວໃນຕອນທ້າຍຂອງແຕ່ລະໂມດູນ, ດັ່ງນັ້ນຕົວເລກນີ້ເປັນຕົວແທນສູງສຸດສໍາລັບ
ໂມດູນໃດນຶ່ງ.

ສູງສຸດທີ່ເຄຍ ທ້ອງຖິ່ນ ສັນຍາລັກ:
ນີ້ແມ່ນຕົວເລກທີ່ໃຫຍ່ທີ່ສຸດໃນຕາຕະລາງສັນຍາລັກທ້ອງຖິ່ນສໍາລັບທຸກໂມດູນ.
ຕາຕະລາງສັນຍາລັກທ້ອງຖິ່ນປະກອບມີຕົວແປແລະຕົວກໍານົດການທັງຫມົດ, ຕັນທົ່ວໄປ
ຊື່, ຫນ້າທີ່ຖະແຫຼງການ, ໂຄງການຍ່ອຍພາຍນອກແລະຫນ້າທີ່ພາຍໃນ
ອ້າງອີງໂດຍໂມດູນ. ຄົງທີ່ຕົວໜັງສືບໍ່ໄດ້ຖືກເກັບໄວ້ໃນສັນຍາລັກທ້ອງຖິ່ນ
ຕາຕະລາງ.

ສູງສຸດທີ່ເຄຍ ທົ່ວໂລກ ສັນຍາລັກ:
ນີ້ແມ່ນຈໍານວນລາຍການໃນຕາຕະລາງສັນຍາລັກທົ່ວໂລກໃນຕອນທ້າຍຂອງ
ການປຸງແຕ່ງ. ຕາຕະລາງສັນຍາລັກຂອງໂລກປະກອບມີໂຄງການຍ່ອຍພາຍນອກແລະທົ່ວໄປ
ບລັອກຊື່. ຟັງຊັນພາຍໃນແລະຟັງຊັນຄໍາຖະແຫຼງບໍ່ໄດ້ຖືກລວມ.

ສູງສຸດທີ່ເຄຍ ຈໍານວນ of ລາຍການໂທເຄັນ:
ລາຍຊື່ໂທເຄັນແມ່ນລຳດັບຂອງໂທເຄັນທີ່ເປັນຕົວແທນຂອງການໂຕ້ຖຽງຕົວຈິງ ຫຼື dummy
ບັນຊີລາຍຊື່ຂອງໂຄງການຍ່ອຍ, ຫຼືບັນຊີລາຍຊື່ຂອງຕົວແປໃນຕັນທົ່ວໄປຫຼື namelist.
ດັ່ງນັ້ນຕົວເລກນີ້ສະແດງຜົນລວມທີ່ໃຫຍ່ທີ່ສຸດຂອງ COMMON, CALL, NAMELIST ແລະ
ຖະແຫຼງການ ENTRY ແລະການເອີ້ນຟັງຊັນສໍາລັບໂມດູນໃດນຶ່ງ. ຊ່ອງແມ່ນ
ຟື້ນຕົວໃນຕອນທ້າຍຂອງແຕ່ລະໂມດູນ.

ສູງສຸດທີ່ເຄຍ token ລາຍຊື່/ຕົ້ນໄມ້ ພື້ນທີ່:
ນີ້ແມ່ນຈໍານວນທີ່ໃຫຍ່ທີ່ສຸດຂອງ token ໃນບັນຊີລາຍຊື່ token ທັງຫມົດແລະຕົ້ນໄມ້ token ຂອງ
ໂມດູນໃດນຶ່ງ. ຕົ້ນໄມ້ token ຖືກສ້າງຕັ້ງຂຶ້ນເມື່ອວິເຄາະການສະແດງອອກ: ແຕ່ລະຄົນ
operand ແມ່ນໃບຂອງຕົ້ນໄມ້, ແລະຕົວປະຕິບັດການແມ່ນ nodes. ເພາະສະນັ້ນນີ້
ຕົວເລກແມ່ນການວັດແທກຄວາມຊັບຊ້ອນສູງສຸດຂອງແຕ່ລະໂມດູນ. ສໍາລັບ
ຕົວຢ່າງໂມດູນທີ່ມີການສະແດງເລກເລກຍາວຫຼາຍຈະມີຄວາມສູງ
ເລກ. ໃຫ້ສັງເກດວ່າບໍ່ຄືກັບຂໍ້ຄວາມ token ທີ່ອະທິບາຍຂ້າງເທິງ, ຈໍານວນຂອງ tokens ແມ່ນ
ເປັນເອກະລາດຂອງຄວາມຍາວຂອງຊື່ຕົວແປຫຼືຄົງທີ່ຕົວຫນັງສືໃນ
ສຳ ນວນ.

ຈໍານວນ of ໂຄງການຍ່ອຍ ຄຳຮຽກຮ້ອງ:
ນີ້ແມ່ນຜົນລວມຂອງທຸກໂມດູນຂອງຈໍານວນຄໍາຖະແຫຼງການໂທຫາແລະຫນ້າທີ່
invocations (ຍົກເວັ້ນຫນ້າທີ່ພາຍໃນແລະຫນ້າທີ່ຖະແຫຼງການ).

ຈໍານວນ of ທົ່ວໄປ block Decls:
ນີ້ແມ່ນຜົນລວມຂອງທຸກໂມດູນຂອງຈໍານວນການປະກາດບລັອກທົ່ວໄປ.
ນັ້ນແມ່ນ, ແຕ່ລະການປະກາດຂອງຕັນໃນໂມດູນທີ່ແຕກຕ່າງກັນແມ່ນນັບ
ແຍກຕ່າງຫາກ. (ມາດຕະຖານອະນຸຍາດໃຫ້ມີການປະກາດຫຼາຍອັນຂອງບລັອກພາຍໃນ
ໂມດູນດຽວກັນ; ເຫຼົ່າ ນີ້ ແມ່ນ ນັບ ເປັນ ພຽງ ແຕ່ ຫນຶ່ງ ປະ ກາດ ນັບ ຕັ້ງ ແຕ່ ພວກ ເຂົາ ເຈົ້າ ແມ່ນ
ທຽບ​ເທົ່າ​ກັບ​ການ​ປະ​ກາດ​ຍາວ​ດຽວ​.)

ຈໍານວນ of array ມືດມົວ & ຕົວກໍານົດການ ຄະແນນ:
ນີ້ແມ່ນຜົນລວມຂອງໂມດູນທັງໝົດຂອງຈຳນວນຂອງຂະໜາດ ແລະພາລາມິເຕີຂອງອາເຣ
ນິຍາມຂໍ້ຄວາມສະຕຣິງທີ່ບັນທຶກໄວ້ເພື່ອໃຊ້ໂດຍ - makedcls ທາງເລືອກ. ຄວາມຍາວຂອງ
ສະຕຣິງຂໍ້ຄວາມບໍ່ໄດ້ຖືກນັບ. ແຕ່ລະມິຕິຂອງອາເຣ multidimensional ແມ່ນ
ນັບແຍກຕ່າງຫາກ.

ຕົວເລກເຫຼົ່ານີ້ແນ່ນອນບໍ່ຄືກັນເມື່ອໄຟລ໌ໂຄງການຖືກນໍາໃຊ້ແທນ
ລະຫັດແຫຼ່ງຕົ້ນສະບັບ. ເຖິງແມ່ນວ່າຕົວເລກສໍາລັບຫນ່ວຍງານທົ່ວໂລກອາດຈະແຕກຕ່າງກັນ,
ເນື່ອງຈາກບາງຂໍ້ມູນທີ່ຊໍ້າຊ້ອນຖືກລົບລ້າງໃນໄຟລ໌ໂຄງການ.

- ຫົກ​ຂໍ້​
ຫນຶ່ງ​ໃນ​ເປົ້າ​ຫມາຍ​ຂອງ​ ftnchek ໂຄງ​ການ​ແມ່ນ​ເພື່ອ​ຊ່ວຍ​ໃຫ້​ຜູ້​ໃຊ້​ໃນ​ການ​ຂຽນ Fortran Portable​
ໂຄງການ. ແຫຼ່ງທ່າແຮງອັນໜຶ່ງຂອງຄວາມບໍ່ສະດວກແມ່ນການໃຊ້ຊື່ຕົວແປທີ່
ຍາວກວ່າຫົກຕົວອັກສອນ. ບາງ compilers ພຽງແຕ່ບໍ່ສົນໃຈລັກສະນະພິເສດ.
ພຶດຕິກຳນີ້ສາມາດນຳໄປສູ່ສອງຕົວແປທີ່ແຕກຕ່າງກັນທີ່ຖືກພິຈາລະນາເປັນ
ຄື​ກັນ. ຕົວຢ່າງ, ຕົວແປທີ່ມີຊື່ AVERAGECOST ແລະ AVERAGEPRICE ແມ່ນຄືກັນ
ໃນຫົກຕົວອັກສອນທໍາອິດ. ຖ້າທ່ານຕ້ອງການຈັບຂໍ້ຂັດແຍ່ງທີ່ເປັນໄປໄດ້ດັ່ງກ່າວ, ໃຫ້ໃຊ້
ທຸງນີ້. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ການນໍາໃຊ້ -f77=ຊື່ຍາວ ຖ້າທ່ານຕ້ອງການລາຍຊື່ ທັງຫມົດ ຕົວແປທີ່ຍາວກວ່າຫົກ
ລັກສະນະ, ບໍ່ພຽງແຕ່ຄູ່ທີ່ຄືກັນໃນຫົກທໍາອິດ.

ເບິ່ງເພີ່ມເຕີມ: -f77, - ພົກພາ.

- ຄັດ
ລະບຸວ່າລາຍການຈັດຮຽງຂອງໂມດູນທັງໝົດທີ່ໃຊ້ໃນໂປຣແກຣມຈະຖືກພິມອອກ. ນີ້
ບັນຊີລາຍຊື່ແມ່ນຢູ່ໃນຄໍາສັ່ງ `` prerequisite '', ie ແຕ່ລະໂມດູນໄດ້ຖືກພິມອອກພຽງແຕ່ຫຼັງຈາກທັງຫມົດ
ໂມດູນທີ່ມັນຖືກເອີ້ນວ່າໄດ້ຖືກພິມອອກ. ອັນນີ້ຍັງເອີ້ນວ່າ a
`` ການຈັດລຽງທາງພູມິສາດ '' ຂອງຕົ້ນໄມ້ເອີ້ນ. ແຕ່ລະໂມດູນຖືກລະບຸໄວ້ພຽງແຕ່ຄັ້ງດຽວ. ປົກກະຕິ
ທີ່ບໍ່ໄດ້ຢູ່ໃນ call tree ຂອງໂຄງການຕົ້ນຕໍແມ່ນຖືກລະເວັ້ນ. ຖ້າມີ
ວົງຈອນໃນກາຟການໂທ (ຜິດກົດຫມາຍໃນ Fortran ມາດຕະຖານ) ພວກເຂົາເຈົ້າຈະຖືກກວດພົບແລະ
ກວດພະຍາດ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ເບິ່ງເພີ່ມເຕີມ: - calltree, - ອ້າງອີງ, - ອ້າງ​ອີງ​, -symtab, -vcg.

-source=ບັນຊີລາຍຊື່
ການຕັ້ງຄ່ານີ້ຄວບຄຸມຕົວເລືອກບາງຢ່າງກ່ຽວກັບຮູບແບບຂອງລະຫັດແຫຼ່ງ Fortran.
ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ມີສາມ
ຄໍາສໍາຄັນພິເສດ: ທັງຫມົດ ເພື່ອ​ເປີດ​ຕົວ​ເລືອກ​ທັງ​ຫມົດ​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ
ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ
ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, - ແຫຼ່ງ ເທົ່າກັບ -source=ທັງໝົດ, ແລະ -nosource ທຽບເທົ່າ
to -source=none.

ສໍາລັບຄວາມເຂົ້າກັນໄດ້ກັບສະບັບທີ່ຜ່ານມາຂອງ ftnchek, ຮູບແບບຕົວເລກຂອງການຕັ້ງຄ່ານີ້
ຍັງໄດ້ຮັບການຍອມຮັບ: ໄດ້ ບັນຊີລາຍຊື່ ຖືກແທນທີ່ດ້ວຍຕົວເລກທີ່ເປັນຜົນລວມຂອງຕົວເລກ
ໃນວົງເລັບຂ້າງຄໍາທີ່ຢູ່ໃນບັນຊີລາຍຊື່ຕໍ່ໄປນີ້. (ໄດ້ ຄົງ ແລະ ຟຣີ
ທາງເລືອກບໍ່ມີມູນຄ່າຕົວເລກ.) ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກເຂົາແມ່ນ
ດັ່ງຕໍ່ໄປນີ້:

ຄົງ:
ແປແຫຼ່ງທີ່ມາເປັນຮູບແບບຄົງທີ່ (ມີສ່ວນຂະຫຍາຍທີ່ຮອງຮັບເຊັ່ນ
ເຄື່ອງ​ຫມາຍ exclamation ສໍາ​ລັບ​ຄໍາ​ເຫັນ​)​. ຂໍ້ຄວາມຕ້ອງຢູ່ໃນຖັນ 7 ຫາ 72
(ເວັ້ນເສຍແຕ່ວ່າ -cols ການ​ຕັ້ງ​ຄ່າ​ໄດ້​ຖືກ​ນໍາ​ໃຊ້​ເພື່ອ​ປ່ຽນ​ແປງ​ນີ້​)​, ແລະ​ຊ່ອງ​ຫວ່າງ​ບໍ່​ແມ່ນ​
ເນື້ອໃນລັກສະນະພາຍນອກທີ່ສໍາຄັນ (ແຕ່ເຕືອນກ່ຽວກັບພາຍໃຕ້ -ງາມ
ທາງ​ເລືອກ). ນີ້ເປັນຮູບແບບເລີ່ມຕົ້ນເວັ້ນເສຍແຕ່ການຂະຫຍາຍໄຟລ໌ແຫຼ່ງ .f90
or .F90. ທາງເລືອກນີ້ບໍ່ສາມາດໃຫ້ຮ່ວມກັນກັບ -source=free.

ຟຣີ: ແປແຫຼ່ງທີ່ມາເປັນແບບຟອມຟຣີ. ຂໍ້ຄວາມອາດຈະຢູ່ບ່ອນໃດກໍໄດ້ໃນຖັນ 1
ເຖິງ 132, ຄໍາເຫັນສາມາດເລີ່ມຕົ້ນດ້ວຍເຄື່ອງຫມາຍ exclamation, ແລະຊ່ອງຫວ່າງແມ່ນ
ຕ້ອງການໃນບາງບ່ອນເຊັ່ນ: ລະຫວ່າງຕົວລະບຸແລະຄໍາສໍາຄັນ. ນີ້​ແມ່ນ
ຮູບແບບເລີ່ມຕົ້ນຖ້າຫາກວ່າການຂະຫຍາຍໄຟລ໌ແຫຼ່ງແມ່ນ .f90 or .F90. ຕົວເລືອກນີ້
ບໍ່ສາມາດໃຫ້ຮ່ວມກັນກັບ -source=ແກ້ໄຂ or -source=dec-tab

dec-tab (1):
ຍອມຮັບແຫຼ່ງຮູບແບບແຖບແບບ DEC. ແຖວເລີ່ມຕົ້ນດ້ວຍແຖບເບື້ອງຕົ້ນ
ຈະຖືກປະຕິບັດເປັນເສັ້ນຄໍາຖະແຫຼງໃຫມ່ເວັ້ນເສຍແຕ່ວ່າຕົວອັກສອນຫຼັງຈາກແຖບແມ່ນ
ຕົວເລກທີ່ບໍ່ແມ່ນສູນ, ໃນກໍລະນີນີ້ມັນຖືກປະຕິບັດເປັນເສັ້ນຕໍ່ເນື່ອງ. ໄດ້
ຖັນຖັດໄປຫຼັງຈາກແຖບ ຫຼືເຄື່ອງໝາຍຕໍ່ເນື່ອງຖືກເອົາເປັນຖັນ 7. A
ການເຕືອນໄພຈະຖືກມອບໃຫ້ໃນກໍລະນີທີ່ສາຍແມ່ນການສືບຕໍ່, ຖ້າ
-f77=dec-tab ແມ່ນຢູ່ໃນຜົນກະທົບ.

vms-ລວມ (2):
ຍອມຮັບ VMS ແບບປະກອບມີຄໍາຖະແຫຼງການ. ເຫຼົ່ານີ້ປະຕິບັດຕາມ syntax ປົກກະຕິ, ແຕ່
ມີ​ຄຸນ​ສົມ​ບັດ​ເພີ່ມ​ເຕີມ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​: (1​) ການ​ຂະ​ຫຍາຍ​ໄຟລ​໌​, ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ໄດ້​ໃຫ້​,
ເລີ່ມຕົ້ນຄືກັນກັບການຂະຫຍາຍໄຟລ໌ແຫຼ່ງປົກກະຕິ; ແລະ (2) ທາງເລືອກ
/LIST ຫຼື /NOLIST ສາມາດຖືກຕື່ມໃສ່ກັບຊື່ໄຟລ໌, ເພື່ອຄວບຄຸມລາຍຊື່
ຂອງ​ເນື້ອ​ໃນ​ຂອງ​ຕົນ​.

unix-backslash (4):
ຈັດການການຫລົບຫນີ backslash ແບບ UNIX ໃນສະຕຣິງຕົວອັກສອນ. ການຫລົບຫນີ
ລໍາດັບຕາມ backslash ຈະຖືກປະເມີນໂດຍອີງຕາມ ANSI
ມາດ​ຕະ​ຖານ​ສໍາ​ລັບ​ການ​ສະ​ຕ​ຣິງ​ໃນ C​: ເຖິງ​ສາມ​ຕົວ​ເລກ​ຫມາຍ​ເຖິງ​ຄ່າ​ເລກ​ແປດ​, x​
ໝາຍເຖິງການເລີ່ມຕົ້ນຂອງຄ່າຄົງທີ່ເລກຖານສິບຫົກ, ຕົວອັກສອນໃດນຶ່ງ abfnrt
ໝາຍເຖິງລະຫັດຄວບຄຸມພິເສດ, ແລະຕົວອັກສອນອື່ນໆ (ລວມທັງແຖວໃໝ່)
ຫມາຍເຖິງລັກສະນະຕົວຂອງມັນເອງ. ເມື່ອຕົວເລືອກລະຫັດແຫຼ່ງນີ້ມີຜົນບັງຄັບໃຊ້, a
ຈະ​ໄດ້​ຮັບ​ການ​ເຕືອນ​ໄພ​ຖ້າ​ຫາກ​ວ່າ​ -f77=backslash ການ​ຕັ້ງ​ຄ່າ​ແມ່ນ​ໄດ້​ລະ​ບຸ​ໄວ້​.

ພຶດຕິກໍາເລີ່ມຕົ້ນແມ່ນເພື່ອປະຕິບັດກັບ backslash ຄືກັບປົກກະຕິອື່ນໆ
ລັກສະນະ, ແຕ່ການເຕືອນໄພກ່ຽວກັບການເຄື່ອນທີ່ຈະຖືກສ້າງຂື້ນຖ້າຫາກວ່າ
- ພົກພາ ທຸງຖືກຕັ້ງ. ເນື່ອງຈາກວ່າຄວາມຈິງທີ່ວ່າ compilers ບາງປະຕິບັດການ
backslash ໃນທາງທີ່ບໍ່ມີມາດຕະຖານ, ມັນເປັນໄປໄດ້ສໍາລັບການປະຕິບັດຕາມມາດຕະຖານ
ໂປລແກລມທີ່ຈະບໍ່ເຄື່ອນທີ່ຖ້າພວກເຂົາໃຊ້ຕົວອັກສອນ backslash ໃນສະຕຣິງ.

ນັບຕັ້ງແຕ່ ftnchek ບໍ່ໄດ້ເຮັດຫຼາຍກັບສາຍພັນທີ່ຕີຄວາມ, ມັນບໍ່ຄ່ອຍໄດ້
ມີຄວາມຈໍາເປັນທີ່ຈະນໍາໃຊ້ທາງເລືອກນີ້. ມັນເປັນສິ່ງຈໍາເປັນເພື່ອຫຼີກເວັ້ນການ spurious
ການ​ເຕືອນ​ພຽງ​ແຕ່​ຖ້າ​ຫາກ​ວ່າ (a​) ໂຄງ​ການ​ທີ່​ຖືກ​ກວດ​ສອບ​ການ​ນໍາ​ໃຊ້ backslash ເພື່ອ​ຝັງ​
apostrophe ຫຼື quote mark ໃນ string ແທນທີ່ຈະໃຊ້ກົນໄກມາດຕະຖານ
ຂອງ double delimiter ໄດ້; (b) backslash ຖືກນໍາໃຊ້ເພື່ອຫນີ end-of-
ເສັ້ນເພື່ອສືບຕໍ່ສະຕຣິງຜ່ານຫຼາຍສາຍແຫຼ່ງ; ຫຼື (c) ກ
ຄໍານິຍາມ PARAMETER ໃຊ້ຟັງຊັນສະຕຣິງພາຍໃນ ເຊັ່ນ: LEN ກັບອັນນັ້ນ
ສະຕຣິງເປັນອາກິວເມັນ, ແລະຄ່ານັ້ນຖືກໃຊ້ໃນພາຍຫລັງເພື່ອກໍານົດອາເຣ
ຂະຫນາດ, ແລະອື່ນໆ.

param-implicit-type (8):
ການພິມໂດຍຫຍໍ້ຂອງພາລາມິເຕີໂດຍປະເພດຂໍ້ມູນຂອງຄ່າທີ່ໄດ້ຮັບມອບໝາຍ. ບາງ
compilers ທີ່ບໍ່ແມ່ນມາດຕະຖານອາດຈະອະນຸຍາດໃຫ້ປະເພດຂອງຂໍ້ມູນຂອງມູນຄ່າທີ່ຈະ override ໄດ້
Fortran 77 ປະເພດຄ່າເລີ່ມຕົ້ນຂອງພາລາມິເຕີທີ່ອີງໃສ່ຕົວອັກສອນທໍາອິດຂອງ
ຊື່ພາລາມິເຕີ. ຕົວເລືອກນີ້ໃຊ້ກັບຄໍາຖະແຫຼງທີ່ PARAMETER ເທົ່ານັ້ນ
ຮູບແບບມາດຕະຖານທີ່ມີວົງເລັບ. ພາລາມິເຕີທີ່ໄດ້ຮັບຢ່າງຊັດເຈນ
ປະກາດໃນຄໍາຖະແຫຼງການປະເພດກ່ອນຄໍາຖະແຫຼງທີ່ PARAMETER ບໍ່ໄດ້ຮັບຜົນກະທົບ
ໂດຍທາງເລືອກນີ້. ການ​ເຕືອນ​ໄພ​ຈະ​ໄດ້​ຮັບ​ພາຍ​ໃຕ້​ການ​ -f77=param-implicit-type
or -portability=param-implicit-type ທາງເລືອກ.

ກະລຸນາຮັບຊາບວ່າການພິມທີ່ບໍ່ຊັດເຈນນີ້ຖືກປະຕິບັດເທົ່າກັບປະເພດທີ່ຈະແຈ້ງ
ການປະກາດສໍາລັບພາລາມິເຕີ. ເພາະສະນັ້ນ, ຖ້າທ່ານໃຊ້
-makedcls=undeclared-ເທົ່ານັ້ນ ເພື່ອສ້າງການປະກາດພຽງແຕ່ຂອງ undeclared
ຕົວແປ, ຕົວກໍານົດການເຫຼົ່ານີ້ຈະ ບໍ່ ໄດ້ຮັບການປະກອບ.

dec-param-standard-type (16):
ປະຕິບັດຕາມກົດລະບຽບ Fortran 77 ສໍາລັບການພິມຂໍ້ມູນຂອງຕົວກໍານົດການຮູບແບບ DEC Fortran.
ເຫຼົ່ານີ້ແມ່ນຖືກປະກາດໂດຍໃຊ້ແບບຟອມທີ່ບໍ່ແມ່ນມາດຕະຖານຂອງຄໍາຖະແຫຼງ PARAMETER ເຊິ່ງ
ຂາດວົງເລັບ. ອີງຕາມ DEC Fortran, ຕົວກໍານົດການກໍານົດໂດຍແບບຟອມນີ້
ຂອງຄໍາຖະແຫຼງການມີປະເພດຂໍ້ມູນຂອງພວກເຂົາໃຫ້ໂດຍປະເພດຂໍ້ມູນຂອງມູນຄ່າ
ມອບໝາຍ. ໃຊ້ຕົວເລືອກນີ້ເພື່ອບອກ ftnchek ບໍ່ປະຕິບັດຕາມກົດລະບຽບນີ້ແຕ່
ແທນທີ່ຈະໃຊ້ກົດລະບຽບດຽວກັນກັບຄໍາຖະແຫຼງການ PARAMETER ມາດຕະຖານ. ນີ້
ທາງເລືອກບໍ່ໄດ້ໃຊ້ກັບຄໍາຖະແຫຼງ PARAMETER ຂອງແບບຟອມມາດຕະຖານ.

ໂດຍຄ່າເລີ່ມຕົ້ນ, ທາງເລືອກລະຫັດແຫຼ່ງເຫຼົ່ານີ້ທັງຫມົດຖືກປິດ, ຍົກເວັ້ນສໍາລັບ
vms-ລວມ ທາງ​ເລືອກ​, ເຊິ່ງ​ແມ່ນ​ຢູ່​ໃນ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​ໃນ​ສະ​ບັບ VMS ..

ເບິ່ງເພີ່ມເຕີມ: -f77, - ລວມ​ທັງ​, - ພົກພາ.

-style=ບັນຊີລາຍຊື່
ໃຫ້ການເຕືອນໄພພິເສດກ່ຽວກັບໂປຣແກມທີ່ລ້າສະໄໝ ຫຼືແບບເກົ່າ
ການກໍ່ສ້າງ. ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບຄວາມພະຍາຍາມປະຕິບັດຕາມໂຄງການທີ່ທັນສະໄຫມ
ແບບ. (ສ່ວນໃຫຍ່ຂອງສິ່ງທີ່ຈົ່ມກ່ຽວກັບພາຍໃຕ້ທາງເລືອກນີ້ແມ່ນຫ້າມຢູ່ໃນ
F ຊຸດຍ່ອຍ ພາສາ.) By ຄ່າເລີ່ມຕົ້ນ, ທັງຫມົດ ຄໍາເຕືອນ ມີ ຫັນໄປ off

ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ມີສາມ
ຄໍາສໍາຄັນພິເສດ: ທັງຫມົດ ເພື່ອ​ເປີດ​ຕົວ​ເລືອກ​ທັງ​ຫມົດ​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ
ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ
ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, -ແບບ ເທົ່າກັບ -style=ທັງໝົດ, ແລະ -nostyle ເທົ່າກັບ
-style=ບໍ່ມີ. ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

block-if:
ຈົ່ມກ່ຽວກັບຄໍາຖະແຫຼງ IF ເລກຄະນິດສາດ. ຍອມຮັບບລັອກ IF ຫຼື IF ຢ່າງມີເຫດຜົນ (ເຊິ່ງ
ຄວບຄຸມຄໍາຖະແຫຼງດຽວ).

ຊື່ກໍ່ສ້າງ:
ຈົ່ມກ່ຽວກັບໂຄງສ້າງບລັອກທີ່ບໍ່ມີຊື່: IF, DO, ແລະ SELECT CASE. ໃຫ້ສັງເກດວ່າ
ຖ້າມີຊື່ການກໍ່ສ້າງຢູ່ໃນຄໍາຖະແຫຼງການເປີດຂອງການກໍ່ສ້າງ, ຫຼັງຈາກນັ້ນ
ມັນຈໍາເປັນຕ້ອງມີຢູ່ໃນຄໍາຖະແຫຼງການອົງປະກອບອື່ນໆທັງຫມົດ (ELSE, END IF,
ແລະອື່ນໆ) ຂອງການກໍ່ສ້າງ. ໃນກໍລະນີດັ່ງກ່າວນີ້, ບໍ່ມີຊື່ການກໍ່ສ້າງ
ຖະແຫຼງການສ້າງຂໍ້ຜິດພາດທາງໄວຍະກອນໂດຍບໍ່ຄໍານຶງເຖິງທາງເລືອກນີ້. ເປົ້າ​ຫມາຍ
ທາງເລືອກນີ້ແມ່ນເພື່ອເຕືອນຖ້າຫາກວ່າການກໍ່ສ້າງຂາດທາງເລືອກຢ່າງສົມບູນ
ຊື່

ເຮັດ​ທີ່​ແຕກ​ຕ່າງ​ກັນ:
ຈົ່ມວ່າສອງ DO loops ແບ່ງປັນຄໍາຖະແຫຼງການ terminator ທົ່ວໄປ.

ເຮັດ​ການ​ກໍ່​ສ້າງ​:
ຈົ່ມວ່າ terminator ຂອງ DO loop ເປັນອັນໃດນອກເໜືອໄປຈາກ END DO ຫຼື
ສືບຕໍ່ຖະແຫຼງການ. ນີ້ແມ່ນຄວາມຕ້ອງການເພື່ອໃຫ້ loop ຕອບສະຫນອງ
ຄໍານິຍາມ Fortran 90 ຂອງການກໍ່ສ້າງ.

do-enddo:
ຈົ່ມວ່າ terminator ຂອງ DO loop ເປັນອັນໃດນອກເໜືອໄປຈາກ END DO
ຖະແຫຼງການ. (ທາງ​ເລືອກ​ນີ້ overrides ໄດ້​ ເຮັດ​ການ​ກໍ່​ສ້າງ​ ທາງເລືອກ, ແມ້ແຕ່
ເຂັ້ມງວດ.)

ຊື່ທ້າຍ:
ຈົ່ມກ່ຽວກັບການບໍ່ມີຊື່ໂຄງການຍ່ອຍຢູ່ໃນໂຄງສ້າງ END
ຖະແຫຼງການ.

format-stmt:
ຈົ່ມກ່ຽວກັບການມີໃບລາຍງານ FORMAT. ພຽງແຕ່ໃບລາຍງານ FORMAT
ຕົວຂອງມັນເອງຖືກທຸງ, ບໍ່ແມ່ນການອ້າງອີງເຖິງພວກມັນຢູ່ໃນລາຍຊື່ I/O.

goto: ຈົ່ມກ່ຽວກັບການປະກົດຕົວຂອງ GOTO ທີ່ບໍ່ມີເງື່ອນໄຂ, ຄິດໄລ່ຫຼືຖືກມອບຫມາຍ
ຖະແຫຼງການ. ຍັງຈົ່ມກ່ຽວກັບຜົນຕອບແທນສະຫຼັບ (ແຕ່ບໍ່ແມ່ນກ່ຽວກັບປ້າຍຊື່
ການໂຕ້ຖຽງໂຄງການຍ່ອຍ).

labeled-stmt:
ຈົ່ມກ່ຽວກັບການປະກົດຕົວຂອງປ້າຍກຳກັບ (ຕົວເລກ) ໃນຄຳຖະແຫຼງທີ່ນອກເໜືອໄປຈາກ
FORMAT ຖະແຫຼງການ. (ເນື່ອງ​ຈາກ​ວ່າ FORMAT ຖະ​ແຫຼງ​ການ​ແມ່ນ​ສະ​ດວກ​ສະ​ບາຍ​ແລະ​ບໍ່​ແມ່ນ​
ຖືກລ່ວງລະເມີດຢ່າງງ່າຍດາຍ, ການຮ້ອງທຸກກ່ຽວກັບພວກມັນຖືກຄວບຄຸມໂດຍແຍກຕ່າງຫາກ
format-stmt ຄໍາສໍາຄັນ.)

program-stmt:
ຈົ່ມກ່ຽວກັບການບໍ່ມີຄໍາຖະແຫຼງຂອງ PROGRAM ຢູ່ຫົວຂອງຕົ້ນຕໍ
ໂຄງການ.

ໂຄງ​ສ້າງ​ທີ່​ສຸດ​:
ຈົ່ມກ່ຽວກັບການໃຊ້ຄໍາຖະແຫຼງທີ່ END ທໍາມະດາເພື່ອສິ້ນສຸດໂຄງການຍ່ອຍ, ແທນທີ່ຈະ
ກ​່​ວາ​ຄໍາ​ຖະ​ແຫຼງ​ການ END ທີ່​ມີ​ໂຄງ​ສ້າງ (ທ້າຍ​ໂຄງ​ການ​, ທ້າຍ​ຍ່ອຍ​, ທ້າຍ​ຫນ້າ​ທີ່​,
ຫຼືສິ້ນສຸດ BLOCK DATA).

ເບິ່ງເພີ່ມເຕີມ: -f77, -f90, -f95, -ງາມ, - ພົກພາ.

-symtab
ຕາຕະລາງສັນຍາລັກຈະຖືກພິມອອກສໍາລັບແຕ່ລະໂມດູນ, ລາຍຊື່ຕົວກໍານົດທັງຫມົດ
ທີ່ໄດ້ກ່າວມາໃນໂມດູນ. ຕາຕະລາງນີ້ໃຫ້ຊື່ຂອງແຕ່ລະຕົວແປ, ປະເພດຂໍ້ມູນຂອງມັນ,
ແລະຈໍານວນຂອງຂະຫນາດສໍາລັບ arrays. ເຄື່ອງໝາຍດາວ (*) ຊີ້ບອກວ່າ
ຕົວແປໄດ້ຖືກພິມໂດຍ implicitly, ແທນທີ່ຈະຖືກຕັ້ງຊື່ໃນປະເພດທີ່ຈະແຈ້ງ
ຖະແຫຼງການ. ຕາຕະລາງຍັງລາຍຊື່ທຸກໂຄງການຍ່ອຍທີ່ຖືກຮຽກຮ້ອງໂດຍໂມດູນ,
ຕັນ COMMON ທັງໝົດໄດ້ປະກາດ, ແລະອື່ນໆ. Default = no.

ນອກຈາກນັ້ນ, ສໍາລັບແຕ່ລະໂມດູນ, ຕາຕະລາງປ້າຍຊື່ຈະຖືກພິມອອກ. ຕາຕະລາງສະແດງແຕ່ລະປ້າຍຊື່
ກໍານົດຢູ່ໃນໂມດູນ; ເສັ້ນທີ່ປ້າຍຄຳຖະແຫຼງທີ່ກຳນົດໄວ້; ແລະ
ປະເພດຄໍາຖະແຫຼງ (ປະຕິບັດໄດ້, ຮູບແບບ, ຫຼືສະເພາະ). ປ້າຍຊື່ແມ່ນໄດ້ລະບຸໄວ້ໃນ
ລໍາດັບລໍາດັບ.

ພິມອອກຍັງເປັນຕາຕະລາງທີ່ອະທິບາຍຫົວໜ່ວຍ I/O ທີ່ໃຊ້ໂດຍໂມດູນ, ຮ່ວມກັບ
ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ວິ​ທີ​ການ​ທີ່​ພວກ​ເຂົາ​ເຈົ້າ​ໄດ້​ຖືກ​ນໍາ​ໃຊ້​: ສິ່ງ​ທີ່​ປະ​ຕິ​ບັດ​ການ​, ບໍ່​ວ່າ​ຈະ​ເປັນ​
ການເຂົ້າເຖິງແມ່ນຕາມລໍາດັບ ຫຼືໂດຍກົງ, ແລະບໍ່ວ່າຈະເປັນ I/O ຈະຖືກຈັດຮູບແບບ ຫຼືບໍ່ມີຮູບແບບ.

ເບິ່ງເພີ່ມເຕີມ: - calltree, - ອ້າງອີງ, -list, - ອ້າງ​ອີງ​, - ຄັດ, -vcg.

-truncation=ບັນຊີລາຍຊື່
ເຕືອນ​ກ່ຽວ​ກັບ​ຄວາມ​ຜິດ​ພາດ​ທີ່​ເປັນ​ໄປ​ໄດ້​ຕັດ (ຫຼື roundoff​)​. ສ່ວນໃຫຍ່ເຫຼົ່ານີ້ແມ່ນກ່ຽວຂ້ອງກັບ
ເລກເລກຈຳນວນເຕັມ. ຕາມຄ່າເລີ່ມຕົ້ນ, ການເຕືອນໄພທັງໝົດຈະເປີດຢູ່.

ການຕັ້ງຄ່ານີ້ໃຫ້ການຄວບຄຸມຢ່າງລະອຽດກ່ຽວກັບຄໍາເຕືອນກ່ຽວກັບການຕັດທີ່ອາດເປັນໄປໄດ້
ຄວາມຜິດພາດ. ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ນັບຕັ້ງແຕ່ທັງຫມົດ
ການ​ເຕືອນ​ໄພ​ແມ່ນ​ຢູ່​ໃນ​ຕອນ​ຕົ້ນ​, ປະ​ກອບ​ມີ​ຄໍາ​ທີ່​ນໍາ​ຫນ້າ​ໂດຍ​ ບໍ່- ປິດ a
ການ​ເຕືອນ​ໄພ​ໂດຍ​ສະ​ເພາະ​. ມີສາມຄໍາພິເສດ: ທັງຫມົດ ເພື່ອເປີດທັງຫມົດ
ຄໍາ​ເຕືອນ​ກ່ຽວ​ກັບ​ການ​ຕັດ​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງ
ຄໍາສໍາຄັນທັງຫມົດທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, - ຕັດ
ເທົ່າກັບ -truncation=ທັງໝົດ, ແລະ - notruncation ເທົ່າກັບ
-truncation=ບໍ່ມີ. ຄໍາເຕືອນທີ່ມີຄວາມຫມາຍຂອງພວກມັນມີດັ່ງນີ້:

int-div-exponent:
ໃຊ້ຜົນຂອງການຫານຈຳນວນເຕັມເປັນເລກກຳລັງ. ອັນນີ້ຊີ້ໃຫ້ເຫັນວ່າ ກ
quotient ທີ່ແທ້ຈິງແມ່ນມີຈຸດປະສົງ. ຕົວຢ່າງຈະຂຽນ X**(1/3) ເພື່ອປະເມີນ
ຮາກ cube ຂອງ X. ການສະແດງອອກທີ່ຖືກຕ້ອງແມ່ນ X**(1./3.).

int-div-real:
ການປ່ຽນການສະແດງຜົນທີ່ກ່ຽວຂ້ອງກັບການຫານຈຳນວນເຕັມໄປເປັນຈິງ. ນີ້
ແນະນໍາວ່າ quotient ທີ່ແທ້ຈິງແມ່ນມີຈຸດປະສົງ.

int-div-ສູນ:
ການຫານຢູ່ໃນຕົວສະແດງຄົງທີ່ຈຳນວນເຕັມທີ່ໃຫ້ຜົນເປັນສູນ.

int-neg-power:
exponentiation ຂອງຈຳນວນເຕັມໂດຍຈຳນວນເຕັມລົບ (ເຊິ່ງໃຫ້ຜົນເປັນສູນເວັ້ນເສຍແຕ່
ຈຳນວນເຕັມພື້ນຖານແມ່ນ 1 ໃນຂະໜາດ). ນີ້ຊີ້ໃຫ້ເຫັນວ່າພື້ນຖານທີ່ແທ້ຈິງແມ່ນ
ມີຈຸດປະສົງ.

ການສົ່ງເສີມການ:
ການແປງອັດຕະໂນມັດຂອງປະລິມານຄວາມແມ່ນຍໍາຕ່ໍາເປັນຫນຶ່ງຂອງສູງກວ່າ
ຄວາມຊັດເຈນ. ການສູນເສຍຄວາມຖືກຕ້ອງສໍາລັບຕົວແປທີ່ແທ້ຈິງໃນຂະບວນການນີ້ແມ່ນ
ປຽບທຽບກັບ demotion ທີ່ສອດຄ້ອງກັນ. ບໍ່ມີການເຕືອນໄພສໍາລັບການສົ່ງເສີມ
ຈໍານວນຈໍານວນເຕັມໄປເປັນຈິງນັບຕັ້ງແຕ່ນີ້ແມ່ນແນ່ນອນປົກກະຕິ.

real-do-index:
ການ​ນໍາ​ໃຊ້​ຂອງ​ດັດ​ຊະ​ນີ DO ທີ່​ບໍ່​ແມ່ນ​ຈໍາ​ນວນ​ເຕັມ​ໃນ loop ກັບ integer bounds​. ຈຳນວນເຕັມ DO
ດັດຊະນີທີ່ມີຂອບເຂດທີ່ແທ້ຈິງແມ່ນຖືກເຕືອນສະເຫມີກ່ຽວກັບການຕັ້ງຄ່ານີ້.

subscript ທີ່ແທ້ຈິງ:
ການ​ນໍາ​ໃຊ້​ຂອງ subscript array ທີ່​ບໍ່​ແມ່ນ​ຈໍາ​ນວນ​ເຕັມ​.

ຕົວ​ເລກ​ທີ່​ສໍາ​ຄັນ​:
overspecifying ຄົງທີ່ຄວາມແມ່ນຍໍາດຽວ. ນີ້ອາດຈະຊີ້ໃຫ້ເຫັນວ່າສອງເທົ່າ
ຄວາມແມ່ນຍໍາຄົງທີ່ມີຈຸດປະສົງ.

ການ​ຫຼຸດ​ຜ່ອນ​ຂະ​ຫນາດ​:
ການແປງອັດຕະໂນມັດຂອງປະລິມານຄວາມແມ່ນຍໍາທີ່ສູງຂຶ້ນເປັນຫນຶ່ງຂອງຄວາມແມ່ນຍໍາຕ່ໍາ
ປະເພດດຽວກັນ. ການເຕືອນໄພນີ້ເກີດຂຶ້ນເມື່ອມີການໃຊ້ຂະໜາດທີ່ຊັດເຈນເທົ່ານັ້ນ
ປະກາດປະເພດຂອງຫນຶ່ງຫຼືທັງສອງ operands ໃນການມອບຫມາຍ. ຕົວຢ່າງ, ກ
ການ​ເຕືອນ​ໄພ​ຈະ​ໄດ້​ຮັບ​ການ​ອອກ​ຈາກ​ບ່ອນ​ທີ່​ຕົວ​ປ່ຽນ REAL*8 ຖືກ​ມອບ​ຫມາຍ​ໃຫ້​ເປັນ​ຕົວ​ແປ​ຈິງ​,
ຖ້າຄ່າເລີ່ມຕົ້ນຂອງ 4 ແມ່ນມີຜົນບັງຄັບໃຊ້. ການ​ເຕືອນ​ໄພ​ຍັງ​ຖືກ​ອອກ​ມາ​ຖ້າ​ຫາກ​ວ່າ a
ຈໍານວນເຕັມຍາວຖືກມອບຫມາຍໃຫ້ສັ້ນກວ່າ, ຕົວຢ່າງ, ຖ້າເປັນ INTEGER
ການສະແດງຜົນຖືກມອບໝາຍໃຫ້ກັບຕົວແປ INTEGER*2. ມີຂໍ້ຍົກເວັ້ນຫນຶ່ງທີ່ຈະ
ກໍ​ລະ​ນີ​ສຸດ​ທ້າຍ​ນີ້​, ຄື​ຖ້າ​ຫາກ​ວ່າ​ເບື້ອງ​ຂວາ​ຂອງ​ການ​ມອບ​ຫມາຍ​ແມ່ນ​ຂະ​ຫນາດ​ນ້ອຍ​
ຄົງທີ່ຕົວໜັງສື (ໜ້ອຍກວ່າ 128). ປະ​ເພດ​ການ​ລົບ​ກວນ​: ການ​ປ່ຽນ​ແປງ​ອັດ​ຕະ​ໂນ​ມັດ​ຂອງ a
ປະລິມານຄວາມແມ່ນຍໍາສູງໄປຫາຫນຶ່ງໃນຄວາມແມ່ນຍໍາຕ່ໍາຂອງປະເພດທີ່ແຕກຕ່າງກັນ. ນີ້
ການເຕືອນໄພປະກອບມີການປ່ຽນປະລິມານທີ່ແທ້ຈິງເປັນຈໍານວນເຕັມ, ຄວາມແມ່ນຍໍາສອງເທົ່າ
ເພື່ອຄວາມແມ່ນຍໍາຈິງດຽວ, ແລະການມອບຫມາຍຂອງຕົວອັກສອນທີ່ຍາວກວ່າເປັນ a
ສັ້ນກວ່າ.

ການເຕືອນໄພກ່ຽວກັບການສົ່ງເສີມແລະການເລື່ອນຊັ້ນຍັງໃຊ້ກັບຄວາມຄົງທີ່ທີ່ສັບສົນ,
ພິຈາລະນາຄວາມແມ່ນຍໍາຂອງພາກສ່ວນທີ່ແທ້ຈິງຫຼືຈິນຕະນາການ. ຄຳເຕືອນກ່ຽວກັບ
ໂປຣໂມຊັນ ແລະ ການເລື່ອນແມ່ນໃຫ້ພຽງແຕ່ເມື່ອການປ່ຽນໃຈເຫລື້ອມໃສແມ່ນເຮັດໂດຍອັດຕະໂນມັດ,
ຕົວຢ່າງ: ໃນການສະແດງອອກຂອງຄວາມແມ່ນຍໍາປະສົມຫຼືໃນຄໍາຖະແຫຼງການມອບຫມາຍ. ຖ້າພາຍໃນ
ຟັງຊັນເຊັ່ນ INT ຖືກນໍາໃຊ້ເພື່ອປະຕິບັດການແປງ, ບໍ່ມີການເຕືອນໄພ.

ເບິ່ງເພີ່ມເຕີມ: - ພົກພາ, - ຂະ​ຫນາດ​ຄໍາ​.

-usage=ບັນຊີລາຍຊື່
ເຕືອນກ່ຽວກັບຕົວແປທີ່ບໍ່ໄດ້ໃຊ້ຫຼືເປັນໄປໄດ້, ຕັນທົ່ວໄປທີ່ບໍ່ໄດ້ໃຊ້,
ປ້າຍຄໍາຖະແຫຼງທີ່ບໍ່ໄດ້ກໍານົດຫຼືບໍ່ໄດ້ໃຊ້, ແລະໂຄງການຍ່ອຍທີ່ບໍ່ໄດ້ໃຊ້ຫຼືບໍ່ໄດ້ກໍານົດ. ໂດຍ
ຄ່າເລີ່ມຕົ້ນ, ການເຕືອນໄພທັງໝົດແມ່ນເປີດຢູ່.

ການຕັ້ງຄ່ານີ້ໃຫ້ການຄວບຄຸມຢ່າງລະອຽດກ່ຽວກັບຄໍາເຕືອນກ່ຽວກັບການນໍາໃຊ້ທີ່ເປັນໄປໄດ້
ຄວາມຜິດພາດ. ໄດ້ ບັນຊີລາຍຊື່ ປະ​ກອບ​ດ້ວຍ​ຄໍາ​ທີ່​ແຍກ​ອອກ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ຈຸດ​ຫຼື​ຈໍ້າ​ສອງ​ເມັດ​. ນັບຕັ້ງແຕ່ທັງຫມົດ
ການ​ເຕືອນ​ໄພ​ແມ່ນ​ຢູ່​ໃນ​ຕອນ​ຕົ້ນ​, ປະ​ກອບ​ມີ​ຄໍາ​ທີ່​ນໍາ​ຫນ້າ​ໂດຍ​ ບໍ່- ປິດ a
ການ​ເຕືອນ​ໄພ​ໂດຍ​ສະ​ເພາະ​. ມີສາມຄໍາພິເສດ: ທັງຫມົດ ເພື່ອເປີດທັງຫມົດ
ຄໍາ​ເຕືອນ​ກ່ຽວ​ກັບ​ການ​ນໍາ​ໃຊ້​, none ເພື່ອປິດພວກມັນທັງຫມົດ, ແລະ ຊ່ວຍເຫຼືອ ເພື່ອພິມບັນຊີລາຍຊື່ຂອງທັງຫມົດ
ຄໍາສໍາຄັນທີ່ມີຄໍາອະທິບາຍສັ້ນໆຂອງແຕ່ລະຄົນ. ຖ້າ ບັນຊີລາຍຊື່ ຖືກລະເວັ້ນ, - ການ​ນໍາ​ໃຊ້​ is
ທຽບເທົ່າກັບ -usage=ທັງໝົດ, ແລະ - ດັງ ເທົ່າກັບ -usage=none. ເຫຼົ່ານີ້
ການເຕືອນໄພກວມເອົາສີ່ປະເພດຕົ້ນຕໍຂອງວັດຖຸ: ການໂຕ້ຖຽງ dummy ໂຄງການຍ່ອຍ, ທົ່ວໄປ
ຕັນ ແລະຕົວແປ, ໂຄງການຍ່ອຍ ແລະໜ້າທີ່, ແລະຕົວແປທ້ອງຖິ່ນ. ຄຳເຕືອນ
ລວມ​ເອົາ​ລາຍ​ການ​ທີ່​ບໍ່​ໄດ້​ກໍາ​ນົດ​, ຄູນ​ລາຍ​ການ​ທີ່​ກໍາ​ນົດ​ໄວ້​, ລາຍ​ການ​ທີ່​ບໍ່​ໄດ້​ນໍາ​ໃຊ້​, ແລະ​ອື່ນໆ​ຄໍາ​ເຕືອນ​
ຄໍາທີ່ມີຄວາມຫມາຍຂອງເຂົາເຈົ້າມີດັ່ງນີ້:

arg-alias:
ການໂຕ້ຖຽງ dummy scalar ແມ່ນຕົວຈິງແລ້ວຄືກັນກັບອັນອື່ນ ແລະເປັນ (ຫຼືອາດຈະເປັນ)
ດັດແກ້. ມາດຕະຖານ Fortran 77 (ພາກ 15.9.3.6) ຫ້າມການດັດແກ້ an
ການໂຕ້ຖຽງທີ່ມີນາມແຝງກັບຄົນອື່ນ.

arg-array-alias:
argument dummy ເຊິ່ງເປັນ array ຫຼື array ອົງປະກອບຢູ່ໃນ array ດຽວກັນກັບ
ອື່ນ ແລະຖືກດັດແກ້. ທຸງນີ້ແມ່ນຄ້າຍຄືກັນກັບ arg-alias ແຕ່ສະຫນອງ
ການຄວບຄຸມແຍກຕ່າງຫາກກ່ຽວກັບການໂຕ້ຖຽງ array. ມັນເປັນການຍາກທີ່ຈະບອກໄດ້ວ່ານາມແຝງແມ່ນຫຼືບໍ່
ເກີດຂື້ນໃນກໍລະນີຂອງ arrays, ດັ່ງນັ້ນຖ້າ ftnchek ໃຫ້​ຄໍາ​ເຕືອນ​ທີ່​ບໍ່​ຖືກ​ຕ້ອງ​ຫຼາຍ​ເກີນ​ໄປ​,
ທຸງນີ້ອະນຸຍາດໃຫ້ປິດ array ທີ່ກ່ຽວຂ້ອງກັບ array ໂດຍບໍ່ມີການສະກັດກັ້ນ
ການ​ເຕືອນ​ໄພ​ສໍາ​ລັບ​ການ​ສະ​ເກັດ​ເງິນ​.

arg-common-alias:
ການໂຕ້ຖຽງ dummy scalar ແມ່ນຄືກັນກັບຕົວແປທົ່ວໄປໃນໂຄງການຍ່ອຍ,
ແລະທັງຖືກແກ້ໄຂ. ນີ້ຍັງຖືກຫ້າມໂດຍມາດຕະຖານ Fortran 77.
ຖ້າການກວດສອບທົ່ວໄປບໍ່ແນ່ນອນ (ເບິ່ງ - ທົ່ວໄປ ການຕັ້ງຄ່າ), ມັນຍາກກວ່າທີ່ຈະ
ບອກຖ້າຫາກວ່າ aliasing ແມ່ນເກີດຂຶ້ນ, ສະນັ້ນການເຕືອນໄພແມ່ນໄດ້ຮັບຖ້າຫາກວ່າຕົວແປແມ່ນ
ທຸກບ່ອນໃນບລັອກທົ່ວໄປທີ່ປະກາດໂດຍໂຄງການຍ່ອຍ.

arg-common-array-alias:
argument dummy ເຊິ່ງເປັນ array ຫຼື array element ຢູ່ໃນ array ດຽວກັນກັບ a
ຕົວແປທົ່ວໄປ, ແລະຖືກດັດແກ້. ຖ້າການກວດສອບທົ່ວໄປບໍ່ແນ່ນອນ,
ຕົວແປສາມາດຢູ່ທຸກບ່ອນໃນບລັອກທົ່ວໄປທີ່ຖືກປະກາດໂດຍ
ໂຄງການຍ່ອຍ.

arg-const-ດັດແກ້:
ໂຄງການຍ່ອຍດັດແກ້ການໂຕ້ຖຽງທີ່ເປັນຄ່າຄົງທີ່ ຫຼືການສະແດງອອກ. ດັ່ງກ່າວ
ການກະ ທຳ ອາດຈະເຮັດໃຫ້ເກີດພຶດຕິ ກຳ ທີ່ຜິດປົກກະຕິຂອງໂຄງການ.

arg-ບໍ່ໄດ້ໃຊ້:
ການໂຕ້ຖຽງ dummy ຖືກປະກາດແຕ່ບໍ່ເຄີຍໃຊ້. ນີ້ແມ່ນຄ້າຍຄືກັນກັບ
var-ບໍ່ໄດ້ໃຊ້ ຄໍາສໍາຄັນທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້, ແຕ່ໃຊ້ກັບການໂຕ້ຖຽງເທົ່ານັ້ນ.

com-block-unused:
ຕັນທົ່ວໄປຖືກປະກາດແຕ່ບໍ່ມີຕົວແປໃນມັນຖືກນໍາໃຊ້ໂດຍໃດໆ
ໂຄງການຍ່ອຍ. ການເຕືອນໄພນີ້ຈະຖືກສະກັດກັ້ນຖ້າຫາກວ່າການກໍານົດຄວາມເຂັ້ມງວດທົ່ວໄປ
0.

com-block-volatile:
ບລັອກທົ່ວໄປອາດຈະສູນເສຍຄໍານິຍາມຂອງເນື້ອຫາຂອງມັນຖ້າບລັອກທົ່ວໄປແມ່ນ
ຜັນຜວນ. ທາງເລືອກນີ້ພຽງແຕ່ມີຜົນກະທົບຖ້າຫາກວ່າ -common=volatile ທຸງຢູ່ໃນ
ຜົນກະທົບ. ເບິ່ງການສົນທະນາຂອງ - ທົ່ວໄປ ການຕັ້ງຄ່າຂ້າງເທິງ.

com-var-set-unused:
ຕົວແປທົ່ວໄປຖືກມອບຫມາຍໃຫ້ຄ່າ, ແຕ່ຄ່າຂອງມັນບໍ່ໄດ້ຖືກນໍາໃຊ້ໂດຍໃດໆ
ໂຄງການຍ່ອຍ. ການເຕືອນໄພນີ້ຈະຖືກສະກັດກັ້ນຖ້າຫາກວ່າການກໍານົດຄວາມເຂັ້ມງວດທົ່ວໄປ
0.

com-var-uninitialized:
ຄ່າຂອງຕົວແປທົ່ວໄປແມ່ນໃຊ້ໃນບາງໂຄງການຍ່ອຍ, ແຕ່ບໍ່ໄດ້ຕັ້ງ
ທຸກບ່ອນ. ແຕ່ຫນ້າເສຍດາຍ, ftnchek ບໍ່ໄດ້ເຮັດການວິເຄາະຢ່າງລະອຽດພຽງພໍ
ລໍາດັບການໂທຫາເພື່ອຮູ້ວ່າການເອີ້ນຕາມປົກກະຕິກ່ອນຄົນອື່ນ. ດັ່ງນັ້ນ
ຄຳເຕືອນກ່ຽວກັບຄວາມຜິດພາດປະເພດນີ້ຈະຖືກມອບໃຫ້ສະເພາະກໍລະນີທີ່ ກ
ຕົວແປແມ່ນໃຊ້ໃນບາງວຽກປະຈຳແຕ່ບໍ່ໄດ້ຕັ້ງຢູ່ໃນກິດຈະວັດອື່ນໆ. ກຳລັງກວດສອບ
ຂອງຕົວແປ COMMON ສ່ວນບຸກຄົນແມ່ນເຮັດໄດ້ພຽງແຕ່ຖ້າຫາກວ່າ - ທົ່ວໄປ ການ​ຕັ້ງ​ຄ່າ​ແມ່ນ 3​
(ຕົວປ່ຽນແປງໂດຍຂໍ້ຕົກລົງການປ່ຽນແປງ). ການເຕືອນໄພນີ້ຖືກສະກັດກັ້ນຖ້າຫາກວ່າທົ່ວໄປ
ກໍານົດຄວາມເຂັ້ມງວດແມ່ນ 0.

com-var-unused:
ຕົວແປທົ່ວໄປຖືກປະກາດແຕ່ບໍ່ໄດ້ໃຊ້ໂດຍໂຄງການຍ່ອຍໃດໆ. ຄຳເຕືອນນີ້
ຈະຖືກສະກັດກັ້ນຖ້າການຕັ້ງຄ່າຄວາມເຂັ້ມງວດທົ່ວໄປແມ່ນ 0.

do-index-ດັດແກ້:
ຕົວແປທີ່ເປັນດັດຊະນີຂອງ DO loop ຖືກແກ້ໄຂໂດຍບາງຄໍາຖະແຫຼງ
ພາຍໃນຂອບເຂດຂອງ loop ໄດ້. ມາດຕະຖານອະນຸຍາດໃຫ້ມີຕົວແປ DO ທີ່ເຮັດວຽກຢູ່
ໄດ້ຮັບການດັດແກ້ພຽງແຕ່ໂດຍກົນໄກການເພີ່ມຂຶ້ນຂອງຄໍາຖະແຫຼງທີ່ DO.

ext-multiply-ກໍານົດ:
ພາຍນອກ (ຊຸດຍ່ອຍ ຫຼືຟັງຊັນ) ຖືກກຳນົດຫຼາຍກວ່າໜຶ່ງຄັ້ງ. ຄໍານິຍາມ
ຫມາຍຄວາມວ່າພາຍນອກສະຫນອງເນື້ອໃນຂອງລະຫັດແຫຼ່ງຂອງມັນ.

ext-ປະກາດ-ເທົ່ານັ້ນ:
ຊື່ຖືກປະກາດໃນຄໍາຖະແຫຼງການພາຍນອກໃນບາງໂມດູນ, ແຕ່ບໍ່ແມ່ນ
ກຳນົດ ຫຼືໃຊ້ຢູ່ບ່ອນໃດກໍໄດ້.

ext-ບໍ່ໄດ້ກໍານົດ:
ພາຍນອກຖືກນໍາໃຊ້ (ເອີ້ນ) ແຕ່ບໍ່ໄດ້ກໍານົດບ່ອນໃດກໍ່ຕາມ. ທາງເລືອກນີ້ແມ່ນ
ທຽບເທົ່າກັບ - ພາຍ​ນອກ​ ທຸງ. ຖ້າໂຄງການຍ່ອຍຖືກເອີ້ນຫຼາຍກວ່າ
ເມື່ອໃດນຶ່ງ, ການຮຽກຮ້ອງເຫຼົ່ານັ້ນຍັງຈະຖືກກວດສອບຄວາມສອດຄ່ອງ.

ext-ບໍ່ໄດ້ໃຊ້:
ພາຍນອກຖືກກໍານົດ (ເນື້ອໃນໂຄງການຍ່ອຍຂອງມັນຢູ່ໃນປະຈຸບັນ) ແຕ່ມັນບໍ່ໄດ້ຖືກນໍາໃຊ້.
ໂຄງການຍ່ອຍຖືກພິຈາລະນາວ່າບໍ່ໄດ້ໃຊ້ເຖິງແມ່ນວ່າມັນຈະຖືກເອີ້ນໂດຍຜູ້ອື່ນກໍຕາມ
ໂຄງການຍ່ອຍ, ຖ້າມັນບໍ່ສາມາດຖືກເອີ້ນຈາກຫົວຂໍ້ການປະຕິບັດໃດໆທີ່ເລີ່ມຕົ້ນດ້ວຍ
ໂຄງ​ການ​ຕົ້ນ​ຕໍ​. ຂໍ້ຕົກລົງຂອງການໂຕ້ຖຽງຂອງໂຄງການຍ່ອຍກັບມັນ
ການຮ້ອງຂໍຍັງຖືກກວດສອບເຖິງແມ່ນວ່າການເຕືອນນີ້ຈະຖືກປິດ. ຖ້າມີ
ບໍ່ມີໂຄງການຕົ້ນຕໍ, ຫຼັງຈາກນັ້ນການເຕືອນໄພນີ້ແມ່ນອອກພຽງແຕ່ຖ້າຫາກວ່າໂຄງການຍ່ອຍບໍ່ແມ່ນ
ຮຽກ​ຮ້ອງ​ທຸກ​ບ່ອນ​. ການເຕືອນໄພນີ້ຖືກສະກັດກັ້ນໃນຮູບແບບຫ້ອງສະຫມຸດ, ແຕ່ຫ້ອງສະຫມຸດ
ໂຫມດມີຜົນກະທົບເພີ່ມເຕີມຂອງການສະກັດກັ້ນການກວດສອບການໂຕ້ຖຽງທີ່ບໍ່ໄດ້ໃຊ້
ປົກກະຕິ.

ບໍ່ໄດ້ກຳນົດປ້າຍກຳກັບ:
ຄໍາຖະແຫຼງການຫມາຍເຖິງປ້າຍຊື່ທີ່ບໍ່ໄດ້ກໍານົດ.

ປ້າຍຊື່ທີ່ບໍ່ໄດ້ໃຊ້:
ປ້າຍຄໍາຖະແຫຼງທີ່ຖືກກໍານົດ, ແຕ່ບໍ່ເຄີຍຫມາຍເຖິງ.

var-set-unused:
ຕົວແປທ້ອງຖິ່ນຖືກມອບໝາຍຄ່າ, ແຕ່ຄ່ານັ້ນບໍ່ໄດ້ໃຊ້.

var-uninitialized:
ຄ່າຂອງຕົວແປທ້ອງຖິ່ນອາດຈະຖືກນໍາໃຊ້ກ່ອນທີ່ຈະຖືກມອບຫມາຍ. ບາງຄັ້ງ
ftnchek ເຮັດຜິດພາດໃນການເຕືອນກ່ຽວກັບການນໍາໃຊ້ຕົວແປໃນທ້ອງຖິ່ນ. ປົກກະຕິແລ້ວ
ມັນຜິດພາດໃນດ້ານຂອງການເຕືອນໄພທີ່ບໍ່ມີບັນຫາ, ແຕ່ວ່າໃນທີ່ຫາຍາກ
ກໍລະນີມັນອາດຈະລົ້ມເຫລວທີ່ຈະເຕືອນບ່ອນທີ່ບັນຫາມີຢູ່. ເບິ່ງພາກກ່ຽວກັບ
ແມງໄມ້ສໍາລັບຕົວຢ່າງ. ຖ້າຕົວແປທຽບເທົ່າ, ກົດລະບຽບທີ່ໃຊ້ໂດຍ ftnchek
ແມ່ນວ່າການອ້າງອີງເຖິງຕົວແປໃດໜຶ່ງໝາຍເຖິງການອ້າງອີງດຽວກັນກັບທັງໝົດ
ຕົວແປທີ່ມັນທຽບເທົ່າກັບ. ສໍາລັບ arrays, ກົດລະບຽບແມ່ນການອ້າງອີງເຖິງ
ອົງປະກອບ array ໃດຖືກປະຕິບັດເປັນການອ້າງອີງເຖິງອົງປະກອບທັງຫມົດຂອງ array.

var-ບໍ່ໄດ້ໃຊ້:
ຕົວແປທ້ອງຖິ່ນຖືກປະກາດ (ຕົວຢ່າງ, ໃນການປະກາດປະເພດ) ແຕ່ບໍ່ແມ່ນ
ໃຊ້ໃນໂມດູນ. ບໍ່ໃຊ້ກັບການໂຕ້ຖຽງ dummy: ຄໍາເຕືອນກ່ຽວກັບພວກມັນ
ຖືກຄວບຄຸມໂດຍຄໍາສໍາຄັນ arg-ບໍ່ໄດ້ໃຊ້ ອະທິບາຍຂ້າງເທິງ.

ຫມາຍ​ເຫດ​: ໃນ​ສະ​ບັບ​ຂອງ​ ftnchek ກ່ອນ 2.10, ໄດ້ - ການ​ນໍາ​ໃຊ້​ ທຸງເອົາການໂຕ້ຖຽງຕົວເລກ
ແທນທີ່ຈະເປັນບັນຊີລາຍຊື່ຂອງທາງເລືອກ. ສໍາລັບ sake ຂອງຜູ້ໃຊ້ທີ່ອາດຈະຂຽນ scripts
ການຮຽກຮ້ອງ ftnchek ດ້ວຍວິທີນີ້, ຮູບແບບຕົວເລກຍັງຖືກຍອມຮັບ. ຕົວເລກ
ການຕັ້ງຄ່າແມ່ນປະກອບດ້ວຍສາມຕົວເລກ. ຕົວເລກທໍາອິດ (ຫຼາຍຮ້ອຍສະຖານທີ່) ຄວບຄຸມ
ການ​ເຕືອນ​ໄພ​ກ່ຽວ​ກັບ​ໂຄງ​ການ​ຍ່ອຍ (ຫນ້າ​ທີ່​ແລະ subroutines​)​, ຕົວ​ເລກ​ທີ​ສອງ (ສິບ​
ສະຖານທີ່) ເຕືອນກ່ຽວກັບຕັນທົ່ວໄປແລະຕົວແປທົ່ວໄປ, ແລະຕົວເລກທີສາມ
(ບ່ອນດຽວ) ເຕືອນກ່ຽວກັບຕົວແປທ້ອງຖິ່ນ. ແຕ່ລະຕົວເລກຄວບຄຸມການເຕືອນ
ອີງຕາມສົນທິສັນຍາວ່າ a 1 ຫມາຍຄວາມວ່າເຕືອນກ່ຽວກັບລາຍການແລະຕົວແປທີ່ບໍ່ໄດ້ກໍານົດ
ທີ່ຖືກນໍາໃຊ້ກ່ອນກໍານົດ, a 2 ຫມາຍຄວາມວ່າເຕືອນກ່ຽວກັບລາຍການທີ່ບໍ່ໄດ້ໃຊ້, ແລະ 3 ຫມາຍຄວາມວ່າ
ເຕືອນ​ກ່ຽວ​ກັບ​ທັງ​ສອງ​ປະ​ເພດ​. ໃນປັດຈຸບັນຕົວເລກເຫຼົ່ານີ້ຖືກປ່ຽນເປັນຄ່າທີ່ເຫມາະສົມ
ສໍາລັບຄໍາທີ່ລະບຸໄວ້ຂ້າງເທິງ, ຍົກເວັ້ນ com-block-volatile, ເຊິ່ງບໍ່ໄດ້ຮັບຜົນກະທົບ
ໂດຍການໂຕ້ຖຽງຕົວເລກ.

ເບິ່ງເພີ່ມເຕີມ: - ທົ່ວໄປ, - ປະ​ກາດ​, - ພາຍນອກ, - ຫ້ອງ​ສະ​ຫມຸດ​.

-vcg
ຜະລິດກາຟການໂທໃນຮູບແບບຂອງຄໍາອະທິບາຍກາຟ VCG. ຄໍາອະທິບາຍນີ້ແມ່ນ
ຂຽນໃສ່ໄຟລ໌ແຍກຕ່າງຫາກ, ມີລໍາຕົ້ນດຽວກັນກັບໄຟລ໌ທີ່ມີຕົ້ນຕໍ
ໂຄງ​ການ​, ແລະ​ຄໍາ​ຕໍ່​ທ້າຍ​ .vcg. ໄຟລ໌ນີ້ສາມາດຖືກມອບໃຫ້ໂດຍກົງ xvcg(1L) ເຖິງ
ເຫັນພາບເສັ້ນສະແດງການໂທ. (ຖ້າ input ມາຈາກມາດຕະຖານ input, ຫຼັງຈາກນັ້ນກາຟ
ລາຍ​ລະ​ອຽດ​ຖືກ​ສົ່ງ​ໄປ​ຫາ​ຜົນ​ຜະ​ລິດ​ມາດ​ຕະ​ຖານ​.) ສະ​ຫຼັບ​ນີ້​ແມ່ນ​ທຽບ​ເທົ່າ​ກັບ​
-calltree=vcg. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ຄໍາອະທິບາຍ VCG ທີ່ຖືກສ້າງຂື້ນແມ່ນສັບສົນຫຼາຍກ່ວາມັນຕ້ອງການ. VCG ອະນຸຍາດໃຫ້ມີກາຟ
ແລະ subgraphs nested: ແຕ່ລະ subroutine ຖືກສ້າງເປັນ subgraph nested ພາຍໃນຂອງມັນ
ປົກກະຕິການໂທ. ນີ້ອະນຸຍາດໃຫ້ທ່ານສາມາດໂຕ້ຕອບສະແດງຍ່ອຍຍ່ອຍຫຼືສະຫຼຸບ
ໃຫ້ເຂົາເຈົ້າ.

ໄດ້ -vcg ທາງເລືອກສໍາລັບການ ftnchek ຂຽນໂດຍທ່ານດຣ Philip Rubini ຂອງ Cranfield
ມະຫາວິທະຍາໄລ, ອັງກິດ.

xvcg ແມ່ນເຄື່ອງມືການເບິ່ງເຫັນກາຟທີ່ເຮັດວຽກພາຍໃຕ້ລະບົບ X windows. ມັນ​ແມ່ນ
ມີໃຫ້ຟຣີຈາກ ftp.cs.uni-sb.de. ມັນໄດ້ຖືກລາຍລັກອັກສອນໂດຍ G. Sander ຂອງ
ມະຫາວິທະຍາໄລ Saarland, ເຢຍລະມັນ.

ເບິ່ງເພີ່ມເຕີມ: - calltree, - ອ້າງອີງ, - ອ້າງ​ອີງ​, - ຄັດ.

-ການປ່ຽນແປງ
ທາງເລືອກນີ້ເຮັດໃຫ້ເກີດ ftnchek ເພື່ອພິມເສັ້ນໃຫ້ຕົວເລກສະບັບ, ວັນທີປ່ອຍ,
ແລະລະດັບ patch ຂອງໂຄງການ. ຖ້າບໍ່ມີໄຟລ໌ຖືກໃຫ້, ມັນຈະອອກ. ຖ້າໄຟລ໌
ໄດ້ຖືກມອບໃຫ້, ຜົນກະທົບຂອງທາງເລືອກນີ້ແມ່ນເພື່ອປະກອບມີລະດັບ patch (ປົກກະຕິ
omitted) ໃນຂໍ້ມູນສະບັບພິມອອກໃນຕອນເລີ່ມຕົ້ນຂອງການປະມວນຜົນ. ຄ່າເລີ່ມຕົ້ນ =
ບໍ່ມີ.

ເບິ່ງເພີ່ມເຕີມ: -ຊ່ວຍ.

- ການລະເຫີຍ
ສົມມຸດວ່າ COMMON blocks ມີຄວາມຜັນຜວນ. ຄ່າເລີ່ມຕົ້ນ = ບໍ່ມີ.

ທຸງນີ້ຖືກແທນທີ່ໂດຍ -common=volatile, ແລະບໍ່ຄວນໃຊ້ອີກຕໍ່ໄປ. ມັນອາດຈະ
ຈະຖືກລົບລ້າງໃນການປ່ອຍຕົວໃນອະນາຄົດ ftnchek.

ເບິ່ງເພີ່ມເຕີມ: - ທົ່ວໄປ, - ການ​ນໍາ​ໃຊ້​.

-wordsize=num
ກໍານົດຂະຫນາດຄໍາເລີ່ມຕົ້ນທີ່ຈະເປັນ num ໄບຕ໌. ນີ້ແມ່ນຂະຫນາດຂອງເຫດຜົນແລະ
ຕົວແປຕົວເລກທີ່ມີຄວາມຊັດເຈນດຽວທີ່ບໍ່ໄດ້ຮັບຄວາມຊັດເຈນຢ່າງຊັດເຈນ.
(ຄວາມຊັດເຈນທີ່ຊັດເຈນສໍາລັບຕົວແປທີ່ບໍ່ແມ່ນຕົວອັກສອນແມ່ນການຂະຫຍາຍໄປສູ່ Fortran 77
ມາດຕະຖານ, ແລະຖືກມອບໃຫ້ໂດຍການປະກາດປະເພດເຊັ່ນ: REAL*8 X.) ຄວາມຊັດເຈນສອງເທົ່າ
ແລະຕົວແປສະລັບສັບຊ້ອນຈະເປັນສອງເທົ່າຂອງຄ່ານີ້, ແລະຕົວແປສະລັບສັບຊ້ອນສອງເທົ່າສີ່
ເທື່ອ. ຄົງທີ່ຄວາມແມ່ນຍຳຂອງສີ່ຫຼ່ຽມ ແລະຜົນການທຳໜ້າທີ່ພາຍໃນຈະເປັນສີ່ເທົ່າ
ຄ່ານີ້. ໃຫ້ສັງເກດວ່າຕົວແປທີ່ປະກາດເປັນ REAL*16 ຈະຖືກຖືວ່າເປັນ quad
ຄວາມຊັດເຈນພຽງແຕ່ຖ້າຂະຫນາດຄໍາແມ່ນ 4 bytes. ຄ່າເລີ່ມຕົ້ນ = ເປີດ = 4 bytes.

ມູນຄ່າຂະຫນາດຂອງຄໍາບໍ່ສໍາຄັນສໍາລັບການກວດສອບບັນດາໂຄງການທີ່ສອດຄ່ອງກັບມາດຕະຖານນັ້ນ
ຢ່າປະກາດຄວາມຊັດເຈນຢ່າງຊັດເຈນສໍາລັບຕົວແປທີ່ບໍ່ແມ່ນຕົວອັກສອນຫຼືເກັບຮັກສາ Hollerith
ຂໍ້ມູນໃນຕົວແປ. ການຕັ້ງຄ່ານີ້ຍັງບໍ່ມີຜົນຕໍ່ຂະຫນາດຕົວອັກສອນເລີ່ມຕົ້ນ
ຕົວແປ, ເຊິ່ງເປັນ 1 byte ສະເໝີ. ຄົງທີ່ Hollerith ຍັງຖືກສົມມຸດວ່າຄອບຄອງ
1 byte ຕໍ່ຕົວອັກສອນ.

ຂະຫນາດຄໍາທີ່ໃຊ້ໃນການກໍານົດວ່າການຕັດແມ່ນເກີດຂື້ນໃນການມອບຫມາຍ
ຖະແຫຼງການ, ແລະຈັບຄວາມຊັດເຈນບໍ່ກົງກັນໃນລາຍການໂຕ້ແຍ້ງໂຄງການຍ່ອຍ ແລະ
ລາຍຊື່ບລັອກທົ່ວໄປ. ການເຕືອນໄພທີ່ແນ່ນອນທີ່ອອກມາຈະຂຶ້ນກັບສະຖານະພາບ
ຂອງທຸງອື່ນໆ. ພາຍໃຕ້ທັງສອງ -portability=mixed-size ແລະ -nowordsize ທຸງ,
ການປະສົມໃດໆຂອງຄວາມຊັດເຈນກັບວັດຖຸຄວາມແມ່ນຍໍາໃນຕອນຕົ້ນ (ການສະແດງອອກຂອງຕົວອັກສອນບໍ່ແມ່ນ
ລວມ) ຖືກເຕືອນກ່ຽວກັບ. ນີ້ໃຊ້ກັບການສະແດງອອກເລກເລກທີ່ປະກອບດ້ວຍທັງສອງ
ປະເພດຂອງວັດຖຸ, ແລະການໂຕ້ຖຽງໂຄງການຍ່ອຍແລະຕົວແປທົ່ວໄປ. ພາຍ​ໃຕ້​ການ​ຄວບ​ຄຸມ
ຂອງ -truncation=ການເລື່ອນ ແລະ ການສົ່ງເສີມການ ທາງ​ເລືອກ​, ການ​ເຕືອນ​ໄພ​ແມ່ນ​ໄດ້​ຮັບ​ສໍາ​ລັບ​ການ​
ການມອບໝາຍການສະແດງອອກໃຫ້ກັບຕົວແປທີ່ສັ້ນກວ່າຂອງປະເພດດຽວກັນ, ຫຼືສໍາລັບ
ການສົ່ງເສີມຄ່າຄວາມແມ່ນຍໍາຕ່ໍາໄປສູ່ຄວາມແມ່ນຍໍາສູງກວ່າໃນເລກເລກ
ການສະແດງອອກຫຼືຄໍາຖະແຫຼງການມອບຫມາຍ.

ໃຫ້ຂະຫນາດຄໍາຂອງ 0, ຫຼືທຽບເທົ່າ, ການນໍາໃຊ້ -nowordsize ຫມາຍຄວາມວ່າບໍ່ມີຄ່າເລີ່ມຕົ້ນ
ຄ່າຈະຖືກສົມມຸດ. ນີ້ແມ່ນເທົ່າກັບການລະບຸ -portability=mixed-size.
ໃຊ້ມັນເພື່ອຊອກຫາກໍລະນີຂອງການປະສົມຄ່າເລີ່ມຕົ້ນແລະຄວາມແມ່ນຍໍາຊັດເຈນ, ຕົວຢ່າງເພື່ອທຸງ
ສະຖານທີ່ທີ່ REAL*8 ຖືກປະຕິບັດເທົ່າກັບ DOUBLE PRECISION.

ເບິ່ງເພີ່ມເຕີມ: - ຊີ້, - ພົກພາ, - ຕັດ.

-wrap=col
ຄວບຄຸມການຫໍ່ຂໍ້ຄວາມຄວາມຜິດພາດ. ຂໍ້​ຄວາມ​ຜິດ​ພາດ​ຍາວ​ທີ່​ຈະ​ແລ່ນ​ຜ່ານ​ມາ​
ຖັນທີ່ລະບຸໄວ້ຈະຖືກແຍກອອກເປັນແຖວແຍກຕ່າງຫາກລະຫວ່າງຄໍາສັບຂອງ
ຂໍ້​ຄວາມ​ສໍາ​ລັບ​ການ​ອ່ານ​ໄດ້​ດີກ​ວ່າ​. ຖ້າປິດດ້ວຍ -nowrap, ແຕ່ລະຂໍ້ຜິດພາດແຍກຕ່າງຫາກ
ຂໍ້​ຄວາມ​ຈະ​ໄດ້​ຮັບ​ການ​ພິມ​ອອກ​ໃນ​ຫນຶ່ງ​ແຖວ​, ເຮັດ​ໃຫ້​ມັນ​ຂຶ້ນ​ກັບ​ການ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ເພື່ອ​ຫໍ່​
ຂໍ້ຄວາມຫຼືຕັດມັນ. ຄ່າເລີ່ມຕົ້ນ = ເປີດ = 79.

ການປ່ຽນແປງ ການ ຄ່າເລີ່ມຕົ້ນ


ftnchek ປະກອບມີສອງກົນໄກສໍາລັບການປ່ຽນຄ່າເລີ່ມຕົ້ນຂອງທາງເລືອກທັງຫມົດ: ໂດຍ
ການກໍານົດຕົວແປສະພາບແວດລ້ອມຫຼືໂດຍການສ້າງໄຟລ໌ການຕັ້ງຄ່າ. ເມື່ອ​ໃດ​ ftnchek ເລີ່ມ​ຕົ້ນ​ຂຶ້ນ​,
ມັນເບິ່ງຢູ່ໃນສະພາບແວດລ້ອມຂອງມັນສໍາລັບຕົວແປທີ່ຊື່ແມ່ນປະກອບດ້ວຍການນໍາຫນ້າ
string FTNCHEK_ ໃສ່ຕົວພິມໃຫຍ່ຂອງຊື່ທາງເລືອກ. ຖ້າຕົວແປດັ່ງກ່າວເປັນ
ພົບເຫັນ, ມູນຄ່າຂອງມັນຖືກນໍາໃຊ້ເພື່ອກໍານົດຄ່າເລີ່ມຕົ້ນສໍາລັບການສະຫຼັບຫຼືການຕັ້ງຄ່າທີ່ສອດຄ້ອງກັນ.
ໃນກໍລະນີຂອງການຕັ້ງຄ່າ (ຕົວຢ່າງ, the - ທົ່ວໄປ ການກໍານົດຄວາມເຂັ້ມງວດ) ມູນຄ່າຂອງ
ຕົວແປສະພາບແວດລ້ອມຖືກອ່ານເປັນຄ່າເລີ່ມຕົ້ນ. ໃນກໍລະນີຂອງສະຫຼັບ, ໄດ້
ສະວິດເລີ່ມຕົ້ນຈະຖືກປະຕິບັດເປັນ true ຫຼືແມ່ນ ເວັ້ນເສຍແຕ່ວ່າຕົວແປສະພາບແວດລ້ອມມີຄ່າ
0 ຫຼື NO.

ກະລຸນາຮັບຊາບວ່າຊື່ຕົວແປຂອງສະພາບແວດລ້ອມຈະຕ້ອງຖືກສ້າງດ້ວຍຕົວເລືອກທີ່ມີຄວາມຍາວເຕັມ
ຊື່, ເຊິ່ງຕ້ອງເປັນຕົວພິມໃຫຍ່. ສໍາລັບຕົວຢ່າງ, ເພື່ອເຮັດໃຫ້ ftnchek ພິມລາຍການແຫຼ່ງທີ່ມາໂດຍ
ຄ່າເລີ່ມຕົ້ນ, ຕັ້ງຕົວແປສະພາບແວດລ້ອມ FTNCHEK_LIST ເປັນ 1 ຫຼືແມ່ນ ຫຼືອັນອື່ນທີ່ບໍ່ແມ່ນ 0 ຫຼື
ບໍ່. ຊື່ FTNCHEK_LIS (ບໍ່ແມ່ນຊື່ທາງເລືອກເຕັມ) ຫຼື ftnchek_list (ຕົວພິມນ້ອຍ) ຈະ
ບໍ່ຖືກຮັບຮູ້.

ນີ້ແມ່ນບາງຕົວຢ່າງຂອງວິທີການກໍານົດຕົວແປສະພາບແວດລ້ອມໃນລະບົບຕ່າງໆ. ສໍາລັບ
ຄວາມງ່າຍດາຍ, ຕົວຢ່າງທັງຫມົດກໍານົດຄ່າເລີ່ມຕົ້ນ -list ສະຫຼັບໄປ YES.

1. UNIX, Bourne shell: $FTNCHEK_LIST=YES
$ ສົ່ງອອກ FTNCHEK_LIST

2. UNIX, C shell: % setenv FTNCHEK_LIST ແມ່ນ

3. VAX/VMS: $ DEFINE FTNCHEK_LIST ແມ່ນແລ້ວ

4. MSDOS: $SET FTNCHEK_LIST=YES

ຫຼັງຈາກປະມວນຜົນຕົວແປສະພາບແວດລ້ອມໃດນຶ່ງ, ftnchek ຊອກຫາໄຟລ໌ການຕັ້ງຄ່າ
ປະກອບມີທາງເລືອກແລະການຕັ້ງຄ່າ. ມັນ​ຈະ​ຄົ້ນ​ຫາ​ໃນ​ຄໍາ​ສັ່ງ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​, ການ​ນໍາ​ໃຊ້​ພຽງ​ແຕ່​ໄດ້​
ໄຟລ໌ທໍາອິດທີ່ພົບເຫັນ: (1) .ftnchekrc ໃນ​ລະ​ບົບ​ປະ​ຈຸ​ບັນ​, (2​) ftnchek.ini ໃນປະຈຸບັນ
ບັນຊີລາຍການ, (3) .ftnchekrc ໃນ​ບັນ​ຊີ​ລາຍ​ຊື່​ຂອງ​ຜູ້​ໃຊ້​, (4​) ftnchek.ini ໃນເຮືອນ
ໄດເລກະທໍລີ. ຖ້າໄຟລ໌ດັ່ງກ່າວຖືກພົບເຫັນ, ທາງເລືອກທີ່ກໍານົດຢູ່ໃນມັນຖືກນໍາໃຊ້ເປັນຄ່າເລີ່ມຕົ້ນໃນ
ສະ​ຖານ​ທີ່​ຂອງ​ການ​ຕັ້ງ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​ໃນ​ຕົວ​ແລະ overriding defaults ໃດ​ທີ່​ກໍາ​ນົດ​ໄວ້​ໃນ​ສະ​ພາບ​ແວດ​ລ້ອມ..

ແຕ່ລະຕົວເລືອກ ຫຼືການຕັ້ງຄ່າໃນໄຟລ໌ການຕັ້ງຄ່າຈະຕ້ອງຢູ່ໃນແຖວແຍກຕ່າງຫາກ. ເຂົາເຈົ້າໄດ້ຖືກມອບໃຫ້
ໃນຮູບແບບດຽວກັນກັບເສັ້ນຄໍາສັ່ງ, ຍົກເວັ້ນບໍ່ມີ dash ເບື້ອງຕົ້ນ. ຄວາມມັກ
ໄຟລ໌ສາມາດມີແຖວຫວ່າງເປົ່າ ແລະຄຳເຫັນ. ຄຳເຫັນຖືກແນະນຳຢູ່ຈຸດໃດນຶ່ງໃນແຖວ
ໂດຍຕົວອັກສອນຊ່ອງ (ຫວ່າງເປົ່າຫຼືແຖບ) ຫຼືຕົວອັກສອນ '#', ແລະຖືກຢຸດໂດຍທ້າຍຂອງ
ເສັ້ນ.

ຕົວເລືອກແຖວຄໍາສັ່ງ override ຄ່າເລີ່ມຕົ້ນທີ່ກໍານົດໄວ້ໃນສະພາບແວດລ້ອມຫຼືໃນການຕັ້ງຄ່າ
ໄຟລ໌, ໃນທາງດຽວກັນກັບພວກມັນ override ຄ່າເລີ່ມຕົ້ນໃນຕົວ.

ການ ນຳ ໃຊ້ ໂຄງການ ເອກະສານ


ພາກນີ້ປະກອບດ້ວຍຂໍ້ມູນລະອຽດກ່ຽວກັບວິທີການນໍາໃຊ້ໄຟລ໌ໂຄງການປະສິດທິຜົນທີ່ສຸດ,
ແລະວິທີການເພື່ອຫຼີກເວັ້ນການ pitfalls ບາງ.

ຫນຶ່ງສາມາດແບ່ງການກວດສອບ ftnchek ມັນອອກເປັນສອງປະເພດ, ທ້ອງຖິ່ນແລະທົ່ວໂລກ. ທ້ອງຖິ່ນ
ການກວດສອບຖືກຈໍາກັດຢູ່ໃນປົກກະຕິດຽວ, ແລະຈັບສິ່ງຕ່າງໆເຊັ່ນວ່າບໍ່ໄດ້ກໍານົດໄວ້
ຕົວແປ, ການສູນເສຍທີ່ບໍ່ໄດ້ຕັ້ງໃຈໃນການສະແດງອອກທາງເລກເລກ, ແລະອື່ນໆ
ການກວດສອບສາມາດເຮັດໄດ້ໃນແຕ່ລະໂຄງການຍ່ອຍເປັນເອກະລາດ. ນອກຈາກນັ້ນ, ທ້ອງຖິ່ນກວດກາ a
subprogram ບໍ່ຈໍາເປັນຕ້ອງເຮັດຊ້ໍາໃນເວລາທີ່ບາງໂຄງການຍ່ອຍອື່ນໆມີການປ່ຽນແປງ. ທົ່ວໂລກ
ການກວດສອບ catches ສິ່ງຕ່າງໆເຊັ່ນການໂທຫາ subroutine ທີ່ມີປະເພດການໂຕ້ຖຽງທີ່ບໍ່ຖືກຕ້ອງ, ຫຼື
ບໍ່ເຫັນດີກັບການປະກາດບລັອກທົ່ວໄປ. ມັນຮຽກຮ້ອງໃຫ້ມີການເບິ່ງຊຸດທັງຫມົດຂອງ
ໂຄງການຍ່ອຍທີ່ພົວພັນກັບກັນແລະກັນ.

ຈຸດປະສົງຂອງໄຟລ໌ໂຄງການແມ່ນເພື່ອອະນຸຍາດໃຫ້ການກວດສອບທ້ອງຖິ່ນແລະຂັ້ນຕອນການກວດສອບທົ່ວໂລກເພື່ອ
ຖືກແຍກອອກ. ສົມມຸດວ່າແຕ່ລະໂຄງການຍ່ອຍຢູ່ໃນໄຟລ໌ແຫຼ່ງຂອງຕົນເອງ, ທ່ານສາມາດດໍາເນີນການໄດ້
ftnchek ແຕ່ລະຄັ້ງເພື່ອເຮັດການກວດສອບທ້ອງຖິ່ນໃນຂະນະທີ່ສະກັດກັ້ນການກວດສອບທົ່ວໂລກ. ຈາກນັ້ນ
ftnchek ສາມາດດໍາເນີນການຫນຶ່ງຄັ້ງໃນໄຟລ໌ໂຄງການທັງຫມົດຮ່ວມກັນເພື່ອເຮັດການກວດສອບທົ່ວໂລກ. ໄດ້
makefile ຕົວຢ່າງຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນວິທີການອັດຕະໂນມັດວຽກງານນີ້. ເປົ້າໝາຍ ``.f.prj'' ປັບປຸງ a
ໄຟລ໌ໂຄງການສໍາລັບໄຟລ໌ສະເພາະໃດຫນຶ່ງໃນເວລາທີ່ໄຟລ໌ຕົ້ນສະບັບມີການປ່ຽນແປງ. ຂໍ້​ມູນ​ຂ່າວ​ສານ
ທີ່ຈໍາເປັນສໍາລັບການກວດສອບທົ່ວໂລກຖືກບັນທຶກໄວ້ໃນໄຟລ໌ໂຄງການ. ເປົ້າໝາຍ "ກວດສອບ" ເຮັດໄດ້
ການ​ກວດ​ສອບ​ທົ່ວ​ໂລກ​ລວມ​. ໂດຍປົກກະຕິແລ້ວ '`ເຮັດການກວດສອບ' ຈະເຮັດເລື້ມຄືນ '`ftnchek -project'
ຂັ້ນຕອນພຽງແຕ່ກ່ຽວກັບໄຟລ໌ແຫຼ່ງທີ່ມີການປ່ຽນແປງ, ຫຼັງຈາກນັ້ນເຮັດການກວດສອບທົ່ວໂລກ. ແນ່ນອນວ່ານີ້ແມ່ນໃຫຍ່
ປະໂຫຍດສໍາລັບໂຄງການຂະຫນາດໃຫຍ່, ໃນເວລາທີ່ຫຼາຍໂຄງການຍ່ອຍບໍ່ຄ່ອຍຈະມີການປ່ຽນແປງ.

ມັນດີທີ່ສຸດເມື່ອໃຊ້ໄຟລ໌ໂຄງການເພື່ອວາງແຕ່ລະໂຄງການຍ່ອຍຢູ່ໃນໄຟລ໌ແຫຼ່ງແຍກຕ່າງຫາກ.
ຖ້າແຕ່ລະໄຟລ໌ແຫຼ່ງອາດຈະມີຫຼາຍກວ່າຫນຶ່ງໂຄງການຍ່ອຍ, ມັນເຮັດໃຫ້ຄໍານິຍາມສັບສົນ
ຂອງການກວດສອບ ``ທ້ອງຖິ່ນ'' ແລະ ``ທົ່ວໂລກ'' ເພາະວ່າມີການກວດສອບລະຫວ່າງໂມດູນບາງອັນ
ບັນຈຸຢູ່ໃນໄຟລ໌. ftnchek ພະຍາຍາມເຮັດສິ່ງທີ່ຖືກຕ້ອງໃນກໍລະນີນີ້, ແຕ່ວ່າມີ
ອາການແຊກຊ້ອນບາງຢ່າງ (ອະທິບາຍຂ້າງລຸ່ມນີ້) ເນື່ອງຈາກການຄ້າຂາຍລະຫວ່າງການຫຼີກລ່ຽງການເຮັດຊ້ໍາຄືນ.
ກວດກາ ແລະຮັກສາຂໍ້ມູນກ່ຽວກັບໂຄງສ້າງຂອງໂປຣແກຣມ.

ໂດຍປົກກະຕິ, ເພື່ອເຮັດການກວດສອບຄືນໃຫມ່ຫນ້ອຍທີ່ສຸດ, ໄຟລ໌ໂຄງການຄວນຈະຖືກສ້າງຂື້ນດ້ວຍ
ໄດ້ - ຫ້ອງ​ສະ​ຫມຸດ​ ທຸງມີຜົນບັງຄັບໃຊ້ ແລະການຕັດເປີດ. ໃນຮູບແບບນີ້, ຂໍ້ມູນທີ່ບັນທຶກໄວ້
ໃນໄຟລ໌ໂຄງການປະກອບດ້ວຍການປະກາດໂຄງການຍ່ອຍທັງໝົດ, ການຮ້ອງທຸກໂຄງການຍ່ອຍ
ບໍ່ໄດ້ຮັບການແກ້ໄຂໂດຍການປະກາດໃນໄຟລ໌ດຽວກັນ, ແລະຫນຶ່ງຕົວຢ່າງຂອງແຕ່ລະ COMMON block
ຖະແຫຼງການ. ນີ້ແມ່ນຈໍານວນຂໍ້ມູນຕໍາ່ສຸດທີ່ຕ້ອງການກວດສອບຂໍ້ຕົກລົງລະຫວ່າງ
ໄຟລ໌.

ຖ້າໄຟລ໌ແຫຼ່ງມີຫຼາຍກວ່າຫນຶ່ງປົກກະຕິ, ມີບັນຫາບາງຢ່າງທີ່ເປັນໄປໄດ້
ສາ​ມາດ​ເກີດ​ຂຶ້ນ​ຈາກ​ການ​ສ້າງ​ໄຟລ​໌​ໂຄງ​ການ​ໃນ​ຮູບ​ແບບ​ຫ້ອງ​ສະ​ຫມຸດ​, ເນື່ອງ​ຈາກ​ວ່າ​ລໍາ​ດັບ​ການ​ໂທ​
ໃນ​ບັນ​ດາ​ກິດ​ຈະ​ກໍາ​ທີ່​ກໍາ​ນົດ​ໄວ້​ພາຍ​ໃນ​ໄຟລ​໌​ແມ່ນ​ສູນ​ເສຍ​ໄປ​. ນອກຈາກນີ້, ຖ້າຫາກວ່າປົກກະຕິໃນໄຟລ໌ເຮັດໃຫ້
ການນໍາໃຊ້ຕັນ COMMON ທີ່ແບ່ງປັນກັບປົກກະຕິໃນໄຟລ໌ອື່ນໆ, ຈະບໍ່ມີ
ຂໍ້​ມູນ​ພຽງ​ພໍ​ທີ່​ບັນ​ທຶກ​ໄວ້​ສໍາ​ລັບ​ການ​ກວດ​ສອບ​ທີ່​ຖືກ​ຕ້ອງ​ຂອງ​ການ​ຕັ້ງ​ແລະ​ສະ​ຖາ​ນະ​ການ​ນໍາ​ໃຊ້​ຂອງ COMMON blocks​
ແລະຕົວແປທົ່ວໄປອີງຕາມການ - ການ​ນໍາ​ໃຊ້​ ການຕັ້ງຄ່າ. ເພາະສະນັ້ນຖ້າຫາກວ່າທ່ານວາງແຜນທີ່ຈະນໍາໃຊ້
ໄຟລ໌ໂຄງການເມື່ອ - ການ​ນໍາ​ໃຊ້​ ການກວດສອບແມ່ນເປີດ (ເຊິ່ງເປັນສະຖານະການເລີ່ມຕົ້ນ), ແລະຖ້າ
ຫຼາຍສິ່ງທີ່ເຮັດປະຈຳໃນໄຟລ໌ໂຄງການດຽວແບ່ງປັນ COMMON blocks ກັບ routines ໃນໄຟລ໌ອື່ນໆ,
ໄຟລ໌ໂຄງການຄວນຈະຖືກສ້າງຂື້ນດ້ວຍ - ຫ້ອງ​ສະ​ຫມຸດ​ ປິດທຸງແລ້ວ. ໃນ​ຮູບ​ແບບ​ນີ້​,
ftnchek ບັນທຶກ, ນອກຈາກຂໍ້ມູນທີ່ລະບຸໄວ້ຂ້າງເທິງ, ຫນຶ່ງ invocation ຂອງແຕ່ລະໂຄງການຍ່ອຍໂດຍ
ໂຄງການຍ່ອຍອື່ນໆໃນໄຟລ໌ດຽວກັນ, ແລະການປະກາດບລັອກ COMMON ທັງໝົດ. ນີ້ຫມາຍຄວາມວ່າ
ໄຟລ໌ໂຄງການຈະໃຫຍ່ກວ່າຄວາມຈໍາເປັນ, ແລະເມື່ອມັນຖືກອ່ານຢູ່ໃນ, ftnchek ອາດຈະ
ກວດຄືນບາງໂມດູນລະຫວ່າງກັນວ່າມັນໄດ້ເຮັດແລ້ວເມື່ອໄຟລ໌ໂຄງການຖືກສ້າງຂຶ້ນ. ຖ້າ
ແຕ່ລະໄຟລ໌ໂຄງການປະກອບມີພຽງແຕ່ຫນຶ່ງໂມດູນ, ບໍ່ມີການສູນເສຍຂໍ້ມູນໃນການສ້າງ
ໄຟລ໌ໂຄງການໃນຮູບແບບຫ້ອງສະຫມຸດ.

ເນື່ອງ​ຈາກ​ວ່າ​ການ​ສູນ​ເສຍ​ທີ່​ເປັນ​ໄປ​ໄດ້​ຂອງ​ຂໍ້​ມູນ​ຂ່າວ​ສານ entailed ໂດຍ​ການ​ສ້າງ​ໄຟລ​໌​ໂຄງ​ການ​ທີ່​ມີ​
- ຫ້ອງ​ສະ​ຫມຸດ​ ທຸງທີ່ມີຜົນບັງຄັບໃຊ້, ທຸກຄັ້ງທີ່ໄຟລ໌ໂຄງການນັ້ນຖືກອ່ານໃນພາຍຫຼັງ, ມັນຈະຖືກປະຕິບັດ
ເປັນໄຟລ໌ຫ້ອງສະຫມຸດໂດຍບໍ່ຄໍານຶງເຖິງການຕັ້ງຄ່າປະຈຸບັນຂອງ - ຫ້ອງ​ສະ​ຫມຸດ​ ທຸງ. ອີກດ້ານນຶ່ງ
ດ້ວຍມື, ໄຟລ໌ໂຄງການທີ່ສ້າງຂຶ້ນດ້ວຍໂໝດຫ້ອງສະໝຸດປິດສາມາດອ່ານໄດ້ໃນພາຍຫຼັງ
mode

ການສົນທະນາຂ້າງເທິງນີ້ສົມມຸດວ່າທາງເລືອກ trimming ຂອງ ໂຄງການ ການຕັ້ງຄ່າແມ່ນ
ເປີດເມື່ອໄຟລ໌ໂຄງການຖືກສ້າງ. ນີ້ແມ່ນສະຖານະການປົກກະຕິ. ໄດ້ ບໍ່ມີການຕັດ
ທາງ​ເລືອກ​ຂອງ​ ໂຄງການ ການ​ຕັ້ງ​ຄ່າ​ແມ່ນ​ໄດ້​ສະ​ຫນອງ​ໃຫ້​ໃນ​ກໍ​ລະ​ນີ​ທີ່​ຫນຶ່ງ​ຕ້ອງ​ການ​ນໍາ​ໃຊ້​ໄຟລ​໌​ໂຄງ​ການ​
ສໍາລັບຈຸດປະສົງອື່ນນອກເຫນືອຈາກການກວດສອບໂຄງການທີ່ມີ ftnchek. ຍົກຕົວຢ່າງ, ຄົນ ໜຶ່ງ ສາມາດຂຽນ
script Perl ເພື່ອວິເຄາະໄຟລ໌ໂຄງການສໍາລັບຂໍ້ມູນກ່ຽວກັບວິທີທີ່ແຕກຕ່າງກັນ
ໂຄງການຍ່ອຍແມ່ນເອີ້ນວ່າ. ທ່ານບໍ່ຄວນໃຊ້ ບໍ່ມີການຕັດ ທາງເລືອກໃນການຈັດການກັບບັນຫາຂອງ
ການສູນເສຍຂໍ້ມູນຂ່າວສານທີ່ໄດ້ສົນທະນາຂ້າງເທິງ, ເນື່ອງຈາກວ່າພວກເຂົາເຈົ້າເຮັດໃຫ້ຂໍ້ມູນຂ່າວສານຫຼາຍກ່ວາຄວາມຈໍາເປັນທີ່ຈະເປັນ
ເກັບຮັກສາໄວ້. ນີ້ເຮັດໃຫ້ໄຟລ໌ໂຄງການຂະຫນາດໃຫຍ່ແລະສາເຫດ ftnchek ເຮັດວຽກເພີ່ມເຕີມໃນເວລາຕໍ່ມາ
ມັນອ່ານພວກມັນເພື່ອກວດເບິ່ງໂຄງການທີ່ສົມບູນຂອງທ່ານ. ປົກກະຕິແລ້ວ, ທ່ານຄວນໃຊ້ - ຫ້ອງ​ສະ​ຫມຸດ​
ທາງ​ເລືອກ​ທີ່​ຈະ​ຄວບ​ຄຸມ​ຫຼາຍ​ປານ​ໃດ​ຂໍ້​ມູນ​ທີ່​ຈະ​ເກັບ​ຮັກ​ສາ​ໄວ້​ສໍາ​ລັບ​ການ​ນໍາ​ໃຊ້​ພາຍ​ຫຼັງ​ໂດຍ​ ftnchek ໃນ​ການ​ກວດ​ສອບ​ຂອງ​ທ່ານ​
ໂຄງການ.

ນີ້ແມ່ນຕົວຢ່າງຂອງວິທີການນໍາໃຊ້ UNIX ເຮັດໃຫ້ ປະໂຫຍດທີ່ຈະສ້າງໃຫມ່ໂດຍອັດຕະໂນມັດ
ໄຟລ໌ໂຄງການແຕ່ລະຄັ້ງທີ່ໄຟລ໌ແຫຼ່ງທີ່ສອດຄ້ອງກັນໄດ້ຖືກປ່ຽນແປງ, ແລະກວດເບິ່ງຊຸດຂອງ
ໄຟລ໌ສໍາລັບຄວາມສອດຄ່ອງ. ເພີ່ມເສັ້ນເຫຼົ່ານີ້ໃສ່ makefile ຂອງທ່ານ. ຕົວຢ່າງສົມມຸດວ່າ ກ
macro OBJS ໄດ້ຖືກກໍານົດໄວ້ເຊິ່ງລາຍຊື່ທຸກຊື່ຂອງໄຟລ໌ວັດຖຸທີ່ຈະເຊື່ອມຕໍ່
ຮ່ວມ​ກັນ​ເພື່ອ​ສ້າງ​ໂຄງ​ການ​ປະ​ຕິ​ບັດ​ທີ່​ສົມ​ບູນ​. (ໃນ makefile ນີ້, ເສັ້ນ indented
ແຕ່ລະອັນຄວນເລີ່ມຕົ້ນດ້ວຍແຖບ, ບໍ່ແມ່ນຊ່ອງຫວ່າງ
ທີ່ແບ່ງປັນບລັອກທົ່ວໄປລະຫວ່າງເຂົາເຈົ້າ, ຫຼັງຈາກນັ້ນທາງເລືອກ no-com-\* ຄວນຈະຖືກລຶບອອກ
ຈາກ NOGLOBAL, ແລະ/ຫຼື ວາງທຸງ -library.
# ບອກເຮັດໃຫ້ສິ່ງທີ່ suffix ໄຟລ໌ໂຄງການແມ່ນ
.SUFFIXES: .prj

# ທາງເລືອກເຫຼົ່ານີ້ສະກັດກັ້ນການກວດສອບທົ່ວໂລກ.
NOGLOBAL=-usage=no-ext-undefined,no-com-\*

# ບອກວິທີສ້າງໄຟລ໌ .prj ຈາກໄຟລ໌ .f
.f.prj:
ftnchek -project $(NOGLOBAL) -library $

# ຕັ້ງຄ່າ macro PRJS ທີ່ມີຊື່ໄຟລ໌ໂຄງການ
PRJS= $(OBJS:.o=.prj)

# "ເຮັດການກວດສອບ" ຈະກວດສອບທຸກຢ່າງທີ່ມີການປ່ຽນແປງ.
ເຊັກ: $(PRJS)
ftnchek $(PRJS)

ໃນ​ເວ​ລາ​ທີ່​ໂຄງ​ການ​ນໍາ​ໃຊ້​ການ​ເຮັດ​ວຽກ​ຈໍາ​ນວນ​ຫຼາຍ​ທີ່​ກໍາ​ນົດ​ໄວ້​ໃນ​ຈໍາ​ນວນ​ຂະ​ຫນາດ​ໃຫຍ່​ຂອງ​ໄຟລ​໌​ແຫຼ່ງ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​ໃນ​
ລາຍ​ການ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​, ມັນ​ສາ​ມາດ​ເປັນ cumbersome ທີ່​ຈະ​ລະ​ບຸ​ໄຟລ​໌​ໂຄງ​ການ​ທັງ​ຫມົດ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​
ຈໍາເປັນຕ້ອງໄດ້ກວດສອບໂຄງການຢ່າງຖືກຕ້ອງ. ເພື່ອຮັບມືກັບກໍລະນີດັ່ງກ່າວ, ftnchek ອະນຸຍາດໃຫ້ໂຄງການ
ໄຟລ໌ທີ່ຈະໄດ້ຮັບການ concatenated ເຂົ້າໄປໃນໄຟລ໌ຂະຫນາດໃຫຍ່ດຽວ. ໄຟລ໌ດຽວນີ້ສາມາດຖືກມອບໃຫ້
ftnchek ເພື່ອສະຫນອງຂໍ້ມູນສໍາລັບການກວດສອບການນໍາໃຊ້ຂອງທຸກຫຼືປົກກະຕິ
ກໍານົດໄວ້ໃນໄຟລ໌ໂຄງການລວມ. ໃນ​ເວ​ລາ​ທີ່​ການ​ນໍາ​ໃຊ້​ເອ​ກະ​ສານ​ໂຄງ​ການ ``ຫ້ອງ​ສະ​ຫມຸດ​´​, ທ່ານ​
ອາດຈະຕ້ອງການ ftnchekລາຍງານຄວາມຜິດພາດຂອງເອກະສານເພື່ອກໍານົດຊື່ຂອງໄຟລ໌ທີ່ຊັດເຈນ
ຫນ້າທີ່ສະເພາະແມ່ນຖືກກໍານົດ. ຖ້າໄຟລ໌ແຫຼ່ງຕ່າງໆຢູ່ໃນຫຼາຍໄດເລກະທໍລີ, an
ບົດລາຍງານຄວາມຜິດພາດທີ່ໃຫ້ພຽງແຕ່ຊື່ໄຟລ໌ອາດຈະມີຄວາມບໍ່ຊັດເຈນ, ແລະແທນທີ່ຈະຄວນຈະປະກອບມີ
ເສັ້ນທາງໄປຫາໄຟລ໌. ການແກ້ໄຂແມ່ນເພື່ອສ້າງແຕ່ລະໄຟລ໌ໂຄງການສ່ວນບຸກຄົນໂດຍ
ໃຫ້ເສັ້ນທາງທີ່ສົມບູນກັບໄຟລ໌ແຫຼ່ງ. ຫຼັງຈາກນັ້ນ, ເສັ້ນທາງທີ່ສົມບູນນີ້ຈະປາກົດຢູ່ໃນ
ບົດ​ລາຍ​ງານ​ຄວາມ​ຜິດ​ພາດ​. ຕົວຢ່າງ, ສົມມຸດວ່າທັງຫມົດຂອງໄຟລ໌ແຫຼ່ງໂຄງການຍ່ອຍຂອງຫ້ອງສະຫມຸດແມ່ນ
ໃນໄດເລກະທໍລີຍ່ອຍຂອງໄດເລກະທໍລີທີ່ມີຊື່ /util/lib. ຫຼັງຈາກນັ້ນ, ໄຟລ໌ໂຄງການສ່ວນບຸກຄົນສາມາດ
ທໍາອິດຖືກສ້າງຂື້ນໂດຍຄໍາສັ່ງເຊັ່ນ:
ຊອກຫາ /util/lib -name '*.f' -exec ftnchek -project '{}' ';'
(ບາງທີທາງເລືອກອື່ນຈະຖືກສະໜອງໃຫ້ ftnchek ດັ່ງທີ່ໄດ້ກ່າວມາຂ້າງເທິງ. ນອກຈາກນີ້, ຂັ້ນຕອນນີ້
ສາມາດຖືກຈັດການແທນໂດຍກົດລະບຽບ makefile ສະບັບປັບປຸງທີ່ຈະສະຫນອງແຫຼ່ງທີ່ສົມບູນ
ເສັ້ນທາງໄຟລ໌ແທນທີ່ຈະເປັນພຽງແຕ່ຊື່ທ້ອງຖິ່ນໃນເວລາເອີ້ນ ftnchek.) ຕໍ່ໄປ, concatenate ທັງຫມົດຂອງ
ໄຟລ໌ໂຄງການເຫຼົ່ານີ້ດ້ວຍຕົນເອງ.
ຊອກຫາ /util/lib -name '*.prj' -exec cat '{}' ';' > ourlib.prj
ຫຼັງຈາກນັ້ນ, ໄຟລ໌ຕົ້ນສະບັບຂອງໂປລແກລມສາມາດກວດສອບໄດ້ໂດຍໃຊ້ຄໍາສັ່ງ
ftnchek prog.f ... -lib ourlib.prj
ແລະຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດທີ່ກ່ຽວຂ້ອງກັບການປົກກະຕິຂອງຫ້ອງສະຫມຸດໃດໆຈະປະກອບມີເສັ້ນທາງເຕັມໄປຫາ
ໄຟລ໌ແຫຼ່ງຂອງປົກກະຕິ.

ໃນ​ປັດ​ຈຸ​ບັນ​, ບໍ່​ມີ​ອຸ​ປະ​ກອນ​ການ​ເກັບ​ຮັກ​ສາ​ທີ່​ຄ້າຍ​ຄື​ ar ການຄຸ້ມຄອງເນື້ອໃນຂອງ concatenated ໄດ້
ໄຟລ໌ໂຄງການຄືກັບຮູບໃນຕົວຢ່າງຂ້າງເທິງ. ຖ້າມີການປ່ຽນແປງຫນຶ່ງຂອງ
ປົກກະຕິຫ້ອງສະຫມຸດ, ວິທີດຽວທີ່ຈະປັບປຸງໄຟລ໌ໂຄງການລວມແມ່ນເພື່ອ concatenate ທັງຫມົດ
ໄຟລ໌ໂຄງການສ່ວນບຸກຄົນອີກເທື່ອຫນຶ່ງ. ຜົນປະໂຫຍດດັ່ງກ່າວຈະຂ້ອນຂ້າງງ່າຍທີ່ຈະຂຽນ.
ບາງຄົນຄວນເຮັດແນວນັ້ນແລະປະກອບສ່ວນເຂົ້າໃນ ftnchek ຄວາມພະຍາຍາມ.

AN EXAMPLE


ໂຄງ​ການ Fortran ງ່າຍ​ດາຍ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ສະ​ແດງ​ໃຫ້​ເຫັນ​ຂໍ້​ຄວາມ​ທີ່​ໄດ້​ຮັບ​ໂດຍ ftnchek. ໄດ້
ໂຄງ​ການ​ແມ່ນ​ມີ​ຈຸດ​ປະ​ສົງ​ທີ່​ຈະ​ຮັບ​ເອົາ array ຂອງ​ຄະ​ແນນ​ທົດ​ສອບ​ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ຄໍາ​ນວນ​ສະ​ເລ່ຍ​ສໍາ​ລັບ​ການ​
ຊຸດ.

C ຜູ້ຂຽນ: MIKE MYERS ແລະ LUCIA SPAGNUOLO
C DATE: ວັນທີ 8 ພຶດສະພາ 1989

C ຕົວແປ:
C SCORE -> array ຂອງ​ຄະ​ແນນ​ທົດ​ສອບ​
C SUM -> ຜົນລວມຂອງຄະແນນສອບເສັງ
C COUNT -> ການນັບຄະແນນທີ່ອ່ານຢູ່ໃນ
CI -> loop counter

ຟັງຊັນຈິງ COMPAV(ຄະແນນ, COUNT)
INTEGER SUM,COUNT,J,ຄະແນນ(5​)

DO 30 I = 1,COUNT
SUM = SUM + SCORE(I)
30 ສືບຕໍ່
COMPAV = SUM/COUNT
END

ໂປຣແກມ AVENUM
C
C ໂປຣແກມຫຼັກ
C
C ຜູ້ຂຽນ: LOIS BIGBIE
C DATE: ວັນທີ 15 ພຶດສະພາ 1990
C
C ຕົວແປ:
C MAXNOS -> ຈຳນວນສູງສຸດຂອງຄ່າທີ່ປ້ອນເຂົ້າ
C NUMS -> array ຂອງຕົວເລກ
C COUNT -> ຈຳນວນທີ່ແນ່ນອນຂອງຄ່າທີ່ປ້ອນເຂົ້າ
C AVG -> ສະເລ່ຍສົ່ງຄືນໂດຍ COMPAV
CI -> loop counter
C

PARAMETER(MAXNOS=5)
INTEGER I, COUNT
ຈໍານວນທີ່ແທ້ຈິງ (MAXNOS), AVG
COUNT = 0
DO 80 I = 1,MAXNOS
ອ່ານ (5,*,END=100) NUMS(I)
COUNT = COUNT + 1
80 ສືບຕໍ່
100 AVG = COMPAV(NUMS, COUNT)
END

ຄອມພີວເຕີບໍ່ໃຫ້ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດໃນເວລາທີ່ໂຄງການນີ້ຖືກລວບລວມ. ແຕ່ນີ້ແມ່ນສິ່ງທີ່
ເກີດ​ຂຶ້ນ​ໃນ​ເວ​ລາ​ທີ່​ມັນ​ແມ່ນ​ການ​ດໍາ​ເນີນ​ການ​:

$ ແລ່ນສະເລ່ຍ
70
90
85

$

ເກີດ​ຫຍັງ​ຂຶ້ນ? ເປັນຫຍັງໂຄງການບໍ່ໄດ້ເຮັດຫຍັງ? ຕໍ່ໄປນີ້ແມ່ນຜົນຜະລິດຈາກ
ftnchek ໃນເວລາທີ່ມັນຖືກນໍາໃຊ້ເພື່ອ debug ໂຄງການຂ້າງເທິງນີ້:

$ ftnchek -list -symtab ສະເລ່ຍ

FTNCHEK ເວີຊັ່ນ 3.3 ພະຈິກ 2004

ໄຟລ໌ average.f:

1 C ຜູ້ຂຽນ: MIKE MYERS ແລະ LUCIA SPAGNUOLO
2 C DATE: ວັນທີ 8 ພຶດສະພາ 1989
3
4 ຕົວແປ:
5 C SCORE -> array ຂອງ​ຄະ​ແນນ​ທົດ​ສອບ​
6 C SUM -> ຜົນລວມຂອງຄະແນນສອບເສັງ
7 C COUNT -> ການນັບຄະແນນທີ່ອ່ານຢູ່ໃນ
8 CI -> loop counter
9
10 ຫນ້າທີ່ທີ່ແທ້ຈິງ COMPAV (ຄະແນນ, COUNT)
11 INTEger SUM,COUNT,J,ຄະແນນ(5​)
12
13 DO 30 I = 1,COUNT
14 SUM = SUM + SCORE(I)
15 30 ສືບຕໍ່
16 COMPAV = SUM/COUNT
^
ຄຳເຕືອນໃກ້ເສັ້ນ 16 col 20: integer quotient expr SUM/COUNT ປ່ຽນເປັນ
ທີ່ແທ້ຈິງ
17 ສິ້ນສຸດ

ໂມດູນ COMPAV: func: ຈິງ

ຕົວແປ:

ຊື່ປະເພດ Dims ຊື່ປະເພດ Dims ຊື່ປະເພດ Dims ຊື່ປະເພດ Dims
COMPAV ທີ່ແທ້ຈິງ COUNT intg I intg* J intg
SCORE intg 1 SUM intg

* ຕົວແປບໍ່ໄດ້ປະກາດ. ປະເພດໄດ້ຖືກກໍານົດໂດຍ implicitly.

ຄໍາເຕືອນໃນໂມດູນ COMPAV: ຕົວແປທີ່ຖືກປະກາດແຕ່ບໍ່ເຄີຍອ້າງອີງ:
J ປະກາດຢູ່ແຖວທີ 11

ຄຳເຕືອນໃນໂມດູນ COMPAV: ຕົວແປອາດຈະຖືກໃຊ້ກ່ອນກຳນົດ:
SUM ໃຊ້ຢູ່ແຖວທີ 14
SUM ກໍານົດຢູ່ແຖວທີ 14

ປ້າຍຄຳຖະແຫຼງທີ່ກຳນົດໄວ້:

Label Line StmtType
<30> 15 exec

18
19
20 ໂປຣແກມ AVENUM
21 C
22 C ໂປຣແກຣມຫຼັກ
23 C
24 C ຜູ້ຂຽນ: LOIS BIGBIE
25 C DATE: ວັນທີ 15 ພຶດສະພາ 1990
26 C
27 ຕົວແປ:
28 C MAXNOS -> ຈຳນວນສູງສຸດຂອງຄ່າທີ່ປ້ອນເຂົ້າ
29 C NUMS -> array ຂອງຕົວເລກ
30 C COUNT -> ຈໍານວນທີ່ແນ່ນອນຂອງຄ່າການປ້ອນຂໍ້ມູນ
31 C AVG -> ສະເລ່ຍກັບຄືນໂດຍ COMPAV
32 CI -> loop counter
33 C
34
35 PARAMETER(MAXNOS=5)
36 INTEGER I, COUNT
37 ຈໍານວນທີ່ແທ້ຈິງ (MAXNOS), AVG
38 COUNT = 0
39 DO 80 I = 1,MAXNOS
40 ອ່ານ (5,*,END=100) NUMS(I)
41 COUNT = COUNT + 1
42 80 ສືບຕໍ່
43 100 AVG = COMPAV(NUMS, COUNT)
44 ສິ້ນສຸດ

ໂມດູນ AVENUM: prog

ໂຄງການຍ່ອຍພາຍນອກທີ່ອ້າງອີງ:

COMPAV: ແທ້*

ຕົວແປ:

ຊື່ປະເພດ Dims ຊື່ປະເພດ Dims ຊື່ປະເພດ Dims ຊື່ປະເພດ Dims
AVG ຈິງ COUNT intg I intg MAXNOS intg*
NUMS ທີ່ແທ້ຈິງ 1

* ຕົວແປບໍ່ໄດ້ປະກາດ. ປະເພດໄດ້ຖືກກໍານົດໂດຍ implicitly.

ຄໍາເຕືອນໃນໂມດູນ AVENUM: ຕົວແປທີ່ຕັ້ງໄວ້ແຕ່ບໍ່ເຄີຍໃຊ້:
AVG ກໍານົດຢູ່ແຖວ 43

ການດໍາເນີນງານ I/O:

ໜ່ວຍ ID ໜ່ວຍ ເລກທີ ເຂົ້າເຖິງ ແບບຟອມການດຳເນີນງານ
5 SEQ FMTD ອ່ານ 40

ປ້າຍຄຳຖະແຫຼງທີ່ກຳນົດໄວ້:

Label Line StmtType ປ້າຍຊື່ Line StmtType
<80> 42 exec <100> 43 exec

0 ຂໍ້ຜິດພາດທາງໄວຍະກອນກວດພົບໃນໄຟລ໌ average.f
6 ຄໍາເຕືອນທີ່ອອກໃນໄຟລ໌ average.f

ຄຳເຕືອນ: ປະເພດຂໍ້ມູນອາກິວເມັນຂອງໂປຣແກມຍ່ອຍ COMPAV ບໍ່ກົງກັນຢູ່ຕຳແໜ່ງ 1:
Dummy arg SCORE ໃນໂມດູນ COMPAV ແຖວ 10 ໄຟລ໌ average.f ແມ່ນປະເພດ intg
arg NUMS ຕົວຈິງໃນໂມດູນ AVENUM line 43 file average.f ແມ່ນປະເພດຈິງ

ອີງ​ຕາມ ftnchek, ໂຄງການປະກອບດ້ວຍຕົວແປທີ່ອາດຈະຖືກນໍາໃຊ້ກ່ອນທີ່ຈະມີ
ໄດ້ມອບໝາຍຄ່າເບື້ອງຕົ້ນ, ແລະຕົວແປທີ່ບໍ່ຈຳເປັນ. ftnchek ຍັງເຕືອນ
ຜູ້​ໃຊ້​ທີ່​ຄະ​ແນນ​ຈໍາ​ນວນ​ເຕັມ​ໄດ້​ຮັບ​ການ​ປ່ຽນ​ເປັນ​ຈິງ​. ນີ້ອາດຈະຊ່ວຍຜູ້ໃຊ້ໃນ
ຈັບຄວາມຜິດພາດຮອບປິດທີ່ບໍ່ໄດ້ຕັ້ງໃຈ. ນັບຕັ້ງແຕ່ -symtab ທຸງ​ຊາດ​ໄດ້​ຖືກ​ມອບ​ໃຫ້​, ftnchek ພິມ
ອອກຕາຕະລາງທີ່ມີຕົວລະບຸຈາກໂມດູນທ້ອງຖິ່ນແລະປະເພດຂໍ້ມູນທີ່ສອດຄ້ອງກັນຂອງພວກເຂົາ
ແລະຈໍານວນຂອງຂະຫນາດ. ສຸດທ້າຍ, ftnchek ເຕືອນວ່າຟັງຊັນ COMPAV ບໍ່ໄດ້ຖືກນໍາໃຊ້
ກັບປະເພດຂອງການໂຕ້ຖຽງທີ່ເຫມາະສົມ.

ກັບ ftnchekການຊ່ວຍເຫຼືອຂອງ, ພວກເຮົາສາມາດດີບັກໂຄງການ. ພວກເຮົາສາມາດເຫັນໄດ້ວ່າມີດັ່ງຕໍ່ໄປນີ້
ຄວາມຜິດພາດ:

1. SUM ແລະ COUNT ຄວນຖືກປ່ຽນເປັນຈິງກ່ອນການແບ່ງສ່ວນ.

2. SUM ຄວນຈະໄດ້ຮັບການເລີ່ມຕົ້ນເປັນ 0 ກ່ອນທີ່ຈະເຂົ້າໄປໃນ loop.

3. AVG ບໍ່ເຄີຍຖືກພິມອອກຫຼັງຈາກຖືກຄິດໄລ່.

4. NUMS ຄວນຖືກປະກາດເປັນ INTEGER ແທນ REAL.

ພວກເຮົາຍັງເຫັນວ່າຂ້ອຍ, ບໍ່ແມ່ນ J, ຄວນຖືກປະກາດເປັນ INTEGER ໃນຫນ້າທີ່ COMPAV. ນອກຈາກນີ້,
MAXNOS ບໍ່ໄດ້ຖືກປະກາດວ່າເປັນ INTEGER, ຫຼື COMPAV ເປັນຈິງ, ໃນໂປຣແກຣມ AVENUM. ເຫຼົ່ານີ້ແມ່ນບໍ່
ຄວາມ​ຜິດ​ພາດ​, ແຕ່​ພວກ​ເຂົາ​ເຈົ້າ​ອາດ​ຈະ​ຊີ້​ບອກ​ວ່າ carelessness​. ດັ່ງທີ່ມັນເກີດຂຶ້ນ, ປະເພດເລີ່ມຕົ້ນຂອງສິ່ງເຫຼົ່ານີ້
ຕົວແປທີ່ກົງກັນກັບປະເພດທີ່ຕັ້ງໃຈ.

ນີ້​ແມ່ນ​ໂຄງ​ການ​ແກ້​ໄຂ​, ແລະ​ຜົນ​ຜະ​ລິດ​ຂອງ​ຕົນ​ໃນ​ເວ​ລາ​ທີ່​ການ​ດໍາ​ເນີນ​ການ​:

C ຜູ້ຂຽນ: MIKE MYERS ແລະ LUCIA SPAGNUOLO
C DATE: ວັນທີ 8 ພຶດສະພາ 1989
C
C ຕົວແປ:
C SCORE -> array ຂອງ​ຄະ​ແນນ​ທົດ​ສອບ​
C SUM -> ຜົນລວມຂອງຄະແນນສອບເສັງ
C COUNT -> ການນັບຄະແນນທີ່ອ່ານຢູ່ໃນ
CI -> loop counter
C
ຟັງຊັນຈິງ COMPAV(ຄະແນນ, COUNT)
INTEGER SUM,COUNT,I,ຄະແນນ(5​)
C
SUM = 0
DO 30 I = 1,COUNT
SUM = SUM + SCORE(I)
30 ສືບຕໍ່
COMPAV = FLOAT(SUM)/FLOAT(COUNT)
END
C
C
ໂປຣແກມ AVENUM
C
C ໂປຣແກມຫຼັກ
C
C ຜູ້ຂຽນ: LOIS BIGBIE
C DATE: ວັນທີ 15 ພຶດສະພາ 1990
C
C ຕົວແປ:
C MAXNOS -> ຈຳນວນສູງສຸດຂອງຄ່າທີ່ປ້ອນເຂົ້າ
C NUMS -> array ຂອງຕົວເລກ
C COUNT -> ຈຳນວນທີ່ແນ່ນອນຂອງຄ່າທີ່ປ້ອນເຂົ້າ
C AVG -> ສະເລ່ຍສົ່ງຄືນໂດຍ COMPAV
CI -> loop counter
C
C
INTEGE MAXNOS
PARAMETER(MAXNOS=5)
INTEGER I, NUMS(MAXNOS), COUNT
AVG ທີ່ແທ້ຈິງ,COMPAV
COUNT = 0
DO 80 I = 1,MAXNOS
ອ່ານ (5,*,END=100) NUMS(I)
COUNT = COUNT + 1
80 ສືບຕໍ່
100 AVG = COMPAV(NUMS, COUNT)
WRITE(6,*) 'AVERAGE =',AVG
END
$ ແລ່ນສະເລ່ຍ
70
90
85

ສະເລ່ຍ = 81.66666
$

ກັບ ftnchekການຊ່ວຍເຫຼືອຂອງ, ໂຄງການຂອງພວກເຮົາແມ່ນສໍາເລັດ!

ການສົນທະນາ ການ OUTPUT


ຂໍ້ຄວາມທີ່ໃຫ້ໂດຍ ftnchek ປະກອບມີບໍ່ພຽງແຕ່ຄວາມຜິດພາດ syntax ແຕ່ຍັງເຕືອນແລະ
ຂໍ້​ຄວາມ​ຂໍ້​ຄວາມ​ກ່ຽວ​ກັບ​ສິ່ງ​ທີ່​ຖືກ​ກົດ​ຫມາຍ Fortran ແຕ່​ວ່າ​ອາດ​ຈະ​ຊີ້​ບອກ​ເຖິງ​ຄວາມ​ຜິດ​ພາດ​ຫຼື
ຄວາມບໍ່ສົນໃຈ. ຂໍ້ຄວາມເຫຼົ່ານີ້ສ່ວນໃຫຍ່ສາມາດຖືກປິດໄດ້ໂດຍຕົວເລືອກແຖວຄໍາສັ່ງ. ທີ່
ທາງເລືອກຄວບຄຸມແຕ່ລະຂໍ້ຄວາມແມ່ນຂຶ້ນກັບລັກສະນະຂອງເງື່ອນໄຂທີ່ຖືກເຕືອນກ່ຽວກັບ.
ເບິ່ງລາຍລະອຽດຂອງທຸງແຖວຄໍາສັ່ງໃນພາກສ່ວນທີ່ຜ່ານມາ, ແລະຂອງບຸກຄົນ
ຂໍ້ຄວາມຂ້າງລຸ່ມນີ້. ແຕ່ລະຂໍ້ຄວາມຖືກນຳໜ້າດ້ວຍຄຳສັບ ຫຼືປະໂຫຍກທີ່ຊີ້ບອກເຖິງລັກສະນະຂອງ
ສະ​ພາບ​ການ​ແລະ​ຄວາມ​ຮຸນ​ແຮງ​ຂອງ​ຕົນ​.

``ຄວາມຜິດພາດ´ ໝາຍເຖິງຂໍ້ຜິດພາດທາງໄວຍະກອນ. ປະເພດທີ່ງ່າຍດາຍທີ່ສຸດຂອງຄວາມຜິດພາດ syntax ແມ່ນ typographical
ຂໍ້ຜິດພາດ, ຕົວຢ່າງເຊັ່ນວົງເລັບທີ່ບໍ່ສົມດຸນຫຼືການສະກົດຄໍາຜິດພາດ. ປະເພດນີ້
ຂໍ້ຜິດພາດຖືກຈັບໄດ້ໂດຍ parser ແລະປາກົດພ້ອມກັບຄໍາອະທິບາຍ `` parse error '' ຫຼື `` syntax
error'' (ຂຶ້ນກັບສະບັບຂອງເຄື່ອງກໍາເນີດ parser ແລະບໍ່ວ່າຈະເປັນ GNU bison or
UNIX yacc). ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດປະເພດນີ້ບໍ່ສາມາດຖືກສະກັດກັ້ນໄດ້. ຈົ່ງຮູ້ວ່າປະເພດນີ້
ຄວາມຜິດພາດມັກຈະຫມາຍຄວາມວ່າ ftnchek ບໍ່ໄດ້ຕີຄວາມໝາຍຢ່າງຖືກຕ້ອງຕາມຄຳຖະແຫຼງທີ່ຜິດພາດ
ເກີດຂຶ້ນ, ດັ່ງນັ້ນການປະຕິບັດການກວດສອບຕໍ່ໄປຂອງມັນຈະຖືກຫຼຸດຫນ້ອຍລົງ. ເຈົ້າ​ຄວນ
ລົບລ້າງຄວາມຜິດພາດ syntax ທັງຫມົດກ່ອນທີ່ຈະດໍາເນີນການຕີຄວາມຫມາຍຂໍ້ຄວາມອື່ນໆ ftnchek
ເຮັດໃຫ້.

`` ຄໍາເຕືອນ: syntax ບໍ່ໄດ້ມາດຕະຖານ '' ຊີ້ໃຫ້ເຫັນເຖິງການຂະຫຍາຍ Fortran ວ່າ ftnchek ສະຫນັບສະຫນູນ
ແຕ່ນັ້ນບໍ່ແມ່ນຕາມມາດຕະຖານ Fortran 77. ການຂະຫຍາຍທີ່ ftnchek ຍອມຮັບ
ໄດ້ຖືກອະທິບາຍຢູ່ໃນພາກຂະຫຍາຍຂ້າງລຸ່ມນີ້. ຕົວຢ່າງຫນຶ່ງແມ່ນ DO ... ENDDO
ການກໍ່ສ້າງ. ຖ້າ​ຫາກ​ວ່າ​ໂຄງ​ການ​ນໍາ​ໃຊ້​ການ​ຂະ​ຫຍາຍ​ເຫຼົ່າ​ນີ້, ຄໍາ​ເຕືອນ​ຈະ​ໄດ້​ຮັບ​ການ​ອີງ​ຕາມ​ການ
ສະ​ເພາະ​ພາຍ​ໃຕ້​ການ​ -f77 ການຕັ້ງຄ່າ. ພຶດຕິກຳເລີ່ມຕົ້ນແມ່ນບໍ່ໃຫ້ມີການເຕືອນ.

`` ການເຕືອນໄພ ' ໃນກໍລະນີອື່ນໆຫມາຍເຖິງເງື່ອນໄຂທີ່ສົງໃສແຕ່ວ່າອາດຈະເປັນຫຼືບໍ່ແມ່ນ
ການ​ຂຽນ​ໂປຣ​ແກຣມ​ຜິດ​ພາດ​. ເລື້ອຍໆເງື່ອນໄຂເຫຼົ່ານີ້ແມ່ນຖືກກົດຫມາຍພາຍໃຕ້ມາດຕະຖານ. ບາງຄົນແມ່ນ
ຜິດກົດຫມາຍແຕ່ບໍ່ຕົກຢູ່ພາຍໃຕ້ຫົວຂໍ້ຂອງຄວາມຜິດພາດ syntax. ຄວາມຜິດພາດໃນການນໍາໃຊ້ແມ່ນຕົວຢ່າງຫນຶ່ງ.
ເຫຼົ່ານີ້ຫມາຍເຖິງຄວາມເປັນໄປໄດ້ທີ່ຕົວແປອາດຈະຖືກນໍາໃຊ້ກ່ອນທີ່ມັນຈະຖືກມອບຫມາຍ a
ຄ່າ (ໂດຍ​ທົ່ວ​ໄປ​ແມ່ນ​ຄວາມ​ຜິດ​ພາດ​)​, ຫຼື​ວ່າ​ຕົວ​ປ່ຽນ​ໄດ້​ຖືກ​ປະ​ກາດ​ແຕ່​ບໍ່​ເຄີຍ​ນໍາ​ໃຊ້ (ບໍ່​ມີ​ອັນ​ຕະ​ລາຍ​ແຕ່
ອາດ​ຈະ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ເຖິງ​ຄວາມ​ບໍ່​ໄດ້​ຮັບ​ຜິດ​ຊອບ​)​. ຈໍານວນຂອງການກວດສອບຄວາມຜິດພາດການນໍາໃຊ້ແມ່ນຄວບຄຸມໂດຍ
- ການ​ນໍາ​ໃຊ້​ ທຸງ, ເຊິ່ງກໍານົດຈໍານວນສູງສຸດຂອງການກວດສອບໂດຍຄ່າເລີ່ມຕົ້ນ.

ການເຕືອນໄພການຕັດອອກກວມເອົາສະຖານະການທີ່ຄວາມຖືກຕ້ອງອາດຈະສູນເສຍໂດຍບໍ່ໄດ້ຕັ້ງໃຈ, ສໍາລັບ
ຕົວຢ່າງເມື່ອຄ່າຄວາມແມ່ນຍໍາສອງເທົ່າຖືກມອບໝາຍໃຫ້ກັບຕົວແປທີ່ແທ້ຈິງ. ການເຕືອນໄພເຫຼົ່ານີ້ແມ່ນ
ຄວບຄຸມໂດຍ - ຕັດ ການ​ຕັ້ງ​ຄ່າ​, ເຊິ່ງ​ແມ່ນ​ຢູ່​ໃນ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​.

``ການ​ນໍາ​ໃຊ້​ທີ່​ບໍ່​ໄດ້​ຮັບ​ການ​ນໍາ​ໃຊ້​' ເຕືອນ​ກ່ຽວ​ກັບ​ຄຸນ​ສົມ​ບັດ​ບາງ​ຢ່າງ​ທີ່​ອາດ​ຈະ​ບໍ່​ໄດ້​ຮັບ​ການ​ຍອມ​ຮັບ​ໂດຍ​ຄອມ​ພິວ​ເຕີ​ບາງ​
ເຖິງແມ່ນວ່າມັນບໍ່ຂັດກັບ Fortran 77 ມາດຕະຖານ, ຫຼືມັນອາດຈະເຮັດໃຫ້ໂຄງການ
ເພື່ອປະຕິບັດທີ່ແຕກຕ່າງກັນໃນເວທີທີ່ແຕກຕ່າງກັນ. ສໍາລັບຕົວຢ່າງ, ທຽບເທົ່າທີ່ແທ້ຈິງແລະ
ຕົວແປ integer ປົກກະຕິແລ້ວແມ່ນການປະຕິບັດທີ່ບໍ່ໄດ້ພົກພາ. ການນໍາໃຊ້ການຂະຫຍາຍການ
ພາສາມາດຕະຖານແມ່ນ, ແນ່ນອນ, ແຫຼ່ງອື່ນຂອງການບໍ່ພົກພາ, ແຕ່ນີ້ແມ່ນການຈັດການ
ກໍລະນີແຍກຕ່າງຫາກ. ເພື່ອກວດສອບໂຄງການສໍາລັບການເຄື່ອນທີ່ທີ່ແທ້ຈິງ, ທັງສອງ - ພົກພາ ແລະ
-f77 ທຸງຄວນຖືກໃຊ້. ພວກມັນທັງສອງຖືກປິດໄວ້ໂດຍຄ່າເລີ່ມຕົ້ນ. ໄດ້ - ຂະ​ຫນາດ​ຄໍາ​ ການຕັ້ງຄ່າແມ່ນ
ສະຫນອງໃຫ້ເພື່ອກວດກາເບິ່ງພຽງແຕ່ການນໍາໃຊ້ nonportable ທີ່ຂຶ້ນກັບເຄື່ອງຈັກສະເພາະໃດຫນຶ່ງ
ຂະຫນາດຄໍາສັບ.

`` ຮູບລັກສະນະທີ່ຫຼອກລວງທີ່ອາດຈະຖືກໃຊ້ສໍາລັບການກໍ່ສ້າງທາງກົດຫມາຍທີ່ອາດຈະບໍ່ຫມາຍຄວາມວ່າແນວໃດ
ປະກົດວ່າພວກມັນໝາຍເຖິງຢູ່ glance ທໍາອິດ. ສໍາລັບຕົວຢ່າງ, Fortran ແມ່ນ insensitive ກັບພື້ນທີ່ຫວ່າງເປົ່າ,
ດັ່ງນັ້ນຊ່ອງຫວ່າງພາຍໃນຊື່ຕົວແປຫຼືການຂາດຊ່ອງຫວ່າງລະຫວ່າງຄໍາສໍາຄັນແລະ a
ຕົວແປສາມາດບົ່ງບອກຄວາມປະທັບໃຈທີ່ຜິດພາດກັບຜູ້ອ່ານ. ຂໍ້ຄວາມເຫຼົ່ານີ້ສາມາດຖືກສະກັດກັ້ນ
ໂດຍການປິດ -ງາມ ທຸງ, ເຊິ່ງຢູ່ໃນຄ່າເລີ່ມຕົ້ນ.

ຂໍ້​ຄວາມ​ອື່ນໆ​ທີ່​ໄດ້​ຮັບ​ຫຼັງ​ຈາກ​ໄຟລ​໌​ທັງ​ຫມົດ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ປຸງ​ແຕ່ງ​, ແລະ​ມີ​ການ​ເຮັດ​ກັບ​
ຂໍ້ຕົກລົງລະຫວ່າງໂມດູນ, ຢ່າໃຊ້ຄໍາວ່າ "ຄໍາເຕືອນ" ແຕ່ໂດຍທົ່ວໄປແລ້ວຕົກຢູ່ໃນນັ້ນ
ປະເພດ. ຕົວຢ່າງປະກອບມີປະເພດບໍ່ກົງກັນລະຫວ່າງຕົວແປທີ່ສອດຄ້ອງກັນໃນທີ່ແຕກຕ່າງກັນ
ການປະກາດບລັອກທົ່ວໄປ, ຫຼືລະຫວ່າງ dummy ແລະການໂຕ້ຖຽງຕົວຈິງຂອງໂຄງການຍ່ອຍ. ເຫຼົ່ານີ້
ການ​ເຕືອນ​ໄພ​ແມ່ນ​ຄວບ​ຄຸມ​ໂດຍ​ - ທົ່ວໄປ ແລະ - ການໂຕ້ຖຽງ ການຕັ້ງຄ່າຕາມລໍາດັບ. ໂດຍຄ່າເລີ່ມຕົ້ນ
ທັງ​ສອງ​ໄດ້​ຖືກ​ກໍາ​ນົດ​ສໍາ​ລັບ​ຄວາມ​ເຂັ້ມ​ງວດ​ສູງ​ສຸດ​ຂອງ​ການ​ກວດ​ສອບ​.

ເຕືອນໄພອີກກຸ່ມໜຶ່ງກ່ຽວກັບເງື່ອນໄຂທີ່ມັກຈະບໍ່ເປັນອັນຕະລາຍ ຫມາຍເຖິງກໍລະນີທີ່
ຄຸນສົມບັດ array ຂອງຕົວແປທີ່ຜ່ານເປັນ argument ຂອງໂຄງການຍ່ອຍແຕກຕ່າງກັນລະຫວ່າງສອງ
ປົກກະຕິ. ຕົວຢ່າງ, ອົງປະກອບ array ອາດຈະຖືກສົ່ງກັບ subroutine ທີ່ຄາດຫວັງວ່າ a
array ທັງຫມົດ. ນີ້ແມ່ນເຕັກນິກທີ່ໃຊ້ທົ່ວໄປສໍາລັບການປຸງແຕ່ງແຖວດຽວຫຼືຖັນຂອງ
array ສອງມິຕິ. ຢ່າງໃດກໍຕາມ, ມັນຍັງສາມາດຊີ້ໃຫ້ເຫັນເຖິງຄວາມຜິດພາດການຂຽນໂປລແກລມ. ໄດ້ -ອາເຣ
ການຕັ້ງຄ່າອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດປັບລະດັບຄວາມເຂັ້ມງວດເພື່ອໃຊ້ໃນການກວດສອບນີ້
ປະເພດຂອງຂໍ້ຕົກລົງລະຫວ່າງການໂຕ້ຖຽງອາເຣຕົວຈິງ ແລະ dummy. ໂດຍຄ່າເລີ່ມຕົ້ນຄວາມເຂັ້ມງວດແມ່ນ
ສູງສຸດ.

``Oops'' ຊີ້ໃຫ້ເຫັນເຖິງບັນຫາດ້ານວິຊາການ, ຊຶ່ງຫມາຍຄວາມວ່າມີແມງໄມ້ເຂົ້າມາ ftnchek ຫຼືວ່າມັນ
ຊັບພະຍາກອນໄດ້ຖືກເກີນ.

ຂໍ້ຄວາມຜິດພາດ syntax ແລະຄໍາເຕືອນປະກອບມີຊື່ໄຟລ໌ພ້ອມກັບຫມາຍເລກແຖວແລະ
ເລກຖັນ. ftnchek ມີສອງທາງເລືອກທີ່ແຕກຕ່າງກັນສໍາລັບການປະກົດຕົວຂອງຄວາມຜິດພາດເຫຼົ່ານີ້
ຂໍ້ຄວາມ. ຖ້າ - ຈົວ ແມ່ນຢູ່ໃນຜົນກະທົບ, ຊຶ່ງເປັນຄ່າເລີ່ມຕົ້ນ, ຂໍ້ຄວາມແມ່ນຢູ່ໃນຮູບແບບ
ປະມານພາສາອັງກິດປົກກະຕິ. (ໃນແບບເລີ່ມຕົ້ນ, ຊື່ໄຟລ໌ບໍ່ໄດ້ພິມຢູ່ໃນຂໍ້ຄວາມ
ພາຍໃນຮ່າງກາຍຂອງໂຄງການຖ້າຫາກວ່າ -list ແມ່ນມີຜົນບັງຄັບໃຊ້.) ແບບອື່ນຂອງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ
ຖືກເລືອກໂດຍ - nonovice ທາງເລືອກ. ໃນຮູບແບບນີ້, ຮູບລັກສະນະຂອງຂໍ້ຄວາມແມ່ນ
ຄ້າຍຄືກັນກັບ UNIX ຝັກ ໂຄງການ.

ftnchek ຍັງຕາບອດກັບບາງປະເພດຂອງຄວາມຜິດພາດ syntax. ສອງອັນທີ່ສໍາຄັນທີ່ສຸດແມ່ນ
ການກວດສອບລາຍລະອຽດຂອງຖະແຫຼງການ FORMAT, ແລະເກືອບທຸກຢ່າງທີ່ຕ້ອງເຮັດກັບການຄວບຄຸມ
ການໄຫຼວຽນຂອງການປະຕິບັດໂດຍຄໍາຖະແຫຼງ IF, DO, ແລະ GOTO: ຄືການສ້າງຮັງທີ່ຖືກຕ້ອງ.
ໂຄງປະກອບການ, ການຈັບຄູ່ຂອງຄໍາຖະແຫຼງການເປີດເຊັ່ນ IF ... ຫຼັງຈາກນັ້ນກັບຄໍາຖະແຫຼງການປິດ
ເຊັ່ນ ENDIF, ແລະການນໍາໃຊ້ທີ່ເຫມາະສົມຂອງປ້າຍຄໍາຖະແຫຼງການ (ຕົວເລກ). ຜູ້ລວບລວມຂໍ້ມູນສ່ວນໃຫຍ່ຈະ
ຈັບ​ຄວາມ​ຜິດ​ພາດ​ເຫຼົ່າ​ນີ້​. ເບິ່ງພາກສ່ວນກ່ຽວກັບຂໍ້ຈໍາກັດສໍາລັບການສົນທະນາລາຍລະອຽດເພີ່ມເຕີມ.

If ftnchek ໃຫ້ທ່ານຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ syntax ເມື່ອ compiler ບໍ່, ມັນອາດຈະເປັນເພາະວ່າ
ໂປຣແກມຂອງທ່ານມີສ່ວນຂະຫຍາຍໃຫ້ກັບ Fortran ມາດຕະຖານທີ່ຍອມຮັບໂດຍ compiler
ແຕ່ບໍ່ແມ່ນໂດຍ ftnchek. (ເບິ່ງພາກຂະຫຍາຍ.) ໃນລະບົບ VAX/VMS, ທ່ານສາມາດນໍາໃຊ້
ຕົວເລືອກການລວບລວມຂໍ້ມູນ / Standard ເພື່ອເຮັດໃຫ້ compiler ຍອມຮັບພຽງແຕ່ Fortran ມາດຕະຖານເທົ່ານັ້ນ. ສຸດ
ລະບົບ UNIX ຫຼື UNIX ເກືອບທັງຫມົດ, ນີ້ສາມາດເຮັດໄດ້ໂດຍການຕັ້ງທຸງ -ansi.

ຫຼາຍໆຂໍ້ຄວາມທີ່ໃຫ້ໂດຍ ftnchek ມີຄໍາອະທິບາຍດ້ວຍຕົນເອງ. ຜູ້ທີ່ຕ້ອງການບາງ
ຄໍາອະທິບາຍເພີ່ມເຕີມແມ່ນໄດ້ລະບຸໄວ້ຂ້າງລຸ່ມນີ້ຢູ່ໃນລໍາດັບຕົວອັກສອນ.

ສາມັນ block ຊື່: ຂໍ້ມູນ ປະເພດ mismatch at ຕໍາແຫນ່ງ n
ໄດ້ n-th variable ໃນ COMMON block ແຕກຕ່າງກັນໃນປະເພດຂໍ້ມູນໃນສອງທີ່ແຕກຕ່າງກັນ
ຖະແຫຼງການຂອງ COMMON block. ໂດຍຄ່າເລີ່ມຕົ້ນ (- ທົ່ວໄປ ລະດັບຄວາມເຂັ້ມງວດ 3), ftnchek
ແມ່ນເລືອກຫຼາຍກ່ຽວກັບບລັອກ COMMON: ຕົວແປທີ່ລະບຸໄວ້ໃນພວກມັນຕ້ອງກົງກັນແທ້
ໂດຍປະເພດຂໍ້ມູນ ແລະຂະໜາດຂອງອາເຣ. ນັ້ນແມ່ນ, ຄູ່ນິຕິບັນຍັດຂອງການປະກາດໃນ
ໂມ​ດູນ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​:
ທົ່ວໄປ /COM1/ A,B
ແລະ
ທົ່ວໄປ /COM1/ A(2​)
ຈະເຮັດໃຫ້ເກີດ ftnchek ເພື່ອ​ໃຫ້​ຄໍາ​ເຕືອນ​ຢູ່​ໃນ​ລະ​ດັບ​ຄວາມ​ເຂັ້ມ​ງວດ 3. ທັງ​ສອງ​ປະ​ກາດ​ນີ້​
ແມ່ນຖືກກົດຫມາຍຢູ່ໃນ Fortran ນັບຕັ້ງແຕ່ພວກເຂົາທັງສອງປະກາດຕົວແປທີ່ແທ້ຈິງສອງຕົວ. ທີ່​ເຂັ້ມ​ງວດ
ໃນ​ລະ​ດັບ 1 ຫຼື 2​, ບໍ່​ມີ​ການ​ເຕືອນ​ໄພ​ຈະ​ໄດ້​ຮັບ​ໃນ​ຕົວ​ຢ່າງ​ນີ້​, ແຕ່​ການ​ເຕືອນ​ຈະ​ເປັນ​
ໃຫ້ຖ້າມີປະເພດຂໍ້ມູນບໍ່ກົງກັນ, ຕົວຢ່າງ, ຖ້າ B ຖືກປະກາດເປັນ INTEGER.
ຄວບຄຸມໂດຍ - ທົ່ວໄປ ຕັ້ງ.

ສາມັນ block NAME ມີ ຍາວ ຂໍ້ມູນ ປະເພດ ດັ່ງຕໍ່ໄປນີ້ ສັ້ນ ຂໍ້ມູນ ປະເພດ
ບາງ compilers ຕ້ອງການການຈັດຕໍາແຫນ່ງຂອງລາຍການຫຼາຍໄບຕ໌ເພື່ອໃຫ້ແຕ່ລະລາຍການເລີ່ມຕົ້ນດ້ວຍ
ທີ່ຢູ່ເປັນຫຼາຍຂະໜາດຂອງລາຍການ. ດັ່ງນັ້ນ, ຖ້າສັ້ນ (ຕົວຢ່າງ: single-
ຄວາມແມ່ນຍໍາທີ່ແທ້ຈິງ) ລາຍການແມ່ນປະຕິບັດຕາມໂດຍຍາວ (ຕົວຢ່າງຄວາມແມ່ນຍໍາສອງເທົ່າທີ່ແທ້ຈິງ) ລາຍການ, ໄດ້
ສຸດທ້າຍອາດຈະບໍ່ສອດຄ່ອງຢ່າງຖືກຕ້ອງ. ຄວບຄຸມໂດຍ -portability=common-alignment
ທາງເລືອກ.

ສາມັນ block NAME ມີ ປະສົມ ລັກສະນະ ແລະ ບໍ່​ແມ່ນ​ລັກ​ສະ​ນະ​ ຕົວແປ
ມາດຕະຖານ ANSI ຮຽກຮ້ອງໃຫ້ຖ້າຕົວແປໃດນຶ່ງໃນບລັອກ COMMON ເປັນປະເພດ
CHARACTER, ຫຼັງຈາກນັ້ນຕົວແປອື່ນໆທັງຫມົດໃນ COMMON block ດຽວກັນຈະຕ້ອງເປັນປະເພດ
ລັກສະນະ. ຄວບຄຸມໂດຍ -f77=ປະສົມ-ທົ່ວໄປ ທາງເລືອກ.

ສາມັນ block ຊື່: ແຕກຕ່າງກັນ ຄວາມຍາວ
ສໍາລັບການ - ທົ່ວໄປ ການຕັ້ງຄ່າລະດັບ 2, ຂໍ້ຄວາມນີ້ຫມາຍຄວາມວ່າບລັອກ COMMON ຖືກປະກາດໃຫ້
ມີຈໍານວນຄໍາທີ່ແຕກຕ່າງກັນໃນສອງໂຄງການຍ່ອຍທີ່ແຕກຕ່າງກັນ. ຄໍາຫນຶ່ງແມ່ນຈໍານວນ
ຂອງການເກັບຮັກສາ occupied ໂດຍຫນຶ່ງ integer ຫຼືຕົວແປທີ່ແທ້ຈິງ. ສໍາລັບ - ທົ່ວໄປ ການ​ຕັ້ງ​ຄ່າ​ລະ​ດັບ 3​,
ມັນຫມາຍຄວາມວ່າທັງສອງປະກາດມີຕົວເລກທີ່ແຕກຕ່າງກັນຂອງຕົວແປ, ບ່ອນທີ່ an
array ຂອງຂະຫນາດໃດກໍ່ຕາມແມ່ນຖືວ່າເປັນຕົວແປຫນຶ່ງ. ນີ້​ບໍ່​ຈໍາ​ເປັນ​ຕ້ອງ​ມີ​ຄວາມ​ຜິດ​ພາດ​,
ແຕ່ມັນອາດຈະຊີ້ໃຫ້ເຫັນວ່າຕົວແປຂາດຫາຍໄປຈາກຫນຶ່ງໃນບັນຊີລາຍຊື່. ໃຫ້ສັງເກດວ່າ
ອີງຕາມມາດຕະຖານ Fortran 77, ມັນແມ່ນຄວາມຜິດພາດສໍາລັບບລັອກທີ່ມີຊື່ວ່າ COMMON (ແຕ່.
ບໍ່ COMMON ຫວ່າງເປົ່າ) ທີ່ຈະແຕກຕ່າງກັນໃນຈໍານວນຂອງຄໍາສັບຕ່າງໆໃນການປະກາດທີ່ແຕກຕ່າງກັນ
ໂມດູນ. ມອບໃຫ້ - ທົ່ວໄປ ການ​ຕັ້ງ​ຄ່າ 2 ຫຼື 3​.

Error: ບໍ່ດີ ສ້າງຕັ້ງຂຶ້ນ ເຫດຜົນ/ຄວາມສຳພັນ ປະຕິບັດການ or ຄົງທີ່

Error: ບໍ່ດີ ສ້າງຕັ້ງຂຶ້ນ ທີ່ແທ້ຈິງ ຄົງທີ່
ການວິເຄາະ syntax ໄດ້ພົບເຫັນການເລີ່ມຕົ້ນຂອງຫນຶ່ງໃນຄໍາພິເສດທີ່ເລີ່ມຕົ້ນແລະ
ສິ້ນສຸດດ້ວຍໄລຍະເວລາ (ຕົວຢ່າງ .EQ.), ຫຼືການເລີ່ມຕົ້ນຂອງຄ່າຄົງທີ່ຂອງຕົວເລກ, ແຕ່ບໍ່ໄດ້
ປະສົບຜົນສໍາເລັດໃນການຊອກຫາລາຍການທີ່ສົມບູນແບບນັ້ນ.

Error: ບໍ່ສາມາດເຮັດໄດ້ be ປັບ ຂະຫນາດ in ໂມດູນ NAME
ຕົວແປຕົວອັກສອນບໍ່ສາມາດຖືກປະກາດດ້ວຍຂະໜາດທີ່ເປັນຮູບດາວໃນ
ວົງເລັບເວັ້ນເສຍແຕ່ວ່າມັນເປັນການໂຕ້ຖຽງ dummy, ພາລາມິເຕີ, ຫຼືຊື່ຂອງຟັງຊັນ
ກໍານົດຢູ່ໃນໂມດູນ.

Error: ບໍ່ສາມາດເຮັດໄດ້ be ປະກາດ in SAVE ຄໍາຖະແຫຼງທີ່ in ໂມດູນ NAME
ພຽງແຕ່ຕົວແປທ້ອງຖິ່ນແລະບລັອກທົ່ວໄປທີ່ສາມາດປະກາດໄດ້ໃນຄໍາຖະແຫຼງທີ່ SAVE.

Error: No ເສັ້ນທາງ to ນີ້ ຄໍາຖະແຫຼງທີ່
ftnchek ຈະກວດພົບຄໍາຖະແຫຼງທີ່ຖືກລະເລີຍຫຼືຜ່ານເພາະວ່າບໍ່ມີ
ເສັ້ນທາງທີ່ຄາດເດົາໄດ້ໃນຖະແຫຼງການ. ຕົວຢ່າງ, ຄໍາຖະແຫຼງທີ່ບໍ່ມີຕົວເລກ (ກ
ຄໍາຖະແຫຼງທີ່ບໍ່ມີປ້າຍຄໍາຖະແຫຼງ), ເກີດຂຶ້ນທັນທີຫຼັງຈາກຄໍາຖະແຫຼງ GOTO,
ບໍ່​ສາ​ມາດ​ປະ​ຕິ​ບັດ​ໄດ້​.

Error: Parse ຄວາມຜິດພາດ
ນີ້ຫມາຍຄວາມວ່າ parser, ເຊິ່ງວິເຄາະໂຄງການ Fortran ເຂົ້າໄປໃນການສະແດງອອກ,
ຖະແຫຼງການ, ແລະອື່ນໆ, ບໍ່ສາມາດຊອກຫາການຕີຄວາມທີ່ຖືກຕ້ອງສໍາລັບບາງສ່ວນ
ຂອງຖະແຫຼງການໃນໂຄງການ. ຖ້າ compiler ຂອງທ່ານບໍ່ໄດ້ລາຍງານຂໍ້ຜິດພາດ syntax ຢູ່
ສະຖານທີ່ດຽວກັນ, ຄໍາອະທິບາຍທົ່ວໄປທີ່ສຸດແມ່ນ: (1) ການນໍາໃຊ້ການຂະຫຍາຍໄປຫາ ANSI
Fortran ມາດຕະຖານທີ່ບໍ່ໄດ້ຮັບການຍອມຮັບໂດຍ ftnchek, ຫຼື (2) ຄໍາຖະແຫຼງການຮຽກຮ້ອງໃຫ້ມີ
ເບິ່ງ​ໄປ​ຂ້າງ​ຫນ້າ​ຫຼາຍ​ກ​່​ວາ​ ftnchek ການນໍາໃຊ້ (ເບິ່ງພາກກ່ຽວກັບແມງໄມ້).

ຫມາຍເຫດ: ຂໍ້ຄວາມນີ້ຫມາຍຄວາມວ່າຄໍາຖະແຫຼງທີ່ໄດ້ຮັບຜົນກະທົບບໍ່ໄດ້ຖືກຕີຄວາມຫມາຍ.
ດັ່ງນັ້ນ, ມັນເປັນໄປໄດ້ວ່າ ftnchekການປະມວນຜົນຕໍ່ໄປຈະຜິດພາດ, ຖ້າ
ມັນຂຶ້ນກັບບັນຫາໃດໆທີ່ໄດ້ຮັບຜົນກະທົບຈາກຄໍາຖະແຫຼງການນີ້ (ການປະກາດປະເພດ, ແລະອື່ນໆ).

Error: syntax ຄວາມຜິດພາດ
ນີ້ແມ່ນຄືກັນກັບ ``Error: Parse error'' (ເບິ່ງຂ້າງເທິງ). ມັນ​ແມ່ນ​ການ​ຜະ​ລິດ​ຖ້າ​ຫາກ​ວ່າ​ຂອງ​ທ່ານ​
ສະບັບຂອງ ftnchek ຖືກສ້າງຂຶ້ນໂດຍໃຊ້ UNIX yacc parser generator ແທນທີ່ຈະເປັນ GNU
bison.

ຕົວຊີ້ວັດ ທີ່ ມີ ບໍ່ ເປັນເອກະລັກ in ຄັ້ງທໍາອິດ ຫົກ ຖັງ
ເຕືອນວ່າສອງຕົວລະບຸທີ່ຍາວກວ່າ 6 ຕົວອັກສອນບໍ່ແຕກຕ່າງກັນໃນຕົວລະບຸ
6 ຕົວ​ທໍາ​ອິດ​. ນີ້​ແມ່ນ​ສໍາ​ລັບ​ການ Portable​: ພວກ​ເຂົາ​ເຈົ້າ​ອາດ​ຈະ​ບໍ່​ໄດ້​ຮັບ​ການ​ພິ​ຈາ​ລະ​ນາ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​
ໂດຍບາງ compilers. ຄວບຄຸມໂດຍ - ຫົກ​ຂໍ້​ ທາງເລືອກ.

ບໍ່ພົກພາ ການນໍາໃຊ້: ການໂຕ້ຖຽງ ຄວາມຖືກຕ້ອງ ອາດຈະ ບໍ່ be ທີ່ຖືກຕ້ອງ ສໍາລັບການ intrinsic ຫນ້າທີ່
ຄວາມແມ່ນຍໍາຂອງການໂຕ້ຖຽງທີ່ສົ່ງຕໍ່ກັບການທໍາງານພາຍໃນອາດຈະບໍ່ຖືກຕ້ອງ
ຄອມພິວເຕີບາງອັນ. ອອກເມື່ອຕົວແປຕົວເລກທີ່ປະກາດດ້ວຍຄວາມຊັດເຈນຊັດເຈນ
(ເຊັ່ນ: REAL*8 X) ຖືກສົ່ງກັບຟັງຊັນພາຍໃນສະເພາະ (ເຊັ່ນ: DSQRT(X)).
ຄວບຄຸມໂດຍ -portability=mixed-size ແລະ - ຂະ​ຫນາດ​ຄໍາ​.

ບໍ່ພົກພາ ການນໍາໃຊ້: ລັກສະນະ ຄົງທີ່/ຕົວແປ ຄວາມຍາວ ເກີນໄປ 255
ບາງຕົວສັງລວມບໍ່ຮອງຮັບຕົວອັກສອນທີ່ມີຄວາມຍາວເກີນ 255 ຕົວ.
ຄວບຄຸມໂດຍ -portability=long-string.

ບໍ່ພົກພາ ການນໍາໃຊ້: ເອກະສານ ປະກອບດ້ວຍ ກ່ອງ
ftnchek ຂະຫຍາຍແຖບໃຫ້ທຽບເທົ່າກັບຍະຫວ່າງໄປຫາຖັນຖັດໄປເຊິ່ງເປັນ a
multiple of 8. ບາງ compilers ປະຕິບັດແທັບແຕກຕ່າງກັນ, ແລະມັນກໍ່ເປັນໄປໄດ້ວ່າ
ໄຟລ໌ທີ່ສົ່ງໂດຍຈົດໝາຍອີເລັກໂທຣນິກຈະມີແຖບປ່ຽນເປັນຊ່ອງຫວ່າງໃນບາງທາງ.
ເພາະສະນັ້ນ, ໄຟລ໌ທີ່ບັນຈຸແທັບອາດຈະບໍ່ຖືກລວບລວມຢ່າງຖືກຕ້ອງຫຼັງຈາກຖືກ
ຍົກຍ້າຍ. ftnchek ບໍ່ໃຫ້ຂໍ້ຄວາມນີ້ຖ້າຫາກວ່າແຖບພຽງແຕ່ເກີດຂຶ້ນພາຍໃນຄໍາເຫັນ
ຫຼື​ຕົວ​ອັກ​ສອນ​ຄົງ​ທີ່​. ຄວບຄຸມໂດຍ -portability=ແຖບ.

ບໍ່ພົກພາ ການນໍາໃຊ້: ບໍ່ແມ່ນຈຳນວນເຕັມ DO loop ຂອບເຂດ
ການເຕືອນນີ້ແມ່ນໃຫ້ພຽງແຕ່ເມື່ອດັດຊະນີ DO ແລະຂອບເຂດບໍ່ແມ່ນຈໍານວນເຕັມ. ການນໍາໃຊ້
ປະລິມານທີ່ບໍ່ແມ່ນຈໍານວນເຕັມໃນຄໍາຖະແຫຼງທີ່ DO ອາດຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດທີ່ບໍ່ຄາດຄິດ, ຫຼືແຕກຕ່າງກັນ
ຜົນໄດ້ຮັບໃນເຄື່ອງຈັກທີ່ແຕກຕ່າງກັນ, ເນື່ອງຈາກຜົນກະທົບຮອບວຽນ. ຄວບຄຸມໂດຍ
-portability=ເຮັດຈິງ.

ອາດຈະເປັນ it is an array ທີ່ ແມ່ນ ບໍ່ ປະກາດ
ຂໍ້​ຄວາມ​ນີ້​ຖືກ​ຕໍ່​ທ້າຍ​ກັບ​ຄໍາ​ເຕືອນ​ທີ່​ກ່ຽວ​ຂ້ອງ​ກັບ​ການ​ຮຽກ​ຮ້ອງ​ຫນ້າ​ທີ່​ຫຼື​ການ​
ປະເພດຂອງການໂຕ້ຖຽງບໍ່ກົງກັນ, ເຊິ່ງຄວາມເປັນໄປໄດ້ມີຢູ່ວ່າສິ່ງທີ່ເບິ່ງຄືວ່າເປັນ a
ຕົວຈິງແລ້ວ function ແມ່ນຫມາຍຄວາມວ່າເປັນ array. ຖ້ານັກຂຽນໂປລແກລມລືມຂະຫນາດ
array, ການອ້າງອີງເຖິງ array ຈະຖືກຕີຄວາມໝາຍວ່າ function invocations.
ຂໍ້ຄວາມນີ້ຈະຖືກສະກັດກັ້ນຖ້າຊື່ໃນຄໍາຖາມປາກົດຢູ່ໃນພາຍນອກຫຼື
ຖະແຫຼງການ INTRINSIC. ຄວບຄຸມໂດຍ - ຈົວ ທາງເລືອກ.

ອາດຈະເປັນ ເຂົ້າໃຈຜິດ ຮູບລັກສະນະ: ລັກສະນະ ທີ່ຜ່ານມາ 72 ຄໍລໍາ
ໂປຣແກມດັ່ງກ່າວກຳລັງຖືກປະມວນຜົນດ້ວຍຄວາມກວ້າງຂອງຊ່ອງຂໍ້ມູນຕາມຄ່າມາດຕະຖານຂອງມັນ
ຂອງ 72, ແລະບາງຕົວອັກສອນທີ່ບໍ່ແມ່ນຫວ່າງຖືກພົບເຫັນຢູ່ໃນຖັນທີ່ຜ່ານມາ 72. ໃນກໍລະນີນີ້,
ftnchek ບໍ່ໄດ້ປະມວນຜົນຕົວອັກສອນທີ່ຜ່ານຖັນ 72, ແລະແຈ້ງເຕືອນຜູ້ໃຊ້
ວ່າຄໍາຖະແຫຼງທີ່ອາດຈະບໍ່ມີຄວາມຫມາຍທີ່ມັນເບິ່ງຄືວ່າມີ. ເຫຼົ່ານີ້
ຕົວອັກສອນອາດຈະມີຈຸດປະສົງໂດຍນັກຂຽນໂປລແກລມທີ່ຈະມີຄວາມສໍາຄັນ, ແຕ່ພວກມັນຈະເປັນ
ບໍ່ສົນໃຈໂດຍ compiler. ຄວບຄຸມໂດຍ -pretty=ເສັ້ນຍາວ.

ອາດຈະເປັນ ເຂົ້າໃຈຜິດ ຮູບລັກສະນະ: ສາມັນ block ປະກາດ in ເພີ່ມເຕີມ ກ່ວາ ຫນຶ່ງ ຄໍາຖະແຫຼງທີ່
ການ​ປະກາດ​ຫຼາຍ​ສະບັບ​ດັ່ງກ່າວ​ແມ່ນ​ຖືກຕ້ອງ​ຕາມ​ກົດໝາຍ ​ແລະ ມີ​ຜົນ​ສັກສິດ​ຄື​ກັນ​ກັບ​ການ​ສືບ​ຕໍ່
ການປະກາດຕົ້ນສະບັບຂອງຕັນ. ການເຕືອນໄພນີ້ແມ່ນໃຫ້ພຽງແຕ່ຖ້າຫາກວ່າທັງສອງ
ຖະແຫຼງການຖືກແຍກອອກດ້ວຍໜຶ່ງ ຫຼືຫຼາຍຄຳຖະແຫຼງການແຊກແຊງ. ຄວບຄຸມໂດຍ
-pretty=multiple-common.

ອາດຈະເປັນ ເຂົ້າໃຈຜິດ ຮູບລັກສະນະ: ສືບຕໍ່ ຕໍ່ໄປນີ້ ຄວາມຄິດເຫັນ or ເປົ່າ ອອນໄລນ໌
ftnchek ອອກ​ຂໍ້​ຄວາມ​ເຕືອນ​ໄພ​ນີ້​ເພື່ອ​ເຕືອນ​ຜູ້​ໃຊ້​ທີ່​ມີ​ການ​ສືບ​ຕໍ່​ຂອງ a
ຖະແຫຼງການແມ່ນສັບສົນກັບຄໍາເຫັນ, ເຮັດໃຫ້ມັນງ່າຍທີ່ຈະເບິ່ງຂ້າມ. ຄວບຄຸມໂດຍ
-pretty=ສືບຕໍ່.

ອາດຈະເປັນ ເຂົ້າໃຈຜິດ ຮູບລັກສະນະ: ພິເສດ ວົງເລັບ
ເຕືອນກ່ຽວກັບວົງເລັບທີ່ອ້ອມຮອບຕົວແປດ້ວຍຕົວມັນເອງໃນການສະແດງຜົນ. ເມື່ອ ກ
ຕົວແປວົງເລັບຖືກສົ່ງຜ່ານເປັນການໂຕ້ຖຽງກັບໂຄງການຍ່ອຍ, ມັນຖືກປະຕິບັດເປັນ
ການສະແດງອອກ, ບໍ່ແມ່ນຕົວແປທີ່ມູນຄ່າສາມາດຖືກດັດແປງໂດຍປົກກະຕິທີ່ເອີ້ນວ່າ.
ຄວບຄຸມໂດຍ -pretty=ວົງເລັບ.

ໂຄງການຍ່ອຍ ຊື່: ການໂຕ້ຖຽງ ຂໍ້ມູນ ປະເພດ mismatch at ຕໍາແຫນ່ງ n
ໂຄງ​ການ​ຍ່ອຍ​ຂອງ​ n-th ການ​ໂຕ້​ຖຽງ​ຕົວ​ຈິງ (ໃນ CALL ຫຼື​ການ​ນໍາ​ໃຊ້​ຫນ້າ​ທີ່​)
ແຕກຕ່າງກັນໃນປະເພດຂອງຂໍ້ມູນຫຼືຄວາມແມ່ນຍໍາຈາກ n-th dummy argument (ໃນ SUBROUTINE ຫຼື
ປະກາດ FUNCTION). ຕົວຢ່າງ, ຖ້າຜູ້ໃຊ້ກໍານົດໂຄງການຍ່ອຍໂດຍ
SUBRoutine SUBA(X)
X ທີ່ແທ້ຈິງ
ແລະບ່ອນອື່ນເອີ້ນ SUBA ໂດຍ
CALL SUBA(2​)
ftnchek ຈະ​ກວດ​ພົບ​ຄວາມ​ຜິດ​ພາດ​. ເຫດຜົນນີ້ແມ່ນວ່າຕົວເລກ 2 ເປັນຈໍານວນເຕັມ,
ບໍ່ຈິງ. ຜູ້ໃຊ້ຄວນຂຽນ
ໂທຫາ SUBA(2.0)

ເມື່ອກວດເບິ່ງການໂຕ້ຖຽງທີ່ເປັນໂຄງການຍ່ອຍ, ftnchek ຕ້ອງ​ສາ​ມາດ​ກໍາ​ນົດ​
ບໍ່ວ່າຈະເປັນຟັງຊັນ ຫຼື routine ຍ່ອຍ. ກົດລະບຽບການນໍາໃຊ້ໂດຍ ftnchek ເພື່ອເຮັດສິ່ງນີ້
ດັ່ງນີ້: ຖ້າໂຄງການຍ່ອຍ, ນອກຈາກຈະຖືກຖ່າຍທອດເປັນການໂຕ້ຖຽງຕົວຈິງ, ແມ່ນເຊັ່ນກັນ
invoked ໂດຍກົງຢູ່ບ່ອນອື່ນໃນໂມດູນດຽວກັນ, ຫຼັງຈາກນັ້ນປະເພດຂອງມັນຖືກກໍານົດໂດຍທີ່
ການ​ນໍາ​ໃຊ້. ຖ້າບໍ່, ຫຼັງຈາກນັ້ນ, ຖ້າຊື່ຂອງໂຄງການຍ່ອຍບໍ່ປາກົດຢູ່ໃນຄວາມຊັດເຈນ
ປະ​ເພດ​ການ​ປະ​ກາດ​, ມັນ​ແມ່ນ​ຄາດ​ວ່າ​ຈະ​ເປັນ subroutine​; ຖ້າມັນຖືກພິມຢ່າງຈະແຈ້ງມັນແມ່ນ
ປະຕິບັດເປັນຫນ້າທີ່. ດັ່ງນັ້ນ, subroutines ຜ່ານໄປຕາມການໂຕ້ຖຽງຕົວຈິງທີ່ຕ້ອງການເທົ່ານັ້ນ
ຈະຖືກປະກາດໂດຍຖະແຫຼງການພາຍນອກໃນໂມດູນການໂທ, ໃນຂະນະທີ່ຫນ້າທີ່ຕ້ອງ
ຍັງຖືກພິມຢ່າງຈະແຈ້ງເພື່ອຫຼີກເວັ້ນການສ້າງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດນີ້.
ຄວບຄຸມໂດຍ - ການໂຕ້ຖຽງ ຕັ້ງ.

ໂຄງການຍ່ອຍ ຊື່: ການໂຕ້ຖຽງ arrayness mismatch at ຕໍາແຫນ່ງ n
ຄ້າຍຄືກັນກັບສະຖານະການກ່ອນຫນ້າ, ແຕ່ການໂຕ້ຖຽງ dummy ໂຄງການຍ່ອຍແຕກຕ່າງຈາກ
ການໂຕ້ຖຽງຕົວຈິງທີ່ສອດຄ້ອງກັນໃນຈໍານວນຂະຫນາດຫຼືຈໍານວນຂອງ
ອົງປະກອບ. ຄວບຄຸມໂດຍ -ອາເຣ ພ້ອມດ້ວຍ - ການໂຕ້ຖຽງ settings

ໂຄງການຍ່ອຍ ຊື່: ການໂຕ້ຖຽງ mismatch at ຕໍາແຫນ່ງ n
argument dummy ຕົວອັກສອນໃຫຍ່ກວ່າການໂຕ້ຖຽງຕົວຈິງທີ່ສອດຄ້ອງກັນ, ຫຼື a
Hollerith dummy argument ແມ່ນໃຫຍ່ກວ່າການໂຕ້ຖຽງຕົວຈິງທີ່ສອດຄ້ອງກັນ.
ຄວບຄຸມໂດຍ - ການໂຕ້ຖຽງ ຕັ້ງ.

ໂຄງການຍ່ອຍ ຊື່: ການໂຕ້ຖຽງ ການນໍາໃຊ້ mismatch
ftnchek ກວດພົບຂໍ້ຂັດແຍ່ງທີ່ເປັນໄປໄດ້ລະຫວ່າງວິທີທີ່ໂຄງການຍ່ອຍໃຊ້ການໂຕ້ຖຽງ
ແລະວິທີການທີ່ການໂຕ້ຖຽງໄດ້ຖືກສະຫນອງໃຫ້ແກ່ໂຄງການຍ່ອຍ. ຂໍ້ຂັດແຍ່ງສາມາດ
ເປັນຫນຶ່ງໃນສອງປະເພດ, ດັ່ງທີ່ໄດ້ກ່າວໄວ້ຂ້າງລຸ່ມນີ້.

dummy arg is ດັດ​ແກ້​, ຕົວຈິງ arg is const or ຕົວຢ່າງ
ອາກິວເມັນ dummy ແມ່ນການໂຕ້ຖຽງທີ່ມີຊື່ຢູ່ໃນ SUBROUTINE ຫຼື FUNCTION ຖະແຫຼງການແລະ
ໃຊ້ພາຍໃນໂຄງການຍ່ອຍ. ການໂຕ້ຖຽງຕົວຈິງແມ່ນການໂຕ້ຖຽງທີ່ຜ່ານໄປຫາ a
subroutine ຫຼືຟັງຊັນໂດຍຜູ້ໂທ. ftnchek ແມ່ນເວົ້າວ່າການໂຕ້ຖຽງ dummy ແມ່ນ
ດັດແກ້ໂດຍໂຄງການຍ່ອຍ, ຫມາຍຄວາມວ່າມູນຄ່າຂອງມັນມີການປ່ຽນແປງໃນການໂທຫາ
ໂມດູນ. ການໂຕ້ຖຽງຕົວຈິງທີ່ສອດຄ້ອງກັນບໍ່ຄວນເປັນຄົງທີ່ ຫຼືການສະແດງອອກ,
ແຕ່ເປັນຕົວແປ ຫຼືອົງປະກອບ array ທີ່ສາມາດຖືກມອບໝາຍໃຫ້ຖືກຕ້ອງຕາມກົດໝາຍ.
ຄວບຄຸມໂດຍ -usage=arg-const-ດັດແກ້ ທາງເລືອກ.

dummy arg ໃຫມ່ ກ່ອນທີ່ຈະ ຕັ້ງ, ຕົວຈິງ arg ບໍ່ ທີ່ກໍານົດໄວ້
ນີ້ແມ່ນການໂຕ້ຖຽງ dummy ອາດຈະຖືກນໍາໃຊ້ໃນໂຄງການຍ່ອຍກ່ອນທີ່ຈະມີຄ່າທີ່ຖືກມອບຫມາຍ
ກັບມັນໂດຍໂຄງການຍ່ອຍ. ການໂຕ້ຖຽງຕົວຈິງທີ່ສອດຄ້ອງກັນຄວນມີມູນຄ່າ
ມອບໝາຍໃຫ້ມັນໂດຍຜູ້ໂທກ່ອນທີ່ຈະເອີ້ນໂຄງການຍ່ອຍ. ຄວບຄຸມໂດຍ
-usage=var-uninitialized ທາງເລືອກ.

ການ​ເຕືອນ​ໄພ​ນີ້​ບໍ່​ໄດ້​ຮັບ​ຜົນ​ກະ​ທົບ​ໂດຍ​ - ການໂຕ້ຖຽງ ຕັ້ງ.

ໂຄງການຍ່ອຍ NAME ເອີ້ນ ບໍ່ສອດຄ່ອງ
ໃນທີ່ນີ້ຄວາມບໍ່ກົງກັນແມ່ນລະຫວ່າງປະເພດຂອງໂຄງການຍ່ອຍຂອງມັນເອງທີ່ໃຊ້ແລະເປັນ
ກໍານົດ. ຕົວຢ່າງ, ຖ້າຜູ້ໃຊ້ປະກາດ
ຟັງຊັນຈຳນວນເຕັມ COUNT(A)
ແລະເອີ້ນ COUNT ໃນໂມດູນອື່ນເປັນ
N = COUNT(A)
ໂດຍ​ບໍ່​ມີ​ການ​ປະ​ກາດ​ປະ​ເພດ​ຂໍ້​ມູນ​ຂອງ​ຕົນ​, ມັນ​ຈະ​ເລີ່ມ​ຕົ້ນ​ກັບ​ປະ​ເພດ​ທີ່​ແທ້​ຈິງ​, ໂດຍ​ອີງ​ໃສ່​ທໍາ​ອິດ​
ຈົດ​ຫມາຍ​ຂອງ​ຊື່​ຂອງ​ຕົນ​. ໂມດູນການໂທຫາຄວນປະກອບມີການປະກາດ
ຈໍານວນນັບ

ມອບໃຫ້ - ການໂຕ້ຖຽງ ການ​ຕັ້ງ​ຄ່າ 2 ຫຼື 3​.

ໂຄງການຍ່ອຍ ຊື່: ແຕກຕ່າງກັນ ຄວາມຍາວ ການໂຕ້ຖຽງ ລາຍການ:
ມີການພົບເຫັນຄວາມບໍ່ສອດຄ່ອງລະຫວ່າງຈໍານວນຂອງການໂຕ້ຖຽງ dummy (ຕົວກໍານົດການ)
ໂຄງ​ການ​ຍ່ອຍ​ມີ​ແລະ​ຈໍາ​ນວນ​ຂອງ​ການ​ໂຕ້​ຖຽງ​ຕົວ​ຈິງ​ໃຫ້​ມັນ​ຢູ່​ໃນ​ການ​ຮຽກ​ຮ້ອງ​.
ftnchek ຕິດຕາມການຮຽກຮ້ອງທັງໝົດຂອງບັນດາໂຄງການຍ່ອຍ (CALL ຖະແຫຼງການ ແລະ
expressions using functions) ແລະປຽບທຽບພວກມັນກັບຄໍານິຍາມຂອງ the
ໂຄງການຍ່ອຍຢູ່ບ່ອນອື່ນໃນລະຫັດແຫຼ່ງ. ປົກກະຕິແລ້ວ Fortran compiler ບໍ່ໄດ້
ຈັບປະເພດຂອງຄວາມຜິດພາດນີ້. ມອບໃຫ້ - ການໂຕ້ຖຽງ ການ​ຕັ້ງ​ຄ່າ 1 ຫຼື 3​.

ການປ່ຽນແປງ ບໍ່ ປະກາດ. ປະເພດ ມີ ໄດ້ ຢ່າງແທ້ຈິງ ກໍານົດໄວ້
ເມື່ອພິມຕາຕະລາງສັນຍາລັກສໍາລັບໂມດູນ, ftnchek ຈະທຸງດ້ວຍເຄື່ອງໝາຍດາວທັງໝົດ
ຕົວລະບຸທີ່ບໍ່ໄດ້ພິມຢ່າງຈະແຈ້ງ ແລະຈະສະແດງປະເພດຂໍ້ມູນທີ່ເປັນ
ມອບໝາຍໃຫ້ຜ່ານການພິມແບບບໍ່ຊັດເຈນ. ນີ້ສະຫນອງການສະຫນັບສະຫນູນສໍາລັບຜູ້ໃຊ້ທີ່ຕ້ອງການ
ປະກາດຕົວແປທັງໝົດຕາມທີ່ຕ້ອງການໃນ Pascal ຫຼືບາງພາສາອື່ນໆ. ນີ້
ຂໍ້ຄວາມປາກົດພຽງແຕ່ໃນເວລາທີ່ -symtab ທາງເລືອກແມ່ນມີຜົນ. ອີກທາງເລືອກ, ໃຊ້
- ປະ​ກາດ​ ທຸງຖ້າທ່ານຕ້ອງການເອົາລາຍຊື່ຂອງຕົວແປທີ່ບໍ່ໄດ້ປະກາດທັງໝົດ.

Variables ປະກາດ ແຕ່ ບໍ່ເຄີຍ ອ້າງອີງ
ກວດ​ສອບ​ຕົວ​ລະ​ບຸ​ໃດ​ຫນຶ່ງ​ທີ່​ໄດ້​ຮັບ​ການ​ປະ​ກາດ​ໃນ​ໂຄງ​ການ​ຂອງ​ທ່ານ​ແຕ່​ບໍ່​ເຄີຍ​ຖືກ​ນໍາ​ໃຊ້​,
ບໍ່ວ່າຈະຖືກມອບໝາຍມູນຄ່າ ຫຼືໃຫ້ເຂົ້າເຖິງມູນຄ່າຂອງມັນ. ຕົວແປໃນ COMMON
ຖືກຍົກເວັ້ນ. ຄວບຄຸມໂດຍ -usage=var-unused ທາງເລືອກ.

Variables ທີ່ກໍານົດໄວ້ ແຕ່ ບໍ່ເຄີຍ ໃຫມ່
ftnchek ຈະແຈ້ງເຕືອນຜູ້ໃຊ້ເມື່ອຕົວແປໄດ້ຖືກມອບຫມາຍຄ່າ, ແຕ່ວ່າ
ຕົວແປບໍ່ໄດ້ຖືກນໍາໃຊ້ເປັນຢ່າງອື່ນໃນໂຄງການ. ປົກກະຕິແລ້ວນີ້ຜົນໄດ້ຮັບຈາກ
ກວດກາ. ຄວບຄຸມໂດຍ -usage=var-set-unused ທາງເລືອກ.

Variables ໃຫມ່ ກ່ອນທີ່ຈະ ທີ່ກໍານົດໄວ້
ຂໍ້ຄວາມນີ້ຊີ້ໃຫ້ເຫັນວ່າຕົວລະບຸຖືກໃຊ້ເພື່ອຄິດໄລ່ຄ່າກ່ອນຂອງມັນ
ການເລີ່ມຕົ້ນ. ການນໍາໃຊ້ດັ່ງກ່າວອາດຈະນໍາໄປສູ່ການຄິດໄລ່ຄ່າທີ່ບໍ່ຖືກຕ້ອງ, ນັບຕັ້ງແຕ່
ຄ່າເບື້ອງຕົ້ນຂອງມັນບໍ່ໄດ້ຖືກຄວບຄຸມ. ຄວບຄຸມໂດຍ -usage=var-uninitialized
ທາງເລືອກ.

Variables ອາດຈະ be ໃຫມ່ ກ່ອນທີ່ຈະ ທີ່ກໍານົດໄວ້
ຄ້າຍຄືກັນກັບການນໍາໃຊ້ກ່ອນທີ່ຈະກໍານົດຍົກເວັ້ນວ່າ ftnchek ບໍ່​ສາ​ມາດ​ກໍາ​ນົດ​ສະ​ຖາ​ນະ​ພາບ​ຂອງ​ຕົນ​
ດ້ວຍຄວາມແນ່ນອນ. ftnchek ສົມມຸດວ່າຕົວແປອາດຈະຖືກນໍາໃຊ້ກ່ອນທີ່ຈະກໍານົດຖ້າຫາກວ່າທໍາອິດ
ການ​ນໍາ​ໃຊ້​ຕົວ​ແປ​ໄດ້​ເກີດ​ຂຶ້ນ​ກ່ອນ​ຫນ້າ​ໃນ​ຂໍ້​ຄວາມ​ຂອງ​ໂຄງ​ການ​ກັບ​ການ​ມອບ​ຫມາຍ​ຂອງ​ຕົນ​.
ຄວບຄຸມໂດຍ -usage=var-uninitialized ທາງເລືອກ.

ຄໍາເຕືອນ: DO ດັດຊະນີ is ບໍ່ integer
ການເຕືອນນີ້ແມ່ນໃຫ້ພຽງແຕ່ເມື່ອຂອບເຂດ DO ເປັນຈໍານວນເຕັມ, ແຕ່ດັດຊະນີ DO ບໍ່ແມ່ນ.
ມັນອາດຈະຊີ້ໃຫ້ເຫັນເຖິງຄວາມລົ້ມເຫຼວທີ່ຈະປະກາດດັດສະນີເປັນຈໍານວນເຕັມ. ຄວບຄຸມໂດຍ
-truncation=ເຮັດຈິງ ທາງເລືອກ.

ຄໍາເຕືອນ: integer ຕົວຄູນ ຕົວຢ່າງ ... ປ່ຽນແປງ to ທີ່ແທ້ຈິງ
ຄ່າຄູນຂອງຈຳນວນເຕັມສອງອັນສົ່ງຜົນໃຫ້ຜົນໄດ້ຮັບປະເພດຈຳນວນເຕັມ, ໃນນັ້ນ
ສ່ວນເສດເຫຼືອແມ່ນຫຼຸດລົງ. ຖ້າການສະແດງອອກເປັນຈຳນວນເຕັມທີ່ກ່ຽວຂ້ອງກັບການຫານແມ່ນ
ຕໍ່ມາປ່ຽນເປັນປະເພດຂໍ້ມູນທີ່ແທ້ຈິງ, ມັນອາດຈະເປັນການແບ່ງປະເພດຕົວຈິງແລ້ວ
ຈຸດປະສົງ. ຄວບຄຸມໂດຍ -truncation=int-div-ຈິງ ທາງເລືອກ.

ຄໍາເຕືອນ: Integer ຕົວຄູນ ຕົວຢ່າງ ... ໃຫມ່ in ເລກ ກຳ ລັງ
ຄ່າຄູນຂອງຈຳນວນເຕັມສອງອັນສົ່ງຜົນໃຫ້ຜົນໄດ້ຮັບປະເພດຈຳນວນເຕັມ, ໃນນັ້ນ
ສ່ວນເສດເຫຼືອແມ່ນຫຼຸດລົງ. ຖ້າການສະແດງອອກຈຳນວນເຕັມດັ່ງກ່າວຖືກໃຊ້ເປັນເລກກຳລັງ,
ມັນຂ້ອນຂ້າງເປັນໄປໄດ້ວ່າການແບ່ງປະເພດທີ່ແທ້ຈິງມີຈຸດປະສົງ. ຄວບຄຸມໂດຍ
-truncation=int-div-exponent ທາງເລືອກ.

ຄໍາເຕືອນ: NAME ບໍ່ ທີ່ກໍານົດໄວ້ ໃນເວລາທີ່ ກັບຄືນ ພົບ
ວິທີທີ່ເຮັດຫນ້າທີ່ຢູ່ໃນ Fortran ກັບຄືນມູນຄ່າແມ່ນໂດຍການກໍາຫນົດຄ່າໃຫ້ກັບ
ຊື່ຂອງຫນ້າທີ່. ຂໍ້ຄວາມນີ້ຊີ້ໃຫ້ເຫັນວ່າຟັງຊັນບໍ່ໄດ້ຖືກມອບຫມາຍ a
ຄ່າກ່ອນຈຸດທີ່ພົບຄໍາຖະແຫຼງການ RETURN. ເພາະສະນັ້ນມັນແມ່ນ
ເປັນໄປໄດ້ວ່າຟັງຊັນສາມາດສົ່ງຄືນຄ່າທີ່ບໍ່ໄດ້ກໍານົດ.

ຄໍາເຕືອນ: ໄຮ້ສາລະ ໄວຍະກອນ: ປັບ ຂະຫນາດ ບໍ່ສາມາດເຮັດໄດ້ be ລວມກັນ ທີ່ນີ້
ມາດຕະຖານ Fortran 77 (sec. 6.2.2) ຫ້າມການປະກອບຕົວແປຕົວແປ
ຂະໜາດຂອງເຄື່ອງໝາຍດາວຢູ່ໃນວົງເລັບ, ຍົກເວັ້ນໃນຄຳຖະແຫຼງການມອບໝາຍ.
ຄວບຄຸມໂດຍ -f77=mixed-expr.

ຄໍາເຕືອນ: ໄຮ້ສາລະ syntax : ຢ່າງສໍາຄັນ ລັກສະນະ ທີ່ຜ່ານມາ 72 ຄໍລໍາ
ການ​ເຕືອນ​ໄພ​ນີ້​ແມ່ນ​ໄດ້​ຮັບ​ພາຍ​ໃຕ້​ການ​ -f77=ເສັ້ນຍາວ ການ​ຕັ້ງ​ຄ່າ​ຖ້າ​ຫາກ​ວ່າ​ - ຖັນ ການ​ຕັ້ງ​ຄ່າ​ມີ​
ຖືກນໍາໃຊ້ເພື່ອເພີ່ມຄວາມກວ້າງຂອງພາກສະຫນາມຄໍາຖະແຫຼງການ, ແລະຄໍາຖະແຫຼງທີ່ມີຄວາມຫມາຍ
ຂໍ້ຄວາມຂອງໂປຣແກຣມເກີນຖັນ 72. Fortran ມາດຕະຖານບໍ່ສົນໃຈຂໍ້ຄວາມທັງໝົດໃນຖັນເຫຼົ່ານັ້ນ,
ແຕ່ບາງ compilers ບໍ່ໄດ້. ດັ່ງນັ້ນໂຄງການອາດຈະຖືກປະຕິບັດແຕກຕ່າງກັນໂດຍ
compilers ທີ່ແຕກຕ່າງກັນ.

ຄໍາເຕືອນ: ໄຮ້ສາລະ syntax : ຖະແຫຼງການ ອອກ of order
ftnchek ຈະກວດພົບຄໍາຖະແຫຼງທີ່ຢູ່ນອກລໍາດັບທີ່ລະບຸໄວ້ສໍາລັບ ANSI
ມາດຕະຖານ Fortran 77. ຕາຕະລາງ 1 ສະແດງໃຫ້ເຫັນເຖິງລໍາດັບຂອງຄໍາຖະແຫຼງທີ່ອະນຸຍາດໃຫ້ຢູ່ໃນ
ພາສາ Fortran. ຖະແຫຼງການທີ່ບໍ່ເປັນລະບຽບກໍຍັງຖືກຕີຄວາມໝາຍໂດຍ
ftnchek, ເພື່ອປ້ອງກັນ ``cascades'' ຂອງຂໍ້ຄວາມຄວາມຜິດພາດ. ຕົວນັບລໍາດັບແມ່ນຍັງ
rolled ກັບ​ຄືນ​ໄປ​ບ່ອນ​ເພື່ອ​ປ້ອງ​ກັນ​ການ​ຊ​້​ໍ​າ​ຂອງ​ຂໍ້​ຄວາມ​ຜິດ​ພາດ​ສໍາ​ລັບ​ການ block ຂອງ​ທີ່​ຄ້າຍ​ຄື​ກັນ​
ຖະແຫຼງການ. ຄວບຄຸມໂດຍ -f77=ຖະແຫຼງການ-ຄຳສັ່ງ ທາງເລືອກ.

-------------------------------------------------- ------
| | implicit
| ພາລາມິເຕີ |---------------------
| | ສະ​ເພາະ​ອື່ນໆ​
ຮູບແບບ |----------------|---------------------
ແລະ | | ການ​ປະ​ຕິ​ບັດ​ຫນ້າ​ທີ່​
ເຂົ້າ | ຂໍ້ມູນ |---------------------
| | ປະຕິບັດໄດ້
-------------------------------------------------- ------

ຕາລາງ 1

ຄໍາເຕືອນ: ສາມາດເຮັດໄດ້ ພະແນກ by ສູນ
ຂໍ້​ຄວາມ​ນີ້​ຖືກ​ພິມ​ອອກ​ໄປ​ບ່ອນ​ໃດ​ກໍ​ຕາມ​ການ​ແບ່ງ​ປັນ​ແມ່ນ​ເຮັດ​ໄດ້ (ຍົກ​ເວັ້ນ​ການ​ແບ່ງ​ໂດຍ a
ຄົງທີ່). ໃຊ້ມັນເພື່ອຊ່ວຍຊອກຫາການແບ່ງເວລາແລ່ນໂດຍສູນ. ຄວບຄຸມ
by - ການ​ແບ່ງ​ປັນ​ ທາງເລືອກ.

ຄໍາເຕືອນ: ທີ່ແທ້ຈິງ ຖືກຕັດອອກ to intg
ftnchek ໄດ້ກວດພົບຄໍາຖະແຫຼງການມອບຫມາຍທີ່ມີການສະແດງຕົວຈິງກ່ຽວກັບ
ຂວາ, ແຕ່ຕົວແປຈຳນວນເຕັມຢູ່ເບື້ອງຊ້າຍ. ສ່ວນເສດເຫຼືອຂອງມູນຄ່າທີ່ແທ້ຈິງ
ຈະສູນເສຍ. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຢ່າງ​ຊັດ​ເຈນ​ປ່ຽນ​ສະ​ແດງ​ອອກ​ທີ່​ແທ້​ຈິງ​ເປັນ​ຈໍາ​ນວນ​ເຕັມ​ໂດຍ​ການ​ນໍາ​ໃຊ້​
INT ຫຼື NINT ຟັງຊັນພາຍໃນ, ບໍ່ມີຄໍາເຕືອນຈະຖືກພິມອອກ. ຂໍ້ຄວາມທີ່ຄ້າຍຄືກັນແມ່ນ
ພິມອອກຖ້າຫາກວ່າການສະແດງອອກຄວາມແມ່ນຍໍາສອງແມ່ນໄດ້ມອບຫມາຍໃຫ້ຄວາມແມ່ນຍໍາດຽວ
ຕົວແປ, ແລະອື່ນໆ ຄວບຄຸມໂດຍ -truncation=ການເລື່ອນ ທາງເລືອກ.

ຄໍາເຕືອນ: ຕົວຫ້ອຍ is ບໍ່ integer
ເນື່ອງຈາກວ່າ array subscripts ປົກກະຕິແມ່ນຈໍານວນ integer, ການນໍາໃຊ້ທີ່ບໍ່ແມ່ນ integer
ການສະແດງອອກຢູ່ທີ່ນີ້ອາດຈະເປັນສັນຍານຄວາມຜິດພາດ. ຄວບຄຸມໂດຍ -truncation=real-subscript
ທາງເລືອກ.

ຄໍາເຕືອນ: ບໍ່ຮູ້ຈັກ intrinsic ຫນ້າທີ່
ຂໍ້ຄວາມນີ້ເຕືອນຜູ້ໃຊ້ວ່າຊື່ທີ່ປະກາດຢູ່ໃນຄໍາຖະແຫຼງທີ່ INTRINSIC ແມ່ນ
ບໍ່ຮູ້ຈັກ ftnchek. ອາດ​ຈະ​ເປັນ​ການ​ທໍາ​ງານ intrinsic nonstandard​, ແລະ​ດັ່ງ​ນັ້ນ​
ໂປຣແກມຈະບໍ່ເຄື່ອນທີ່. ຫນ້າທີ່ຈະໄດ້ຮັບການປະຕິບັດໂດຍ ftnchek ເປັນ​ຜູ້​ໃຊ້ -
ຫນ້າທີ່ກໍານົດ. ການເຕືອນໄພນີ້ບໍ່ໄດ້ຖືກສະກັດກັ້ນໂດຍທາງເລືອກໃດກໍ່ຕາມ, ເນື່ອງຈາກວ່າມັນມີຜົນກະທົບ
ftnchekການ​ວິ​ເຄາະ​ຂອງ​ໂຄງ​ການ​. ຢ່າງໃດກໍຕາມ, ຖ້າຫາກວ່າຫນ້າທີ່ intrinsic ແມ່ນຢູ່ໃນຫນຶ່ງຂອງ
ຊຸດສະຫນັບສະຫນຸນຂອງ intrinsics nonstandard, ທ່ານສາມາດນໍາໃຊ້ - ພາຍໃນ ການຕັ້ງຄ່າໃຫ້
ສາເຫດ ftnchek ເພື່ອຮັບຮູ້ມັນ.

ຂອບເຂດ ຈຳ ກັດ ແລະ ການສົນທະນາ


ftnchek ຍອມຮັບມາດຕະຖານ ANSI ໂຄງການ Fortran-77 ທີ່ມີຂໍ້ຈໍາກັດເລັກນ້ອຍແລະຈໍານວນຫລາຍ
ສ່ວນຂະຫຍາຍທົ່ວໄປ.

ຂໍ້ຈໍາກັດ:
ການໂຕ້ຖຽງ dummy ໃນຫນ້າທີ່ຖະແຫຼງການແມ່ນປະຕິບັດຄືກັບຕົວແປທໍາມະດາຂອງ
ໂຄງການ. ນັ້ນແມ່ນ, ຂອບເຂດຂອງພວກເຂົາແມ່ນໂຄງການຍ່ອຍທັງຫມົດ, ບໍ່ພຽງແຕ່ຄໍາຖະແຫຼງການ
ນິຍາມຟັງຊັນ.

ການກວດສອບໃບແຈ້ງຍອດ FORMAT ແມ່ນຫລາກ, ທົນທານຕໍ່ຕົວແຍກທີ່ຂາດຫາຍໄປ (ເຄື່ອງໝາຍຈຸດ,
ແລະອື່ນໆ) ລະຫວ່າງຕົວອະທິບາຍຮູບແບບໃນສະຖານທີ່ທີ່ມາດຕະຖານຕ້ອງການໃຫ້ເຂົາເຈົ້າ, ແລະ
ອະນຸຍາດໃຫ້ .d ຊ່ອງຂໍ້ມູນໃນຕົວອະທິບາຍທີ່ບໍ່ຄວນມີພວກມັນ. ມັນເຕືອນພາຍໃຕ້
-f77=format-edit-descr ກ່ຽວກັບປະເພດຕົວອະທິບາຍທີ່ບໍ່ໄດ້ມາດຕະຖານ (ເຊັ່ນ O), ແລະສະຫນັບສະຫນູນ
extensions

ມີບາງສ່ວນຂະຫຍາຍ syntactic ແລະ Fortran 90 ອົງປະກອບທີ່ ftnchek ຍອມຮັບ
ແຕ່​ກວດ​ສອບ​ພຽງ​ເລັກ​ນ້ອຍ​ຫຼາຍ​. ສໍາລັບຕົວຢ່າງ, ການນໍາໃຊ້ຕົວຊີ້ (ບໍ່ວ່າຈະເປັນ
syntax ທີ່ບໍ່ແມ່ນມາດຕະຖານ Cray ຫຼືໄວຍະກອນ Fortran 90) ບໍ່ໄດ້ຖືກກວດສອບນອກເຫນືອຈາກທີ່ກໍານົດໄວ້.
ແລະ​ສະ​ຖາ​ນະ​ພາບ​ການ​ນໍາ​ໃຊ້​. ຫວັງ​ວ່າ​ມື້​ໃດ​ມື້​ໜຶ່ງ​ຈະ​ມີ​ການ​ກວດກາ​ຢ່າງ​ລະອຽດ​ກວ່າ
ປະຕິບັດ, ແຕ່ສໍາລັບໃນປັດຈຸບັນຜູ້ໃຊ້ຄວນພິຈາລະນາການຍອມຮັບຂອງ syntactic ເຫຼົ່ານີ້
ຄຸນນະສົມບັດພຽງແຕ່ເປັນການສະດວກເພື່ອເຮັດໃຫ້ການກວດສອບລັກສະນະອື່ນໆຂອງລະຫັດທີ່
ປະ​ກອບ​ດ້ວຍ​ພວກ​ເຂົາ​. ເບິ່ງສ່ວນຂະຫຍາຍສໍາລັບສະເພາະກ່ຽວກັບສິ່ງທີ່ມີລັກສະນະ
ຍອມຮັບແຕ່ບໍ່ໄດ້ກວດສອບຢ່າງເຕັມທີ່.

ຖ້າໂຄງການຍ່ອຍທີ່ສະໜອງໃຫ້ຜູ້ໃຊ້ມີຊື່ດຽວກັນກັບໜຶ່ງໃນຕົວຕົນທີ່ບໍ່ໄດ້ມາດຕະຖານ
ຫນ້າທີ່ຮັບຮູ້ໂດຍ ftnchek, ມັນຕ້ອງໄດ້ຮັບການປະກາດໃນຖະແຫຼງການພາຍນອກໃນ
ປົກກະຕິໃດນຶ່ງທີ່ຮຽກຮ້ອງມັນ. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຈະມີການກວດສອບຕາມປົກກະຕິ
ມອບໃຫ້ຫນ້າທີ່ພາຍໃນ. ເນື່ອງຈາກວ່າ intrinsics nonstandard ບໍ່ແມ່ນ
ມາດຕະຖານ, ຖະແຫຼງການພາຍນອກນີ້ແມ່ນບໍ່ຕ້ອງການໂດຍມາດຕະຖານ Fortran 77.
ການນໍາໃຊ້ -intrinsic=ບໍ່​ມີ ການ​ຕັ້ງ​ຄ່າ​, ການ​ຮັບ​ຮູ້​ຂອງ intrinsics ທີ່​ບໍ່​ໄດ້​ມາດ​ຕະ​ຖານ​ທີ່​ສຸດ​
(ຍົກເວັ້ນພຽງແຕ່ທີ່ຈໍາເປັນເພື່ອສະຫນັບສະຫນູນປະເພດຂໍ້ມູນສະລັບສັບຊ້ອນສອງເທົ່າ) ສາມາດຫັນໄດ້
ປິດ. ເບິ່ງລາຍການຂອງຟັງຊັນພາຍໃນທີ່ບໍ່ມາດຕະຖານທີ່ຮອງຮັບພາຍໃຕ້ຫົວຂໍ້
ການສົນທະນາຂອງ - ພາຍໃນ ການຕັ້ງຄ່າຂ້າງເທິງ.

ການ​ຂະ​ຫຍາຍ:
ສ່ວນຂະຫຍາຍທັງໝົດເຫຼົ່ານີ້ (ຍົກເວັ້ນຕົວອັກສອນຕົວພິມນ້ອຍ) ຈະສ້າງຄຳເຕືອນຖ້າ
ທີ່ກ່ຽວຂ້ອງ -f77 ທາງ​ເລືອກ​ໄດ້​ຖືກ​ຕັ້ງ​ໄວ້​. ບາງສ່ວນຂະຫຍາຍທີ່ລະບຸໄວ້ຂ້າງລຸ່ມນີ້ແມ່ນສ່ວນຫນຶ່ງຂອງ
ມາດຕະຖານ Fortran-90. ເຫຼົ່ານີ້ແມ່ນຊີ້ໃຫ້ເຫັນໂດຍ notation (F90).

ແຖບໄດ້ຖືກອະນຸຍາດ, ແລະແປເປັນຊ່ອງຫວ່າງທຽບເທົ່າທີ່ສອດຄ້ອງກັບແຖບ
ຢຸດທຸກໆ 8 ຖັນ. ມາດຕະຖານບໍ່ຮັບຮູ້ແຖບ. ໃຫ້ສັງເກດວ່າບາງ
compilers ອະນຸຍາດໃຫ້ແຖບ, ແຕ່ປະຕິບັດໃຫ້ເຂົາເຈົ້າແຕກຕ່າງກັນ. ການປິ່ນປົວທີ່ກໍານົດສໍາລັບ DEC
FORTRAN ສາມາດບັນລຸໄດ້ໂດຍໃຊ້ -source=dec-tab ຕັ້ງ.

Strings ອາດຈະຖືກຈໍາແນກດ້ວຍເຄື່ອງຫມາຍວົງຢືມຫຼື apostrophes. ລໍາດັບຂອງສອງ
ຕົວອັກສອນຕົວຂັ້ນຖືກຕີຄວາມໝາຍວ່າເປັນຕົວຂັ້ນຕົວຂັ້ນທີ່ຝັງຢູ່ອັນດຽວ.
(F90)

Strings ອາດມີລໍາດັບການຫລົບຫນີ backslash ແບບ UNIX. ພວກເຂົາເຈົ້າຈະເປັນ
ຕີ​ຄວາມ​ຫມາຍ​ດັ່ງ​ກ່າວ​ຖ້າ​ຫາກ​ວ່າ​ -source=unix-backslash ການຕັ້ງຄ່າແມ່ນໃຫ້. ຖ້າບໍ່ດັ່ງນັ້ນ
ຕົວອັກສອນ backslash ຈະຖືກປະຕິບັດເປັນລັກສະນະການພິມປົກກະຕິ.

ລະຫັດແຫຼ່ງສາມາດຢູ່ໃນຮູບແບບຟລີ Fortran 90 ຫຼືຮູບແບບຄົງທີ່ແບບດັ້ງເດີມ.
(F90)

A semicolon ແມ່ນອະນຸຍາດໃຫ້ເປັນຕົວແຍກຄໍາຖະແຫຼງການ. (F90)

ຕົວອັກສອນຕົວພິມນ້ອຍໄດ້ຖືກອະນຸຍາດ, ແລະຖືກປ່ຽນພາຍໃນເປັນຕົວພິມໃຫຍ່
ຍົກເວັ້ນໃນສາຍຕົວອັກສອນ. ມາດຕະຖານລະບຸຕົວພິມໃຫຍ່ເທົ່ານັ້ນ, ຍົກເວັ້ນໃນ
ຄໍາ​ເຫັນ​ແລະ​ຂໍ້​ຄວາມ​. (F90)

ຄົງທີ່ Hollerith ແມ່ນອະນຸຍາດ, ອີງຕາມມາດຕະຖານ Fortran 77,
ເອກະສານຊ້ອນທ້າຍ C. ພວກມັນບໍ່ຄວນຖືກໃຊ້ໃນການສະແດງອອກ, ຫຼືສັບສົນກັບປະເພດຂອງຂໍ້ມູນ
ລັກສະນະ.

ຕົວອັກສອນ 'D' (ຕົວພິມໃຫຍ່ ຫຼື ຕົວພິມນ້ອຍ) ໃນຖັນທີ 1 ແມ່ນຖືວ່າເປັນຈຸດເລີ່ມຕົ້ນຂອງ ກ
ຄໍາເຫັນ. ບໍ່ມີທາງເລືອກທີ່ຈະປະຕິບັດຕໍ່ສາຍດັ່ງກ່າວເປັນຄໍາຖະແຫຼງແທນທີ່ຈະເປັນຄໍາເຫັນ.

ຄໍາຖະແຫຼງທີ່ອາດຈະຍາວກວ່າ 72 ຖັນທີ່ໃຫ້ການຕັ້ງຄ່າ - ຖັນ ແມ່ນ
ໃຊ້ເພື່ອເພີ່ມຂີດຈໍາກັດ. ຕາມມາດຕະຖານ, ຂໍ້ຄວາມທັງໝົດຈາກຖັນ 73
ຜ່ານ 80 ແມ່ນຖືກລະເລີຍ, ແລະບໍ່ມີແຖວໃດອາດຈະຍາວກວ່າ 80 ຖັນ.

ຊື່ຕົວແປອາດຈະຍາວກວ່າຫົກຕົວອັກສອນ. ມາດຕະຖານກໍານົດຫົກເປັນ
ສູງສຸດ. ftnchek ອະນຸຍາດໃຫ້ມີຊື່ຍາວເຖິງ 31 ຕົວອັກສອນ (F90).

ຊື່ຕົວແປອາດມີເຄື່ອງໝາຍຂີດກ້ອງ ແລະເຄື່ອງໝາຍເງິນໂດລາ (ຫຼືບໍ່ມີຕົວໜັງສືອື່ນໆ
ຕົວ​ອັກ​ສອນ​ທີ່​ລະ​ບຸ​ໄວ້​ໂດຍ​ -identifier-chars ທາງ​ເລືອກ). ລັກສະນະເຫຼົ່ານີ້ແມ່ນ
ປະຕິບັດເຊັ່ນດຽວກັນກັບຕົວອັກສອນຕົວຫນັງສື. ປະເພດເລີ່ມຕົ້ນສໍາລັບຕົວແປເລີ່ມຕົ້ນ
ກັບຕົວອັກສອນເຫຼົ່ານີ້ແມ່ນ REAL. ໃນຄໍາຖະແຫຼງການປະເພດ IMPLICIT ກໍານົດຂອບເຂດຂອງ
ຕົວອັກສອນ, ເຄື່ອງຫມາຍເງິນໂດລາຕິດຕາມ Z ແລະຕິດຕາມດ້ວຍເຄື່ອງຂຽນ. (ອື່ນໆ
ຕົວອັກສອນທີ່ກໍານົດໂດຍຜູ້ໃຊ້ຖືກປະຕິບັດຄືກັນກັບເຄື່ອງຫມາຍເງິນໂດລາ.) Fortran 90
ອະ​ນຸ​ຍາດ​ໃຫ້ underscores ໃນ​ຊື່​ຕົວ​ປ່ຽນ​ແປງ​ໄດ້​.

ຮຸ່ນ UNIX ທົນທານຕໍ່ກັບການປະກົດຕົວຂອງຄໍາສັ່ງ preprocessor, ຄືສາຍ
ເລີ່ມຕົ້ນດ້ວຍເຄື່ອງໝາຍປອນ (#). ເຫຼົ່ານີ້ແມ່ນຖືວ່າເປັນຄໍາເຫັນ, ຍົກເວັ້ນສໍາລັບ #line
ຄໍາສັ່ງ, ເຊິ່ງຖືກຕີຄວາມ, ແລະຖືກນໍາໃຊ້ເພື່ອກໍານົດຈໍານວນເສັ້ນແລະແຫຼ່ງ
ຊື່​ໄຟລ​໌​ສໍາ​ລັບ​ການ​ເຕືອນ​ໄພ​ແລະ​ຂໍ້​ຄວາມ​ຜິດ​ພາດ​. ໃຫ້ສັງເກດວ່າ #include directives ບໍ່ແມ່ນ
ດຳ ເນີນການໂດຍ ftnchek. ໂຄງການທີ່ໃຊ້ພວກມັນສໍາລັບການລວມເອົາໄຟລ໌ແຫຼ່ງຄວນຈະເປັນ
ຜ່ານຕົວປະມວນຜົນກ່ອນການປ້ອນຂໍ້ມູນ ftnchekທີ່ຢູ່ ດັ່ງທີ່ໄດ້ກ່າວໄວ້ຂ້າງລຸ່ມນີ້,
ftnchek ຂະບວນການປະກອບມີຄໍາຖະແຫຼງທີ່, ເຊິ່ງມີ syntax ທີ່ແຕກຕ່າງກັນ. ອັນ
ໂຄງ​ການ​ທາງ​ເລືອກ​, ftnpp(1L) (ມີໃຫ້ແຍກຕ່າງຫາກ) ສະຫນອງການປຸງແຕ່ງກ່ອນ
ຈັດການ INCLUDE ໄຟລ໌ຢ່າງຖືກຕ້ອງ.

ໂຄງສ້າງການຄວບຄຸມ Fortran 90 DO ... ENDDO ແມ່ນອະນຸຍາດ. ວົງຈອນແລະອອກ
ຄໍາຖະແຫຼງທີ່ຍອມຮັບ. ທັງໝົດເຫຼົ່ານີ້ອາດມີຊື່ສ້າງທາງເລືອກ, ແຕ່
ຊື່ການກໍ່ສ້າງບໍ່ໄດ້ຖືກກວດສອບສໍາລັບຄວາມສອດຄ່ອງ. (F90)

ການກໍ່ສ້າງ Fortran 90 SELECT CASE ຖືກຍອມຮັບ. (F90)

ຊື່ການກໍ່ສ້າງຍັງຖືກຍອມຮັບໃນ IF, ຫຼັງຈາກນັ້ນ, ELSE, ENDIF ແລະ SELECT CASE
ຖະແຫຼງການ. (F90)

ໃບແຈ້ງຍອດ ACCEPT ແລະ TYPE (ສຳລັບ I/O terminal) ແມ່ນອະນຸຍາດ, ດ້ວຍອັນດຽວກັນ
syntax ເປັນ PRINT.

ອັນທີ່ເອີ້ນວ່າ syntax ``Cray pointer'' ແມ່ນທົນທານ. ມັນບໍ່ແມ່ນຄືກັນກັບການ
ຖະແຫຼງການ Fortran 90 POINTER. ບໍ່ມີການກວດສອບຕົວຈິງຂອງຄໍາຖະແຫຼງການອື່ນໆ
ກ່ວາ syntax ພື້ນຖານ. ຮູບແບບຂອງຄໍາຖະແຫຼງນີ້ແມ່ນ
ໂຕຊີ້ (ຕົວຊີ້, ຊີ້) [,(ຕົວຊີ້, ຊີ້)]
ຕົວແປຕົວຊີ້ຖືກກຳນົດປະເພດຂໍ້ມູນຂອງ INTEGER *4. ການ​ກວດ​ສອບ​ການ​ນໍາ​ໃຊ້​
ຕົວແປ pointee ໄດ້ຖືກສະກັດກັ້ນ, ຍ້ອນວ່າໃນການປະຕິບັດພວກມັນຖືກເຂົ້າເຖິງໂດຍທາງອ້ອມ
ຜ່ານຕົວຊີ້.

ຍອມຮັບ syntaxes ທີ່ກ່ຽວຂ້ອງກັບຕົວຊີ້ Fortran 90 ຕໍ່ໄປນີ້: ALLOCATABLE,
POINTER, ແລະ TARGET ຖະແຫຼງການແລະຄຸນລັກສະນະດຽວກັນໃນການປະກາດປະເພດ;
ຈັດສັນ, ມອບໃຫ້, ແລະ NULLIFY ຖະແຫຼງການທີ່ປະຕິບັດໄດ້; ການມອບໝາຍຕົວຊີ້ໂດຍໃຊ້
=> ຜູ້ປະກອບການ; ແລະຫນ້າທີ່ພາຍໃນທີ່ຖືກຈັດສັນແລະເຊື່ອມໂຍງ. ເລັກນ້ອຍ semantic
ການກວດສອບຕົວແປຕົວຊີ້ ແລະການປະຕິບັດງານແມ່ນເຮັດເກີນກວ່າທີ່ກຳນົດໄວ້ ແລະນຳໃຊ້ພື້ນຖານ
ສະຖານະ. ສໍາລັບຕົວຢ່າງ, ບໍ່ມີການກວດສອບຄວາມຜິດພາດເຊັ່ນ dangling pointers,
ຫຼືການໃຊ້ arrays ທີ່ບໍ່ໄດ້ຈັດສັນ.

ຄໍາຖະແຫຼງທີ່ອາດມີຈໍານວນແຖວຕໍ່ເນື່ອງ. The Fortran 77 ແລະ Fortran
ມາດຕະຖານ 90 ອະນຸຍາດໃຫ້ສູງສຸດ 19 ໃນຮູບແບບແຫຼ່ງຄົງທີ່. ມາດຕະຖານ Fortran 90
ອະນຸຍາດໃຫ້ສູງສຸດ 39 ໃນຮູບແບບແຫຼ່ງຟຣີ.

Relational (ປຽບທຽບ) operators ປະກອບດ້ວຍເຄື່ອງໝາຍວັກຕອນ, ຄື: <<= == // > >=
ອະນຸຍາດ. (F90)

ຄໍາຄິດຄໍາເຫັນໃນແຖວ, ເລີ່ມຕົ້ນດ້ວຍເຄື່ອງຫມາຍ exclamation, ແມ່ນອະນຸຍາດໃຫ້. (F90)

ຮອງຮັບ NAMELIST I/O. syntax ແມ່ນຄືກັນກັບໃນ Fortran 90.

ຖະແຫຼງການ FORMAT ສາມາດມີເຄື່ອງໝາຍເງິນໂດລາເພື່ອຊີ້ບອກການສະກັດກັ້ນການຂົນສົ່ງ-
ກັບຄືນ. ການສະແດງຜົນຈຳນວນເຕັມທີ່ປິດຢູ່ໃນວົງເລັບມຸມສາມາດໃຊ້ບ່ອນໃດກໍໄດ້ໃນ a
FORMAT ຖະແຫຼງການທີ່ມາດຕະຖານ Fortran 77 ອະນຸຍາດໃຫ້ມີຈໍານວນຄົງທີ່ (ຍົກເວັ້ນ
ສໍາລັບຄວາມຍາວຂອງຄ່າຄົງທີ່ Hollerith), ເພື່ອສະຫນອງຄ່າເວລາແລ່ນສໍາລັບການຊ້ໍາ
ຂໍ້ມູນສະເພາະ ຫຼືຄວາມກວ້າງຂອງຊ່ອງຂໍ້ມູນ.

ຄໍາສໍາຄັນທີ່ບໍ່ແມ່ນມາດຕະຖານແມ່ນອະນຸຍາດໃຫ້ຢູ່ໃນຄໍາຖະແຫຼງການ I/O, ທີ່ສອດຄ້ອງກັນກັບຄໍາທີ່ຢູ່ໃນ VMS
ຟໍຣັນ.

ຄໍາຖະແຫຼງທີ່ IMPLICIT NONE ໄດ້ຮັບການສະຫນັບສະຫນູນ. ຄວາມຫມາຍຂອງຄໍາຖະແຫຼງນີ້ແມ່ນວ່າ
ຕົວແປທັງໝົດຕ້ອງມີປະເພດຂໍ້ມູນຂອງພວກມັນຖືກປະກາດຢ່າງຈະແຈ້ງ. ແທນທີ່ຈະທຸງ
ການປະກົດຕົວຂອງຕົວແປດັ່ງກ່າວກັບຂໍ້ຄວາມຜິດພາດ syntax, ftnchek ລໍຖ້າຈົນກ່ວາ
ສິ້ນສຸດຂອງໂມດູນ, ແລະຫຼັງຈາກນັ້ນພິມອອກບັນຊີລາຍຊື່ຂອງຕົວແປທີ່ບໍ່ໄດ້ປະກາດທັງຫມົດ, ຍ້ອນວ່າມັນ
ເຮັດສໍາລັບ - ປະ​ກາດ​ ທາງເລືອກ. (F90)

ປະເພດຂໍ້ມູນ INTEGER, REAL, COMPLEX, ແລະ LOGICAL ແມ່ນອະນຸຍາດໃຫ້ມີທາງເລືອກ.
ຄວາມຊັດເຈນສະເພາະໃນການປະກາດປະເພດ. ຕົວຢ່າງ, REAL*8 ຫມາຍຄວາມວ່າ 8-byte
ປະເພດຂໍ້ມູນຈຸດລອຍ. ປະເພດຂໍ້ມູນ REAL*8 ແມ່ນບໍ່ຈໍາເປັນພິຈາລະນາ
ເທົ່າກັບ DOUBLE PreCISION, ຂຶ້ນກັບ - ຂະ​ຫນາດ​ຄໍາ​ ການຕັ້ງຄ່າ. Fortran 77
ມາດຕະຖານອະນຸຍາດໃຫ້ມີສະເພາະຄວາມຍາວສໍາລັບຂໍ້ມູນ CHARACTER.

ftnchek ສະ​ຫນັບ​ສະ​ຫນູນ​ສະ​ເພາະ​ປະ​ເພດ DOUBLE COMPLEX ສໍາ​ລັບ​ປະ​ລິ​ມານ​ຊັບ​ຊ້ອນ​ທີ່​ມີ​
ພາກສ່ວນທີ່ແທ້ຈິງແລະຈິນຕະນາການແມ່ນຄວາມແມ່ນຍໍາສອງເທົ່າ. ເລກເລກຄະນິດແບບປະສົມທີ່ກ່ຽວຂ້ອງກັບ
single-precision complex ກັບ double-precision ຂໍ້ມູນທີ່ແທ້ຈິງ, ຫ້າມພາຍໃຕ້ການ
ມາດຕະຖານ, ໃຫ້ຜົນໄດ້ຮັບທີ່ສັບສົນສອງເທົ່າ.

ການປະກາດປະເພດປະສົມປະສານ ແລະຕົວລະບຸຂໍ້ມູນເບື້ອງຕົ້ນຄືກັບການຖະແຫຼງການແມ່ນໄດ້ຮັບການຍອມຮັບ.
ເຫຼົ່ານີ້ມີຮູບແບບການປະກາດປະເພດ Fortran 77 ມາດຕະຖານ, ຕິດຕາມດ້ວຍເຄື່ອງໝາຍເລກ-.
ບັນຊີລາຍຊື່ delimited ຂອງຄ່າຄົງທີ່ຄ້າຍຄືທີ່ໃຊ້ໃນຄໍາຖະແຫຼງການ DATA. ຕົວຢ່າງຂອງ
syntax ແມ່ນ
INTEGER N / 100 /
ຮູບແບບການປະກາດເບື້ອງຕົ້ນອັນນີ້ບໍ່ຖືກຮັບຮອງເອົາໃນ Fortran 90. ດັ່ງກ່າວ
ການປະກາດຄວນຈະຖືກຂຽນໂດຍໃຊ້ແບບຟອມມາດຕະຖານທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້, ເຊິ່ງແມ່ນ
ຍອມຮັບໂດຍ ftnchek.

ມີການສະຫນັບສະຫນູນຈໍາກັດສໍາລັບການປະກາດປະເພດທີ່ອີງໃສ່ຄຸນລັກສະນະ Fortran 90. ນີ້
style of declaration is distinguished by using a double colon (::) ລະ​ຫວ່າງ the
ບັນຊີລາຍຊື່ຂອງຄຸນລັກສະນະແລະບັນຊີລາຍຊື່ຂອງຕົວແປທີ່ປະກາດ. ຄຸນນະສົມບັດທີ່ສະຫນັບສະຫນູນອາດຈະ
ພຽງພໍສໍາລັບນັກຂຽນໂປລແກລມຈົວ, ແຕ່ຍັງບໍ່ພຽງພໍສໍາລັບມືອາຊີບ-
ໂຄງ​ການ Fortran 90 ຄຸນ​ນະ​ພາບ​. ຂ້ອຍຫວັງວ່າຈະເພີ່ມການສະຫນັບສະຫນູນສໍາລັບຄຸນສົມບັດເພີ່ມເຕີມໃນອະນາຄົດ
ການປ່ອຍ. ຂ້າ​ພະ​ເຈົ້າ​ຂໍ​ເຊື້ອ​ເຊີນ​ອາ​ສາ​ສະ​ຫມັກ​ທີ່​ຈະ​ຊ່ວຍ​ໃນ​ວຽກ​ງານ​ນີ້. ເບິ່ງໄຟລ໌ ToDo ໃນ
ການແຈກຢາຍລະຫັດແຫຼ່ງສໍາລັບລາຍລະອຽດ. ຄຸນລັກສະນະທີ່ຍອມຮັບໃນປັດຈຸບັນ, ນອກຈາກນັ້ນ
ທຸກປະເພດຂໍ້ມູນປົກກະຕິ, ແມ່ນ DIMENSION, ພາຍນອກ, ພາຍໃນ, PARAMETER, ແລະ SAVE.
ຮູບແບບໃຫມ່ຂອງການປະກາດຍັງອະນຸຍາດໃຫ້ມອບຫມາຍມູນຄ່າໃຫ້ກັບຕົວແປ
ປະກາດ. ໃນປັດຈຸບັນ, (LEN =ມູນຄ່າ) ຮູບແບບການລະບຸຄວາມຍາວຂອງຕົວອັກສອນແມ່ນຄືກັນ
ຍອມຮັບ. ປະເພດສະເພາະ, ການນໍາໃຊ້ (KIND=ມູນຄ່າ) ຖືກວິເຄາະແຕ່ບໍ່ແມ່ນ
ປຸງແຕ່ງ: ທຸກປະເພດຖືກປະຕິບັດເປັນປະເພດເລີ່ມຕົ້ນ. ນອກຈາກນີ້, ມີການກວດສອບພຽງເລັກນ້ອຍ
ຂອງການປະກາດເຫຼົ່ານີ້ນອກເຫນືອຈາກ syntax ພື້ນຖານ.

ຟັງຊັນພາຍໃນທີ່ບໍ່ໄດ້ມາດຕະຖານຫຼາຍທີ່ພົບເຫັນທົ່ວໄປໄດ້ຖືກສະຫນອງໃຫ້. ເບິ່ງ
ການສົນທະນາຂອງ - ພາຍໃນ ສໍາລັບບັນຊີລາຍຊື່ຂອງຫນ້າທີ່ແລະວິທີການຄວບຄຸມອັນໃດເປັນ
ຮັບຮູ້.

ການກວດສອບການໂຕ້ຖຽງແມ່ນບໍ່ເຄັ່ງຄັດສໍາລັບ intrinsics nonstandard ເຫຼົ່ານັ້ນທີ່ເອົາ arrays ຫຼື
ປະ​ເພດ​ການ​ໂຕ້​ຖຽງ​ປະ​ສົມ​.

ftnchek ອະ​ນຸ​ຍາດ​ໃຫ້​ຄໍາ​ຖະ​ແຫຼງ​ການ INCLUDE​, ເຊິ່ງ​ເຮັດ​ໃຫ້​ເກີດ​ການ​ລວມ​ຂອງ​ຂໍ້​ຄວາມ​ຂອງ​
ໄຟລ໌ທີ່ໃຫ້. syntax ແມ່ນ
ຮວມ 'ຊື່​ເອ​ກະ​ສານ'
ນີ້ແມ່ນເຫມາະສົມກັບ Fortran 90. ຖ້າຫາກວ່າ -source=vms-ລວມ ທາງ​ເລືອກ​ແມ່ນ​ໄດ້​ຮັບ​,
ftnchek ປະຕິບັດຕາມສົນທິສັນຍາ VMS ກ່ຽວກັບຄໍາຖະແຫຼງການນີ້: ມັນສົມມຸດ a
ສ່ວນຂະຫຍາຍເລີ່ມຕົ້ນຂອງ .ສໍາລັບ ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ມີ​ການ​ຂະ​ຫຍາຍ​ຊື່​ໄຟລ​໌​ແມ່ນ​ໄດ້​ຮັບ​ການ​ໃຫ້​, ແລະ​ອະ​ນຸ​ຍາດ​ໃຫ້​
qualifier /[NO]LIST ຕໍ່​ໄປ​ນີ້​ຊື່​ໄຟລ​໌​, ເພື່ອ​ຄວບ​ຄຸມ​ລາຍ​ການ​ຂອງ​ການ​ລວມ​
ໄຟລ໌. ບໍ່ມີການສະຫນັບສະຫນູນສໍາລັບການລວມເອົາໂມດູນຂໍ້ຄວາມ VMS.

ໃນ​ຜົນ​ຜະ​ລິດ​ວິ​ນິດ​ໄສ​ທີ່​ກ່ຽວ​ຂ້ອງ​ກັບ​ລາຍ​ການ​ທີ່​ມີ​ຢູ່​ໃນ​ປະ​ກອບ​ມີ​ໄຟລ​໌​, ສະ​ຖານ​ທີ່​ຂອງ​
ຄວາມ​ຜິດ​ພາດ​ແມ່ນ​ໄດ້​ລະ​ບຸ​ໄວ້​ໂດຍ​ທັງ​ສອງ​ສະ​ຖານ​ທີ່​ຂອງ​ຕົນ​ໃນ​ການ​ລວມ​ໄຟລ​໌​ແລະ​ສະ​ຖານ​ທີ່​ໃນ​
ໄຟລ໌ແມ່ບ່ອນທີ່ໄຟລ໌ໄດ້ຖືກລວມເຂົ້າ.

ftnchek ຍອມຮັບຄຳຖະແຫຼງ PARAMETER ທີ່ຂາດວົງເລັບ. ສິ່ງເຫຼົ່ານີ້ຈະຖືກເຕືອນ
ກ່ຽວກັບວ່າ -f77=param-noparen ທຸງຖືກມອບໃຫ້.

ftnchek ຍອມຮັບຄໍານິຍາມ PARAMETER ທີ່ກ່ຽວຂ້ອງກັບຫນ້າທີ່ພາຍໃນແລະ
exponentiation ໂດຍ exponent ທີ່ບໍ່ແມ່ນຈໍານວນເຕັມ. ທັງສອງກໍລະນີເຫຼົ່ານີ້ແມ່ນຫ້າມໂດຍ
ມາດຕະຖານ Fortran 77, ແລະຈະໄດ້ຮັບການເຕືອນກ່ຽວກັບການຖ້າຫາກວ່າ -f77=param-intrinsic ທຸງ
ແມ່ນໃຫ້. ຖ້າຄ່າຂອງຟັງຊັນພາຍໃນເປັນຄ່າຄົງທີ່ຂອງຈຳນວນເຕັມເວລາລວບລວມ,
ftnchek ຈະ​ປະ​ເມີນ​ມັນ​. ນີ້ອະນຸຍາດໃຫ້ກວດສອບທີ່ດີກວ່າຖ້າພາລາມິເຕີຖືກນໍາໃຊ້ໃນ
ປະກາດຂະຫນາດ array. Fortran 90 ອະນຸຍາດໃຫ້ປະຕິບັດຫນ້າພາຍໃນ PARAMETER
ຄໍານິຍາມ.

ຫນ້າທີ່ພາຍໃນທີ່ຖືກປະເມີນແມ່ນ:

ABS IABS DIM IDIM MAX
MAX0 MIN MIN0 MOD Sign
ISIGN LEN ICHAR Index

ໜ້າທີ່ຂອງອາກິວເມັນຈຳນວນເຕັມແມ່ນປະເມີນພຽງແຕ່ຖ້າອາກິວເມັນເປັນຈຳນວນເຕັມເທົ່ານັ້ນ
ການສະແດງອອກຄົງທີ່. (ສິ່ງເຫຼົ່ານີ້ອາດຈະກ່ຽວຂ້ອງກັບຄ່າຄົງທີ່ integer, ຕົວກໍານົດການ, ແລະ
ການປະເມີນຫນ້າທີ່ພາຍໃນ.) ຟັງຊັນ LEN ຖືກປະເມີນຖ້າຫາກວ່າການໂຕ້ຖຽງຂອງມັນແມ່ນ.
ການສະແດງອອກທີ່ມີພຽງແຕ່ຄ່າຄົງທີ່ຂອງຕົວອັກສອນແລະຕົວແປທີ່ບໍ່ມີຄວາມຍາວ
ປັບໄດ້. ຟັງຊັນ ICHAR ແລະ INDEX ຖືກປະເມີນພຽງແຕ່ຖ້າການໂຕ້ຖຽງເທົ່ານັ້ນ
ຄົງຕົວ. ftnchek ໃຫ້ຄໍາເຕືອນຖ້າຫາກວ່າມັນຕ້ອງການມູນຄ່າຂອງບາງ
ຫນ້າທີ່ພາຍໃນທີ່ບໍ່ໄດ້ຖືກປະເມີນ.

NEW ຄຸນ​ລັກ​ສະ​ນະ


ນີ້ແມ່ນການປ່ຽນແປງຈາກ Version 3.2 ເຖິງ Version 3.3:

1. Front-end ໄດ້ຖືກຂຽນຄືນໃຫມ່ສໍາລັບການເບິ່ງບໍ່ຈໍາກັດ, ກໍາຈັດແມງໄມ້ທີ່ຍາວນານ.
ທີ່ເຮັດໃຫ້ເກີດການຕີຄວາມບໍ່ຖືກຕ້ອງຂອງຄໍາຖະແຫຼງທີ່ບໍ່ມີຄວາມຊັດເຈນທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂ
ເສັ້ນທໍາອິດ.

2. ໄດ້ -mkhtml ດຽວນີ້ທາງເລືອກແມ່ນມີຢູ່ໃນລຸ້ນ MS-DOS.

3. ເພີ່ມການສະຫນັບສະຫນູນສໍາລັບ Fortran 90 syntax ທີ່ກ່ຽວຂ້ອງກັບຕົວຊີ້: ALLOCATE, DEALLOCATE, ແລະ NULLIFY
ຖະແຫຼງການ; ຄຸນລັກສະນະການຈັດສັນ, ຕົວຊີ້ ແລະເປົ້າໝາຍໃນການປະກາດປະເພດ; ໄດ້
ຕົວປະຕິບັດການການມອບຫມາຍຕົວຊີ້ => ແລະຫນ້າທີ່ພາຍໃນທີ່ຈັດສັນແລະເຊື່ອມໂຍງ; ແລະ
deferred-shape array ປະກາດ. ໃນປັດຈຸບັນຄຸນນະສົມບັດ syntax ໃຫມ່ເຫຼົ່ານີ້ແມ່ນໄດ້ຮັບການຍອມຮັບ
ແຕ່ບໍ່ໄດ້ກວດສອບຢ່າງຖືກຕ້ອງ. ຄຸນສົມບັດນີ້ໄດ້ຖືກເພີ່ມໂດຍ Robert Landrito.

4. ໄດ້ -f77 ແລະ -f90 ຕົວຊີ້ ທາງເລືອກຄວບຄຸມການເຕືອນກ່ຽວກັບ ``ຕົວຊີ້ Cray'' ໄດ້
ປ່ຽນຊື່ເປັນ cray-pointer. ໄດ້ -f77=ຕົວຊີ້ ທາງເລືອກໃນປັດຈຸບັນແທນທີ່ຈະຄວບຄຸມການເຕືອນໄພສໍາລັບ
ລະຫັດທີ່ມີໄວຍະກອນທີ່ກ່ຽວຂ້ອງກັບຕົວຊີ້ Fortran 90.

5. ປະຕິບັດຄືນໃຫມ່ -mkhtml ການປະມວນຜົນດັ່ງນັ້ນມັນປະຈຸບັນໄວຂຶ້ນຫຼາຍໃນໄຟລ໌ແຫຼ່ງທີ່ບັນຈຸ
ປົກກະຕິຫຼາຍ.

6. ມີການປ່ຽນແປງການຈັດລຽງຂອງລາຍການການທົດສອບດັ່ງນັ້ນບໍ່ຈໍາເປັນຕ້ອງມີການດັດແກ້ໃດໆ
ການແຈກຢາຍເພື່ອແລ່ນຊຸດທົດສອບ (check.bat) ພາຍໃຕ້ MS-DOS.

7. ແກ້ໄຂຂໍ້ບົກພ່ອງໃນການອ່ານການຕັ້ງຄ່າຕົວເລກໃນແຖວຄໍາສັ່ງເມື່ອຕັ້ງຊື່ຫຍໍ້ເປັນ
3 ຕົວອັກສອນ.

8. ແກ້ໄຂຂໍ້ບົກພ່ອງທີ່ເຮັດໃຫ້ເກີດການເຕືອນໄພ GOTO ທີ່ອ້າງອີງໃສ່ປ້າຍກຳກັບ END
ເມື່ອຄຳຖະແຫຼງກ່ອນ END ເປັນ FORMAT.

9. ທຸງໃໝ່ -f77=ລັກສະນະ ເພື່ອ​ຄວບ​ຄຸມ​ການ​ເຕືອນ​ໄພ​ກ່ຽວ​ກັບ​ການ​ຂະ​ຫຍາຍ Fortran 77​
ປະເພດຂໍ້ມູນຕົວອັກສອນ. ມາພ້ອມກັບທຸງຊາດໃຫມ່ນີ້ແມ່ນສະຫນັບສະຫນູນກົດລະບຽບ Fortran 90 ສໍາລັບ
ການປະກາດຕົວແປຕົວອັກສອນທີ່ປະເມີນເປັນສູນ ຫຼືຄວາມຍາວລົບ, ອະນຸຍາດ
ພວກມັນແລະປະຕິບັດຄ່າຄວາມຍາວລົບເປັນສູນ.

10. ແກ້ໄຂຂໍ້ບົກພ່ອງເລັກນ້ອຍໃນການພິມຄໍາຄິດເຫັນແລະເສັ້ນເປົ່າດັ່ງຕໍ່ໄປນີ້ຄໍາຖະແຫຼງສຸດທ້າຍ END
in -list mode

ໃຊ້ ftnchek ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net



ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌