Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

ftnchek - Trực tuyến trên đám mây

Chạy ftnchek trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh ftnchek có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


ftnchek - trình kiểm tra chương trình Fortran 77

SYNOPSIS


ftnchek [ -tranh luận[= ]] [ -mảng[= ]]
[ -[Không]ngắn gọn ] [ -calltree[= ]] [ -[Không]kiểm tra ]
[ -cột[=num]] [ -chung[= ]]
[ -[Không]chéo[= ]] [ -[Không]khai ]
[ -[Không]phân chia ] [ -srors[=num]] [ -[Không]bên ngoài ]
[ -[Không]f77[= ]] [ -[Không]f90[= ]]
[ -[Không]f95[= ]] [ -[Không]giúp đỡ ]
[ -[Không]mã định danh[= ]] [ -bao gồm =str ]
[ -Nội tại[= ]] [ -[Không]thư viện ] [ -[Không] ]
[ -madecls[= ]] [ -mkhtml[= ]]
[ -[Không]người mới ] [ -output =str ]
[ -con trỏ[=num]] [ -[Không]tính di động[= ]]
[ -[Không]khá[= ]] [ -dự án[= ]]
[ -[Không]tinh khiết ] [ -[Không]yên tĩnh ] [ -[Không]tài liệu tham khảo ]
[ -[Không]tài nguyên ] [ -[Không]sáu tăng ] [ -[Không]loại ]
[ -Source[= ]] [ -Phong cách[= ]] [ -[Không]biểu tượng ]
[ -[Không]sự cắt bớt[= ]] [ -sử dụng[= ]]
[ -[Không]vg ] [ -[Không]phiên bản ] [ -[Không]Dễ bay hơi ]
[ -Kích thước từ[=num]] [ -bọc[=num]] [ các tập tin hữu ích. Cảm ơn ! ]

MÔ TẢ


ftnchek (viết tắt của Fortran checker) được thiết kế để phát hiện một số lỗi nhất định trong Fortran
chương trình mà một trình biên dịch thường không làm. ftnchek chủ yếu không nhằm mục đích phát hiện
lỗi cú pháp. Mục đích của nó là hỗ trợ người dùng tìm lỗi ngữ nghĩa. Ngữ nghĩa
lỗi là hợp pháp trong ngôn ngữ Fortran nhưng lãng phí hoặc có thể gây ra lỗi không chính xác
hoạt động. Ví dụ: các biến không bao giờ được sử dụng có thể chỉ ra một số thiếu sót trong
chương trình; các biến chưa được khởi tạo chứa rác có thể gây ra kết quả không chính xác
tính toán; và các biến không được khai báo có thể không có kiểu dự định. ftnchek
nhằm hỗ trợ người dùng gỡ lỗi chương trình Fortran của họ. Nó không có ý định
để bắt tất cả các lỗi cú pháp. Đây là chức năng của trình biên dịch. Trước khi sử dụng
ftnchek, người dùng nên xác minh rằng chương trình biên dịch chính xác.

Tài liệu này trước tiên tóm tắt cách gọi ftnchek. Phần đó nên đọc trước
bắt đầu sử dụng ftnchek. Phần sau mô tả ftnchekcác tùy chọn chi tiết hơn, đưa ra
một ví dụ về việc sử dụng nó và giải thích cách diễn giải đầu ra. Những phần cuối cùng
đề cập đến những hạn chế và lỗi đã biết trong ftnchek.

KÊU GỌI FTNCHEK


ftnchek được gọi thông qua một lệnh có dạng:

$ ftnchek [-option -option ...] tên tệp [tên tệp ...]

Các dấu ngoặc cho biết một cái gì đó là tùy chọn. Bản thân các dấu ngoặc không phải là
thực sự đã đánh máy. Ở đây các tùy chọn là các công tắc hoặc cài đặt dòng lệnh, điều khiển
hoạt động của chương trình và lượng thông tin sẽ được in ra. Nếu không
tùy chọn được chỉ định, hành động mặc định là in thông báo lỗi, cảnh báo và
thông báo thông tin, nhưng không phải là danh sách chương trình hoặc bảng biểu tượng.

Mỗi tùy chọn bắt đầu bằng ký tự '-'. (Trên hệ thống VAX / VMS hoặc MS-DOS, bạn có thể sử dụng
hoặc '/' hoặc '-'.) Vì lợi ích của việc phù hợp với quy ước ngày càng phổ biến,
các tùy chọn cũng có thể bắt đầu bằng '-'. Các tùy chọn được mô tả ở độ dài lớn hơn trong phần tiếp theo
phần.

ftnchek các tùy chọn chia thành hai loại: công tắc, đúng hoặc sai và
cài đặt có giá trị số hoặc chuỗi. Tên của một công tắc có tiền tố là 'không'
hoặc 'no-' để tắt nó đi: ví dụ: -pure sẽ tắt các cảnh báo về các hàm không tinh khiết.
Tiền tố 'không' cũng có thể được sử dụng với cài đặt số, có tác dụng tắt
các cảnh báo tương ứng. Cài đặt kiểm soát danh sách cảnh báo có cú pháp đặc biệt
thảo luận dưới đây. Chỉ 3 ký tự đầu tiên của tên tùy chọn (không tính dấu '-')
cần được cung cấp. Dấu hai chấm có thể được sử dụng thay cho dấu bằng cho số hoặc chuỗi
thiết lập các nhiệm vụ; tuy nhiên, chúng tôi chỉ hiển thị biểu mẫu dấu bằng bên dưới.

Các công tắc và cài đặt ftnchek hiện công nhận được liệt kê dưới đây. Cho mỗi
tùy chọn, mặc định là giá trị được sử dụng nếu tùy chọn không được chỉ định rõ ràng, trong khi
turn-on là giá trị được sử dụng nếu tùy chọn được cung cấp mà không gán giá trị cho nó.

-các đối số =
Kiểm soát cảnh báo về kiểu chương trình con và đối số không khớp. Mặc định = bật
= tất cả.

-array =
Cảnh báo điều khiển trong việc kiểm tra đối số mảng của chương trình con. Mặc định = bật =
tất cả các.

-ngắn gọn Sử dụng định dạng ngắn hơn cho một số thông báo lỗi. Mặc định = không.

-calltree =
Tạo ra phân cấp cuộc gọi chương trình con ở một trong 3 định dạng: văn bản gọi cây, ai gọi-
ai và VCG. Mặc định = không có, bật = cây, cắt tỉa, sắp xếp.

Nếu -mkhtml tùy chọn được gọi cây là tùy chọn calltree được áp dụng, một tệp
có tên là CallTree.html, sẽ được tạo mô tả cây ở định dạng HTML.

-kiểm tra Thực hiện kiểm tra. Mặc định = có.

-columns =num
Đặt độ dài dòng tối đa thành num cột. (Ngoài ra, điều này sẽ bị bỏ qua.) Turn-on = max =
132. Mặc định = 72.

-thường =
Đặt mức độ nghiêm ngặt trong việc kiểm tra các khối COMMON. Mặc định = bật = tất cả.

-crossref =
In danh sách tham chiếu chéo về các lệnh gọi chương trình con, cách sử dụng nhãn và / hoặc khối COMMON
sử dụng. Mặc định = không có.

-tuyên bố
In danh sách tất cả các số nhận dạng có kiểu dữ liệu không được khai báo rõ ràng. Vỡ nợ
= không.

-phân công
Cảnh báo bất cứ nơi nào thực hiện phép chia (trừ phép chia cho một hằng số). Mặc định = không.

-errors =num
Đặt số lượng thông báo lỗi tối đa cho mỗi tầng. Mặc định = bật = 3.

-bên ngoài
Cảnh báo nếu các chương trình con bên ngoài được gọi không bao giờ được xác định. Mặc định = có.

-f77 =
Kiểm soát các cảnh báo cụ thể về các tiện ích mở rộng được hỗ trợ đối với Tiêu chuẩn Fortran 77.
Mặc định = không, bật = tất cả.

-f90 =
Kiểm soát các cảnh báo cụ thể về các tiện ích mở rộng được hỗ trợ cho Tiêu chuẩn Fortran 77
không được chấp nhận như một phần của Tiêu chuẩn Fortran 90. Mặc định = không có, bật
= tất cả.

-f95 =
Kiểm soát các cảnh báo cụ thể về các tính năng tiêu chuẩn của Fortran 77 đã bị xóa khỏi
Tiêu chuẩn Fortran 95. Mặc định = không, bật = tất cả.

-Cứu giúp Tóm tắt lệnh in. Mặc định = không.

-identifier-chars =
Xác định các ký tự không phải chữ và số có thể được sử dụng trong số nhận dạng. Mặc định =
turn-on = ký hiệu đô la và dấu gạch dưới.

-bao gồm =con đường
Xác định thư mục để tìm kiếm các tệp INCLUDE trước khi tìm kiếm trong toàn hệ thống
danh mục. Tích lũy. Mặc định = bật = không có.

-nội tại =
Kiểm soát điều trị các chức năng nội tại không đạt tiêu chuẩn. Mặc định = tất cả ngoại trừ vms cho
Phiên bản Unix, tất cả ngoại trừ unix đối với phiên bản VMS, tất cả ngoại trừ unixvms cho người khác
các phiên bản. Bật-tắt = tất cả.

-thư viện
Bắt đầu chế độ thư viện: không cảnh báo về các chương trình con trong tệp được xác định nhưng
không bao giờ được sử dụng. Mặc định = không.

-danh sách In danh sách nguồn của chương trình. Mặc định = không.

-makedcls =
Lập hồ sơ tờ khai. Các chỉ định các tùy chọn cho định dạng này
tập tin. Mặc định = không, bật = khai báo.

-mkhtml =
Tạo các tệp tài liệu HTML riêng lẻ từ phân tích ftnchek và nhận xét mã.
Thông thường, bạn cũng sẽ muốn chỉ định -call = cây để tạo tệp HTML gốc
CallTree.html. Mặc định = không có, bật = tài liệu.

-nội dung
Cho đầu ra phù hợp với người dùng mới làm quen. Mặc định = có.

-output =tên tập tin
Gửi đầu ra cho tệp đã cho. Mặc định và bật sẽ gửi kết quả ra màn hình.
(Phần mở rộng tên tệp mặc định là .lis).

-pointersize =num
Đặt kích thước của các biến `` Cray pointer '' thành num byte. Tối thiểu = 1, tối đa = 16.
Mặc định = turn-on = 4

-khả năng di chuyển =
Cảnh báo về cách sử dụng không di động. Mặc định = không, bật = tất cả.

-pretty =
Đưa ra các cảnh báo về sự xuất hiện có thể gây hiểu lầm của mã nguồn. Mặc định = lượt-
trên = tất cả.

-dự án =
Tạo tệp dự án (xem giải thích bên dưới). Mặc định = không.

-nguyên chất Giả sử các chức năng là tinh khiết, tức là không có tác dụng phụ. Mặc định = có.

-Yên lặng Sản xuất đầu ra ít dài dòng hơn. Mặc định = không.

-tài liệu tham khảo
In bảng các chương trình con được tham chiếu bởi mỗi chương trình con. Mặc định = không.

-tài nguyên
In số lượng tài nguyên được sử dụng để phân tích chương trình. Mặc định = không.

-sáu ký tự
Liệt kê bất kỳ tên biến nào xung đột với độ dài 6 ký tự. Mặc định = không.

-loại In danh sách các chương trình con được sắp xếp theo thứ tự tiên quyết. Mặc định = không.

-nguồn =
Chọn các tùy chọn định dạng nguồn: dạng cố định hoặc dạng tự do, định dạng theo tab DEC Fortran
dòng, câu lệnh INCLUDE kiểu VMS, chuỗi thoát dấu gạch chéo ngược kiểu UNIX và
nhập ngầm các tham số. Mặc định = không, bật = tất cả.

-style =
Đưa ra các cảnh báo cực kỳ kén chọn về chương trình lỗi thời hoặc lỗi thời
công trình xây dựng. Mặc định = không, bật = tất cả.

-biểu tượng
In bảng ký hiệu và bảng nhãn cho từng chương trình con. Mặc định = không.

-truncation =
Kiểm tra xem có thể mất độ chính xác bằng cách cắt bớt. Mặc định = bật = tất cả.

-sage =
Kiểm soát cảnh báo về các biến không sử dụng hoặc chưa được khởi tạo, các khối phổ biến, v.v.
Mặc định = bật = tất cả.

-vcg Sản xuất định dạng VCG của đồ thị cuộc gọi.

-phiên bản
Số phiên bản in. Mặc định = không.

-bay hơi
Giả sử các khối COMMON mất định nghĩa giữa các lần kích hoạt. Mặc định = không. (Đã lỗi thời.
Sử dụng -common = dễ bay hơi thay thế.)

-wordsize =num
Đặt kích thước từ mặc định cho số lượng thành num byte. Mặc định = bật =
4 byte.

-wrap =num
Đặt cột đầu ra để gói các thông báo lỗi dài và cảnh báo cho phần tiếp theo
hàng. Nếu được đặt thành 0, hãy tắt gói. Mặc định = bật = 79.

Khi nhiều tùy chọn được sử dụng, chúng phải được phân tách bằng khoảng trống, ngoại trừ bật
các hệ thống như VMS trong đó các tùy chọn bắt đầu bằng dấu gạch chéo (/). Không có khoảng trống nào có thể được đặt
xung quanh dấu bằng (=) trong một cài đặt. ftnchek "?" sẽ tạo ra một bản tóm tắt lệnh
liệt kê tất cả các tùy chọn và cài đặt.

Đối với các cài đặt có danh sách các từ khóa, cụ thể là -tranh luận, -mảng, -calltree, -chung,
-crossref, -f77, -f90, -f95, -Nội tại, -madecls, -mkhtml, -khả năng di chuyển, -đẹp,
-dự án, -Source, -Phong cách, -cắt ngắn-sử dụng, danh sách bao gồm các từ khóa
ngăn cách nhau bằng dấu phẩy hoặc dấu hai chấm. Nếu danh sách từ khóa bị bỏ qua, thì hiệu quả là đặt
tùy chọn cho giá trị bật của nó (giống như `` tất cả '' trong hầu hết các trường hợp). Ngoài ra, nếu danh sách
bỏ qua, tên cài đặt có thể được bắt đầu bằng Không or không- để tắt tất cả các tùy chọn nó
điều khiển. Ví dụ, -f77 bật tất cả cảnh báo về các công trình xây dựng không đạt tiêu chuẩn, trong khi
-nof77 tắt tất cả. Ba từ khóa đặc biệt là:

giúp đỡ In ra tất cả các từ khóa tùy chọn được kiểm soát bởi cài đặt, với một bản tóm tắt
giải thích ý nghĩa của chúng. Từ khóa này không thể được đưa ra trong danh sách với từ khóa khác
từ khóa.

tất cả các Đặt tất cả các tùy chọn. Điều này sẽ bật tất cả các tùy chọn được kiểm soát bởi cài đặt.

không ai Xóa tất cả các tùy chọn. Thao tác này sẽ tắt tất cả các tùy chọn do cài đặt kiểm soát.

Ba từ khóa đặc biệt này phải được cung cấp đầy đủ. Đối với tất cả các từ khóa khác, chỉ có nhiều
các chữ cái của từ khóa cần thiết để xác định nó một cách rõ ràng cần được đưa ra, hoặc
mẫu ký tự đại diện có thể được sử dụng. Bao gồm một từ khóa trong danh sách sẽ biến
tùy chọn trên. Ví dụ, -f77 = nội tại sẽ chỉ bật các cảnh báo về việc sử dụng
các chức năng nội tại không tiêu chuẩn. Đặt tiền tố từ khóa bằng không- tắt tùy chọn của nó. Vì
thí dụ, -pretty = no-long-line tắt cảnh báo về các dòng vượt quá 72 cột trong
độ dài trong khi vẫn có hiệu lực tất cả các cảnh báo khác về sự xuất hiện gây hiểu lầm. Nếu một
cài đặt có mặc định không ai, bạn có thể bật tất cả các tùy chọn ngoại trừ một hoặc hai bằng cách sử dụng tất cả các
đầu tiên. Ví dụ, -f77 = tất cả, không bao gồm bật cảnh báo về tất cả các tiện ích mở rộng không chuẩn
ngoại trừ các câu lệnh INCLUDE. Nếu một cài đặt có mặc định tất cả các, bạn có thể tắt tất cả các cảnh báo
ngoại trừ một hoặc hai bằng cách sử dụng không ai đầu tiên. Ví dụ, -truncation = không có, cách chức sẽ quay lại
tắt tất cả các cảnh báo liên quan đến độ chính xác ngoại trừ về cách chức. Các mẫu ký tự đại diện chứa một
dấu hoa thị đại diện cho bất kỳ chuỗi ký tự nào. Nếu một mẫu ký tự đại diện được sử dụng, tất cả
cảnh báo phù hợp với nó bị ảnh hưởng. Nếu như không- là tiền tố cho mẫu, tất cả các kết quả phù hợp
cảnh báo bị tắt, nếu không, tất cả chúng đều được bật. Chiều dài rõ ràng tối thiểu
quy tắc không áp dụng cho đối sánh ký tự đại diện. Ví dụ, sử dụng -usage = no- * var * để tắt
tất cả các cảnh báo liên quan đến việc sử dụng thay đổi (cả cục bộ và chung). (Người dùng Unix có thể cần
trích dẫn bất kỳ tùy chọn nào có chứa các ký tự đại diện để ngăn trình bao cố gắng
mở rộng chúng.) Các ký tự đại diện chỉ được nhận dạng trong danh sách các từ khóa cảnh báo, không có trong đầu-
các tùy chọn mức độ của chính họ.

Thời Gian ftnchek khởi động, nó tìm kiếm các biến môi trường và cả các tùy chọn
tập tin. Bất kỳ tùy chọn nào được xác định trong môi trường hoặc trong tệp tùy chọn đều được sử dụng như
các giá trị mặc định thay cho các giá trị mặc định được tích hợp sẵn. Họ bị khống chế bởi bất kỳ dòng lệnh nào
tùy chọn. Xem phần thay đổi giá trị mặc định để biết chi tiết về môi trường
tùy chọn và tệp tùy chọn.

Khi đặt tên cho tệp đầu vào, phần mở rộng là tùy chọn. Nếu không có phần mở rộng nào được đưa ra,
ftnchek trước tiên sẽ tìm kiếm một tệp dự án có phần mở rộng .prjvà sẽ sử dụng nó nếu nó
tồn tại. Nếu không thì ftnchek sẽ tìm kiếm tệp nguồn Fortran có phần mở rộng .cho
đối với hệ thống VMS, .f cho hệ thống UNIX. Nhiều tên tệp có thể được cấp cho ftnchek,
và nó sẽ xử lý các mô-đun trong tất cả các tệp như thể chúng ở trong một tệp duy nhất.

Các ký tự đại diện được phép trong đặc điểm kỹ thuật của tên tệp trên dòng lệnh cho VMS
và các phiên bản MS-DOS, tất nhiên cũng theo UNIX và bất kỳ hệ thống nào khác hoạt động
mở rộng ký tự đại diện trong bộ xử lý lệnh.

Nếu không có tên tệp nào được cung cấp, ftnchek sẽ đọc đầu vào từ đầu vào chuẩn.

LỰA CHỌN


Phần này cung cấp một cuộc thảo luận chi tiết hơn về ftnchek các tùy chọn dòng lệnh. Tùy chọn
và tên tệp có thể được xen kẽ trên một dòng lệnh. Hầu hết các tùy chọn đều có vị trí: mỗi
tùy chọn vẫn có hiệu lực kể từ thời điểm nó gặp phải cho đến khi nó bị ghi đè bởi
thay đổi sau. Vì vậy, ví dụ: danh sách có thể bị chặn đối với một số tệp và không
khác. Các trường hợp ngoại lệ là: -Nội tại, -con trỏ-Kích thước từ cài đặt, mà
không thể thay đổi sau khi quá trình xử lý tệp đầu vào đã bắt đầu; NS -tranh luận, -mảng,
-calltree, -chung, -crossref, -bên ngoài, -tài liệu tham khảo, -tài nguyên, -loại, -vcg-bay hơi
tùy chọn, trong đó hành động chỉ phụ thuộc vào giá trị của tùy chọn sau khi xử lý
tập tin đầu vào đã hoàn thành; và bao gồm cài đặt, được tích lũy.

Các tên tùy chọn trong danh sách sau theo thứ tự bảng chữ cái.

-các đối số =
Kiểm soát các cảnh báo về sự không khớp giữa các đối số chương trình con thực và giả,
và cả về sự không phù hợp giữa loại chương trình con dự kiến ​​và thực tế. (Một thực tế
đối số là một đối số được người gọi truyền đến chương trình con; một đối số giả là
một đối số được chương trình con nhận được.) Theo mặc định, tất cả các cảnh báo đều được bật.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Vì tất cả những
cảnh báo được bật theo mặc định, bao gồm một từ khóa có tiền tố là không- để tắt một
cảnh báo cụ thể. Có ba từ khóa đặc biệt: tất cả các để bật tất cả
cảnh báo về các đối số, không ai để tắt tất cả chúng, và giúp đỡ để in danh sách
tất cả các từ khóa với giải thích ngắn gọn về mỗi từ khóa. Nếu như bị bỏ qua, -tranh luận
tương đương với -arguments = all-Không có đối số tương đương với -arguments = không.
Các từ khóa cảnh báo với ý nghĩa của chúng như sau:

mảng:
cảnh báo về việc sử dụng không nhất quán các đối số là mảng. Những cảnh báo này có thể
được kiểm soát thêm bởi -mảng tùy chọn.

kiểu:
cảnh báo về các đối số giả của một kiểu dữ liệu khác với các đối số thực tế.

loại chức năng:
cảnh báo nếu lời gọi giả định giá trị trả về của hàm là một kiểu khác
hơn thực tế. Cũng cảnh báo nếu một hàm được gọi như một chương trình con, hoặc
ngược lại.

con số:
cảnh báo về việc gọi một chương trình con có số lượng đối số khác với
chương trình con mong đợi.

Để tương thích với các phiên bản trước của ftnchek, một dạng số của cái này
cài đặt cũng được chấp nhận: được thay thế bằng một số từ 0 đến 3. Giá trị của
0 tắt tất cả cảnh báo, 1 chỉ bật con số, 2 lần bật tất cả ngoại trừ con số,
và 3 bật tất cả các cảnh báo.

Cài đặt này không áp dụng cho việc kiểm tra các lệnh gọi của các chức năng nội tại hoặc
các hàm câu lệnh, chỉ có thể được tắt bởi -Không kiểm tra tùy chọn.

Xem thêm: -mảng, -thư viện, -sử dụng.

-array =
Kiểm soát mức độ nghiêm ngặt trong việc kiểm tra thỏa thuận giữa thực và giả
các đối số của chương trình con là mảng. Các cảnh báo được kiểm soát bởi cài đặt này là
đối với các công trình có thể được sử dụng một cách hợp pháp bởi một lập trình viên am hiểu,
nhưng điều đó thường chỉ ra lỗi lập trình. Theo mặc định, tất cả các cảnh báo đều được bật
vào.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Vì tất cả những
cảnh báo được bật theo mặc định, bao gồm một từ khóa có tiền tố là không- để tắt một
cảnh báo cụ thể. Có ba từ khóa đặc biệt: tất cả các để bật tất cả
cảnh báo về các đối số mảng, không ai để tắt tất cả chúng, và giúp đỡ để in
danh sách tất cả các từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như bị bỏ qua,
-mảng tương đương với -array = tất cả-noarray tương đương với -array = không có. Các
các từ khóa cảnh báo với ý nghĩa của chúng như sau:

kích thước:
cảnh báo nếu các đối số khác nhau về số thứ nguyên của chúng hoặc nếu thực tế
đối số là một phần tử mảng trong khi đối số giả là một mảng toàn bộ.

kích thước:
cảnh báo nếu cả hai đối số là mảng, nhưng chúng khác nhau về số phần tử.

Để tương thích với các phiên bản trước của ftnchek, một dạng số của cái này
cài đặt cũng được chấp nhận: được thay thế bằng một số từ 0 đến 3. Giá trị của
0 tắt tất cả cảnh báo, 1 chỉ bật kích thước, Chỉ bật 2 lần kích thước
3 bật tất cả các cảnh báo.

Lưu ý: Một cảnh báo luôn được đưa ra bất kể cài đặt này là gì nếu đối số thực sự
là một mảng trong khi đối số giả là một biến vô hướng hoặc nếu thực
đối số là một biến hoặc biểu thức vô hướng trong khi đối số giả là một mảng.
Những trường hợp này ít khi cố ý. (Để tắt ngay cả những cảnh báo này, hãy sử dụng
-arguments = no-arrayness.) Không có cảnh báo nào được đưa ra nếu đối số thực tế là
phần tử mảng trong khi đối số giả là một biến vô hướng. Có kích thước thay đổi
mảng và mảng có kích thước bằng 1 hoặc dấu hoa thị khớp với bất kỳ số mảng nào
các yếu tố. Không có kiểm tra xem các mảng nhiều chiều có đồng ý về kích thước hay không
của từng thứ nguyên riêng biệt.

Xem thêm: -tranh luận, -thư viện, -sử dụng.

-ngắn gọn
Chọn định dạng ngắn hơn cho một số thông báo cảnh báo. Hiện tại, cảnh báo duy nhất
được kiểm soát bởi cờ này là những thứ được in vào cuối quá trình xử lý mỗi
chương trình con. Chúng bao gồm các cảnh báo về các biến được đặt nhưng không được sử dụng hoặc
được sử dụng trước khi đặt, tên biến không phù hợp với tiêu chuẩn Fortran 77,
v.v. (Những cảnh báo này có thể bị chặn hoàn toàn tùy thuộc vào các cờ khác, chẳng hạn như
các -sử dụng or -f77 cờ.) Ở định dạng mặc định, mỗi biến được liệt kê trên một
dòng riêng biệt, cùng với số dòng nơi biến được khai báo, đặt hoặc
được sử dụng, theo bản chất của cảnh báo. Định dạng ngắn gọn chỉ liệt kê tất cả
các biến mà cảnh báo áp dụng, với tối đa 4 biến trên mỗi dòng.

Xem thêm: -Yên lặng.

-calltree =
Nguyên nhân ftnchek để in ra cấu trúc cuộc gọi của chương trình hoàn chỉnh.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có hai đặc biệt
từ khóa: không ai để tắt tất cả các tùy chọn và giúp đỡ để in danh sách tất cả
từ khóa với giải thích ngắn gọn về từng từ khóa. (Từ khóa tất cả các bật tất cả
tùy chọn, nhưng thường không nên được sử dụng vì chỉ nên sử dụng một định dạng
được chỉ định.) Nếu bị bỏ qua, -calltree tương đương với -calltree = cây
-nocalltree tương đương với -calltree = không. Theo mặc định, không có biểu đồ cuộc gọi nào được in.

Nếu tùy chọn -mkhtml được gọi cây là tùy chọn calltree được áp dụng, một tệp
có tên CallTree.html, cũng sẽ được sản xuất mô tả cây ở định dạng HTML. Cái này
tệp hữu ích như một điểm bắt đầu để duyệt các tệp HTML mô tả mỗi
thành phần của chương trình.

Các từ khóa kiểm soát định dạng nào được sử dụng như sau:

cây:
tạo biểu đồ cuộc gọi ở định dạng cây.

tài liệu tham khảo:
tạo biểu đồ cuộc gọi ở định dạng ai gọi ai (giống như -tài liệu tham khảo chuyển).

vg:
tạo biểu đồ cuộc gọi ở định dạng VCG (giống như -vcg chuyển).

Chỉ một trong các định dạng cây, tài liệu tham khảo, hoặc là vg có thể được chỉ định.

Các tùy chọn kiểm soát từ khóa sau ảnh hưởng đến kết quả đầu ra:

mận khô:
tỉa bớt các cây con lặp lại (chỉ áp dụng với cây). Đây là mặc định.

loại:
sắp xếp trẻ em của mỗi thói quen theo thứ tự bảng chữ cái. Đây là mặc định.

Xem cuộc thảo luận của -tài liệu tham khảo-vcg cờ để biết chi tiết về những
định dạng.

Trong cây định dạng, Biểu đồ cuộc gọi được in ra bắt đầu từ chương trình chính,
được liệt kê trên dòng đầu tiên ở lề trái. Sau đó, trên các dòng tiếp theo,
mỗi quy trình được gọi bởi chương trình chính được liệt kê, thụt vào một vài dấu cách, theo sau
bởi cây con bắt đầu từ thói quen đó.

Ở chế độ mặc định, nếu một quy trình được gọi bởi nhiều hơn một quy trình khác,
cây con cuộc gọi chỉ được in lần đầu tiên nó được gặp Các cuộc gọi sau này chỉ cung cấp
tên quy trình và thông báo `` (xem ở trên) ''. Để in cây con cho
mỗi lần xuất hiện của quy trình, sử dụng tùy chọn không cắt tỉa.

Lưu ý rằng cây cuộc gọi sẽ không hoàn chỉnh nếu bất kỳ tệp đầu vào nào là dự án
các tệp chứa nhiều hơn một mô-đun đã được tạo trong -thư viện chế độ. Xem
thảo luận về các tệp dự án bên dưới.

Điểm kỹ thuật: Mỗi danh sách các quy trình được gọi bởi một quy trình nhất định được in trong
thứ tự bảng chữ cái trừ khi không phân loại tùy chọn được đưa ra. Nếu nhiều chương trình chính
được tìm thấy, cây cuộc gọi của mỗi loại được in riêng biệt. Nếu không có chương trình chính
tìm thấy, một báo cáo về hiệu ứng đó được in ra và các cây lệnh gọi của bất kỳ cấp cao nhất nào
các quy trình không phải của thư viện được in ra. Cờ này chỉ kiểm soát việc in cuộc gọi
cây: ftnchek xây dựng cây cuộc gọi trong mọi trường hợp vì nó được sử dụng để xác định
những mô-đun thư viện nào sẽ được kiểm tra chéo. Xem cuộc thảo luận của -thư viện
cờ.

Để tương thích với các phiên bản trước của ftnchek, một dạng số của cái này
cài đặt cũng được chấp nhận: được thay thế bằng một số từ 0 đến 15. Điều này
số được hình thành từ 1 cho cây định dạng, 2 cho tài liệu tham khảo định dạng, hoặc 3 cho vg
định dạng, cộng 4 cho không cắt tỉavà 8 cho không phân loại.

Xem thêm: -crossref, -thư viện, -tài liệu tham khảo, -loại, -biểu tượng, -vcg.

-kiểm tra
Công tắc này được cung cấp để có thể tắt các thông báo lỗi và cảnh báo khi
ftnchek được sử dụng cho các mục đích khác ngoài việc tìm lỗi, chẳng hạn như khai báo
hoặc in cây cuộc gọi. Nó là vị trí, vì vậy sau khi tắt tất cả các kiểm tra,
kiểm tra đã chọn có thể được bật lại. Ảnh hưởng của -Không kiểm tra là đặt tất cả
công tắc, cài đặt số và cài đặt kiểm soát danh sách cảnh báo đến
tắt các giá trị, như thể tất cả chúng đã được chỉ định bằng tiền tố -no. Công tắc
và các cài đặt chỉ định các tùy chọn và phương thức hoạt động, thay vì kiểm soát
cảnh báo, không bị ảnh hưởng. đó là -cột, -crossref, bao gồm, -Nội tại,
-thư viện, -danh sách, -madecls, -nội dung, -đầu ra, -con trỏ, -dự án, -Yên lặng,
-tài liệu tham khảo, -tài nguyên, -loại, -Source, -biểu tượng, -vcg, -phiên bản, -Kích thước từ
-bọc. Mặc định = có.

Lỗi phân tích cú pháp (lỗi cú pháp do câu lệnh không được nhận dạng hoặc không đúng định dạng) không
bị chặn bởi công tắc này, vì kết quả có thể không chính xác nếu ftnchek chưa
đã phân tích cú pháp chương trình một cách chính xác.

Có một số lỗi linh tinh và thông báo cảnh báo không được kiểm soát bởi
bất kỳ công tắc nào khác và vì vậy chỉ có thể được tắt bằng công tắc này. Lưu ý rằng sử dụng
-kiểm tra tiếp theo -Không kiểm tra chỉ có tác dụng chuyển những cảnh báo đặc biệt này
bật lại, và không khôi phục tất cả các kiểm tra mà nó đã tắt. Những cảnh báo này là:

o Mô-đun không chứa câu lệnh thực thi.

o Ở dạng nguồn miễn phí, thiếu không gian cần có khoảng trống (ví dụ: giữa một
từ khóa và số nhận dạng) hoặc khoảng trống hiện diện ở những nơi không được phép (ví dụ: trong
một định danh).

o Đặc tả độ dài bằng XNUMX hoặc âm trong khai báo kiểu dữ liệu của biểu mẫu
gõ * len.

o (Các) toán hạng không hợp lệ trong một biểu thức.

o Mảng được gán cho vô hướng.

o Nhập không khớp giữa chỉ số DO và giới hạn.

o Khối chung không xác định được khai báo trong câu lệnh SAVE.

o Hàm nội tại được khai báo rõ ràng với kiểu không tương thích.

o Hàm nội tại không xác định được khai báo rõ ràng trong một câu lệnh INTRINSIC.

o Hàm nội tại được truyền dưới dạng đối số của chương trình con không được khai báo trong
Tuyên bố INTRINSIC.

o Hàm nội tại hoặc hàm câu lệnh được gọi không chính xác.

o Hàm không đặt giá trị trả về trước câu lệnh RETURN.

o Giá trị hằng số của tham số không được đánh giá (đây là ftncheklà lỗi, và nó chỉ là
thông báo cho bạn về thực tế).

o Điểm vào của chương trình con sau này được dùng làm tên của chương trình con khác.

o Từ khóa không xác định được sử dụng trong câu lệnh I / O.

o Tham chiếu nhãn bất hợp pháp (ví dụ: GOTO đề cập đến một câu lệnh không thực thi được; I / O
câu lệnh đề cập đến một câu lệnh không định dạng).

Xem thêm: -srors.

-columns =num
Đặt độ dài câu lệnh tối đa thành num cột. (Ngoài điều này bị bỏ qua.) Điều này
cài đặt được cung cấp để cho phép kiểm tra các chương trình có thể vi phạm Fortran
giới hạn tiêu chuẩn là 72 cột cho độ dài của một câu lệnh. Theo
tiêu chuẩn, tất cả các ký tự sau cột 72 đều bị bỏ qua. Nếu cài đặt này được sử dụng khi
các -f77 = dòng dài tùy chọn đang có hiệu lực, một cảnh báo sẽ được đưa ra cho bất kỳ dòng nào trong
những ký tự nào sau cột 72 được xử lý. Lượt bật = max = 132. Mặc định = 72.

Cài đặt này không ngăn chặn cảnh báo về sự hiện diện của các ký tự vượt quá
cột 72. Để xử lý mã với văn bản chương trình có ý nghĩa ngoài cột 72, hãy sử dụng
thiết lập và đảm bảo -f77 hàng dài tùy chọn bị tắt. Để xử lý mã với
số thứ tự trong cột 73 đến 80, hãy để cài đặt cột ở mặc định
giá trị và sử dụng -pretty = no-long-line cờ.

Xem thêm: -f77, -đẹp.

-thường =
Cài đặt này kiểm soát mức độ nghiêm ngặt của việc kiểm tra các khối COMMON. Theo mặc định, tất cả
cảnh báo ngoại trừ Dễ bay hơi được bật.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Vì hầu hết những
cảnh báo được bật theo mặc định, bao gồm một từ khóa có tiền tố là không- để tắt một
cảnh báo cụ thể. Có ba từ khóa đặc biệt: tất cả các để bật tất cả
cảnh báo, không ai để tắt tất cả chúng, và giúp đỡ để in danh sách tất cả các từ khóa
với một giải thích ngắn gọn về mỗi. Nếu như bị bỏ qua, -chung tương đương với
-common = kích thước, chính xác, chiều dài, loại-không phổ biến tương đương với -common = không.
Các từ khóa cảnh báo với ý nghĩa của chúng như sau:

kích thước:
các mảng tương ứng trong mỗi khai báo của một khối phải đồng ý về kích thước và
số thứ nguyên. Tùy chọn này chỉ có hiệu lực khi được sử dụng cùng với
chính xác.

chính xác:
việc so sánh hai khối được thực hiện theo từng biến thay vì đơn giản
yêu cầu thỏa thuận giữa các vị trí lưu trữ tương ứng. Sử dụng cái này nếu tất cả
khai báo của một khối COMMON nhất định được cho là giống hệt nhau, đó là
thực hành lập trình tốt.

chiều dài:
cảnh báo nếu các khai báo khác nhau của cùng một khối không có tổng độ dài bằng nhau.
Tiêu chuẩn Fortran 77 yêu cầu mỗi khối chung được đặt tên, nhưng không chung trống,
có cùng độ dài trong tất cả các mô-đun của chương trình.

kiểu:
trong mỗi khai báo của một khối COMMON nhất định, các vị trí bộ nhớ tương ứng
(từ hoặc byte) phải thống nhất trong kiểu dữ liệu. Nếu được sử dụng cùng với chính xác, điều này
sẽ yêu cầu các biến tương ứng đồng ý trong kiểu dữ liệu.

Dễ bay hơi:
Giả sử rằng các khối COMMON dễ bay hơi.

Nhiều lập trình viên Fortran giả định rằng các biến, dù là cục bộ hay ở dạng COMMON, là
static, tức là sau khi được chỉ định một giá trị, chúng sẽ giữ lại giá trị đó vĩnh viễn cho đến khi
được chương trình gán một giá trị khác. Tuy nhiên, trên thực tế Fortran 77
Tiêu chuẩn không yêu cầu trường hợp này phải như vậy. Các biến cục bộ có thể trở thành
không xác định giữa các lần kích hoạt mô-đun mà chúng được khai báo. Tương tự,
Khối COMMON có thể trở nên không xác định nếu không có mô-đun nào mà chúng được khai báo là
tích cực. (Thuật ngữ kỹ thuật cho các thực thể có hành vi này là `` tự động '', nhưng
ftnchek sử dụng từ `` dễ bay hơi '' vì nó rõ ràng hơn đối với những người không chuyên.)
Các khối COMMON được khai báo trong câu lệnh SAVE, hoặc được khai báo trong chương trình chính hoặc trong
chương trình con dữ liệu khối vẫn được xác định miễn là chương trình đang chạy. Biến
và các khối COMMON có thể trở nên không xác định tại một số thời điểm được gọi là dễ bay hơi.

Nếu -common = dễ bay hơi cờ được bật, ftnchek sẽ cảnh báo bạn nếu nó tìm thấy
khối COMMON dễ bay hơi. Nếu, đồng thời, -usage = com-block-variable tùy chọn
được bật (là mặc định), ftnchek sẽ cố gắng kiểm tra xem một khối như vậy
có thể mất trạng thái xác định của nó giữa các lần kích hoạt các mô-đun ở nơi nó
khai báo. ftnchek không làm rất tốt việc này: quy tắc được sử dụng là xem
liệu khối có được khai báo trong hai cây con tách biệt của cây gọi hay không. Vì
ví dụ, đây sẽ là trường hợp nếu hai mô-đun, cả hai đều được gọi từ chương trình chính,
đã chia sẻ một khối COMMON dễ bay hơi. Một khối cũng có thể trở nên không xác định giữa hai
các lệnh gọi liên tiếp của cùng một chương trình con, nhưng ftnchek không đủ thông minh để nói
liệu một chương trình con có thể được gọi nhiều lần hay không, vì vậy trường hợp này không được kiểm tra.

Sản phẩm -common = dễ bay hơi cờ không ảnh hưởng đến đường đi ftnchek kiểm tra việc sử dụng địa phương
biến.

Để tương thích với các phiên bản trước của ftnchek, một dạng số của cái này
cài đặt cũng được chấp nhận: được thay thế bằng một số từ 0 đến 3. Giá trị của
0 tắt tất cả cảnh báo, 1 hoặc nhiều hơn bật kiểu, 2 lần bật trở lên
chiều dàivà 3 lần bật kích thướcchính xác cũng. Biểu mẫu số không thể bật
các Dễ bay hơi tùy chọn.

Xem thêm: -thư viện, -sử dụng.

-crossref =
In các bảng tham chiếu chéo. Mặc định = không có.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Các từ khóa với
ý nghĩa của chúng như sau:

cuộc gọi:
bảng liệt kê từng chương trình con theo sau là danh sách các thói quen gọi nó.
Danh sách này bỏ qua các mô-đun thư viện không có trong cây lệnh gọi của chính
chương trình. Danh sách được sắp xếp theo thứ tự bảng chữ cái.

chung:
bảng liệt kê từng khối COMMON theo sau là danh sách các quy trình truy cập
nó. Các quy trình được liệt kê này là những quy trình trong đó một số biến trong COMMON
khối được truy cập, không chỉ đơn giản là những thói quen khai báo khối. (Đến
tìm hiểu những quy trình khai báo một khối COMMON nhưng không sử dụng nó, hãy xem
-sử dụng lá cờ.)

nhãn:
bảng liệt kê từng nhãn theo sau là danh sách tất cả các tham chiếu đến nhãn đó. Một nhãn
tham chiếu được biểu thị bằng số dòng và kiểu câu lệnh của tham chiếu
tuyên bố. Danh sách nhãn được xếp theo thứ tự tuần tự. Các tài liệu tham khảo là
được liệt kê theo thứ tự mà chúng gặp phải trong chương trình.

Xem thêm: -calltree, -tài liệu tham khảo, -loại, -biểu tượng, -vcg.

-tuyên bố
Nếu cờ này được đặt, tất cả các số nhận dạng có kiểu dữ liệu không được khai báo trong mỗi mô-đun
sẽ được liệt kê. Cờ này rất hữu ích để giúp tìm các tên biến sai chính tả,
v.v ... Danh sách tương tự sẽ được đưa ra nếu mô-đun chứa IMPLICIT NONE
tuyên bố. Mặc định = không.

Xem thêm: -sáu ký tự, -sử dụng.

-phân công
Công tắc này được cung cấp để giúp người dùng phát hiện các vấn đề tiềm ẩn chia cho không. Nếu như
công tắc này được chọn, mọi phép chia ngoại trừ một hằng số sẽ được gắn cờ. (Nó
được giả định rằng người dùng đủ thông minh để không chia cho một hằng số
bằng XNUMX!) Mặc định = không.

Xem thêm: -khả năng di chuyển, -cắt ngắn.

-errors =num
Đặt số lượng thông báo lỗi tối đa trong một `` thác ''. Trong quá trình kiểm tra
thỏa thuận của các đối số của chương trình con, khai báo khối chung, v.v.,
đôi khi một trường hợp duy nhất sẽ tạo ra một chuỗi dài các cảnh báo. Thường thì điều này đơn giản
chỉ ra một số nguyên nhân khác ngoài sự không khớp của từng mặt hàng chính hãng, chẳng hạn như đối với
ví dụ một biến thể bị thiếu trong một danh sách. Vì vậy, trong những trường hợp như vậy ftnchek ngừng in
các cảnh báo sau khi đạt đến giới hạn phân tầng và đoạn giới thiệu `` vv ... '' là
được in để chỉ ra rằng có nhiều lỗi không được in. Nếu bạn nghĩ rằng
những cảnh báo này có thể là chính hãng, hãy sử dụng cài đặt này để xem thêm.
Turn-on = default = 3, max = 999. Giá trị 0 có nghĩa là không có giới hạn.

Cài đặt này không đặt giới hạn tổng thể về số lượng thông báo lỗi được in,
chỉ số được in trong một tầng bất kỳ. Hầu hết các loại cảnh báo và lỗi
tin nhắn không chịu hiệu ứng xếp tầng và do đó không bị ảnh hưởng bởi điều này
thiết lập. Để tắt cảnh báo nói chung, hãy sử dụng điều khiển cảnh báo riêng lẻ
các tùy chọn hoặc -Không kiểm tra tùy chọn.

Xem thêm: -kiểm tra.

-bên ngoài
Nguyên nhân ftnchek để báo cáo liệu bất kỳ chương trình con nào được gọi bởi chương trình không bao giờ
được xác định. Thông thường, nếu ftnchek đang được chạy trên một chương trình hoàn chỉnh, mỗi
chương trình con khác với các chức năng nội tại nên được định nghĩa ở đâu đó. Xoay
tắt công tắc này nếu bạn chỉ muốn kiểm tra một tập hợp con các tệp tạo thành một phần của
chương trình hoàn chỉnh lớn hơn. Các đối số của chương trình con sẽ vẫn được kiểm tra
tính đúng đắn. Mặc định = có.

Sản phẩm -bên ngoài cờ bây giờ được thay thế bởi -usage = ext-undefined Lựa chọn. Cho
vì sự tiện lợi, -bên ngoài cờ được giữ lại, do đó -noextern là tương đương
đến -usage = no-ext-undefined Lựa chọn. Các -bên ngoài chuyển đổi cuối cùng có thể được gỡ bỏ.

Xem thêm: -thư viện.

-f77 =
Sử dụng cài đặt này để bắt các tiện ích mở rộng ngôn ngữ vi phạm Fortran 77
Tiêu chuẩn. Những phần mở rộng như vậy có thể khiến chương trình của bạn không thể di động được. Các ví dụ
bao gồm việc sử dụng dấu gạch dưới trong tên biến; tên biến dài hơn sáu
nhân vật; dòng câu lệnh dài hơn 72 ký tự; và các tuyên bố không chuẩn
chẳng hạn như cấu trúc DO ... ENDDO. ftnchek không báo cáo về việc sử dụng
chữ viết thường. Theo mặc định, tất cả các cảnh báo đều bị tắt.

Cài đặt này cung cấp khả năng kiểm soát chi tiết đối với các cảnh báo về các tiện ích mở rộng được hỗ trợ
theo Tiêu chuẩn Fortran 77. (Các chi tiết khác về bản thân các tiện ích mở rộng là
được đưa ra bên dưới trong phần Tiện ích mở rộng.) bao gồm các từ khóa được tách biệt
bằng dấu phẩy hoặc dấu hai chấm. Có ba từ khóa đặc biệt: tất cả các để bật tất cả
cảnh báo về tiện ích mở rộng không chuẩn, không ai để tắt tất cả chúng, và giúp đỡ để in
danh sách tất cả các từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như bị bỏ qua,
-f77 tương đương với -f77 = tất cả-nof77 tương đương với -f77 = không. Cảnh báo
từ khóa với ý nghĩa của chúng như sau:

loại chấp nhận:
Câu lệnh ACCEPT và TYPE I / O.

giới hạn mảng:
Biểu thức xác định giới hạn mảng có chứa các phần tử hoặc hàm của mảng
người giới thiệu.

bài tập-stmt:
Các câu lệnh gán liên quan đến mảng. Trong Fortran 90, một mảng có thể
được gán cho một mảng khác có hình dạng tương thích hoặc một đại lượng vô hướng có thể được gán cho
một mảng. Cả hai nhiệm vụ này đều không được phép trong Fortran 77.

Một cảnh báo liên quan xảy ra khi một mảng được gán cho một đại lượng vô hướng. Kể từ đây
cũng là bất hợp pháp trong Fortran 90, nó luôn được cảnh báo về bất kể
-f77 cài đặt (trừ khi tất cả kiểm tra bị tắt với -Không kiểm tra cờ).

khai báo dựa trên thuộc tính:
Nhập các khai báo theo kiểu dựa trên thuộc tính Fortran 90 mới. Phong cách này của
khai báo được phân biệt bằng cách sử dụng dấu hai chấm kép (: :) giữa
danh sách các thuộc tính và danh sách các biến đã khai báo. Tùy chọn này cũng
kiểm soát các cảnh báo về việc sử dụng độ dài Fortran 90 hoặc các thông số kỹ thuật loại trong loại
các bản kê khai. (Mặc dù những từ chỉ định này có thể được sử dụng trong
khai báo, chúng được kiểm soát bởi tùy chọn này để tránh phổ biến
-f77 tùy chọn.)

mảng tự động:
Mảng cục bộ (không phải giả) có kích thước thay đổi. Những thứ này sẽ tương ứng với
mảng có bộ nhớ sẽ phải được cấp phát động tại thời điểm chạy.

dấu gạch chéo ngược:
Thoát dấu gạch chéo ngược Unix trong chuỗi. Cảnh báo này sẽ chỉ được đưa ra nếu
-source = unix-dấu gạch chéo ngược cài đặt được chỉ định để gây ra sự trốn thoát
giải thích dấu gạch chéo ngược ..

byte: Khai báo kiểu dữ liệu BYTE.

cấu trúc trường hợp:
Cấu trúc SELECT CASE.

tính cách:
Các phần mở rộng cho tiêu chuẩn Fortran 77 liên quan đến dữ liệu ký tự. Hiện tại,
điều này chỉ kiểm soát các cảnh báo về các biến ký tự được khai báo bằng XNUMX hoặc
độ dài âm. Trong Fortran 77, tất cả các biến ký tự phải có giá trị dương
chiều dài. Trong Fortran 90, chúng có thể có độ dài bằng XNUMX và khai báo rằng
chỉ định độ dài âm được cho phép, chuyển thành XNUMX cho phần đã khai báo
chiều dài. Lưu ý: vì các chỉ định độ dài âm có thể chỉ ra một chương trình
, cảnh báo về chúng được đưa ra ngay cả khi tùy chọn này bị tắt và
chỉ bị đàn áp bởi -Không kiểm tra cờ.

tên chung-subprog-name:
Khối chung và chương trình con có cùng tên.

tên cấu trúc:
Sử dụng tên cấu trúc để gắn nhãn câu lệnh điều khiển.

tiếp tục:
Hơn 19 dòng tiếp nối liên tiếp.

cpp: Các chỉ thị tiền xử lý Unix C trong mã nguồn.

con trỏ cray:
Cú pháp `` Cray pointer ''.

chu kỳ-thoát:
Câu lệnh CYCLE và EXIT.

d-bình luận:
Gỡ lỗi nhận xét bắt đầu bằng D trong mã nguồn.

tab dec:
Mã nguồn định dạng tab theo phong cách DEC Fortran. Cảnh báo này sẽ chỉ được đưa ra
nếu -source = dec-tab cài đặt được chỉ định để giải thích các tab
theo phong cách này.

làm-enddo:
Các phần mở rộng của vòng lặp DO: nhãn câu lệnh đầu cuối bị bỏ qua, KẾT THÚC DO và WHILE.

phức hợp kép:
Kiểu dữ liệu phức tạp chính xác gấp đôi.

định dạng-đô la:
Mã điều khiển ký hiệu đô la trong câu lệnh FORMAT.

định dạng-chỉnh sửa-descr:
Các bộ mô tả chỉnh sửa không chuẩn trong các câu lệnh FORMAT.

chức năng-noparen:
Định nghĩa hàm không có dấu ngoặc đơn.

ngầm-không có:
Câu lệnh IMPLICIT NONE.

bao gồm:
BAO GỒM câu lệnh.

bình luận nội tuyến:
Nhận xét nội dòng bắt đầu bằng dấu chấm than.

danh sách nội bộ:
I / O hướng danh sách đến hoặc từ một tệp nội bộ.

nội tại:
Các chức năng nội tại không tiêu chuẩn.

io-từ khóa
Các từ khóa không chuẩn được sử dụng trong các câu lệnh I / O. Chúng được chia thành ba nhóm.
Nhóm đầu tiên bao gồm các từ khóa được chấp nhận trong Fortran 90:

ACTION PAD ĐỌC
KÍCH THƯỚC VỊ TRÍ ADVANCE
DELIM ĐỌC VIẾT
EOR
Nhóm thứ hai bao gồm các từ khóa VMS Fortran sau:

MỞ RỘNG KHỐI LƯỢNG SN SÀNG
CÔNG TÁC SỞ HỮU HỒ SƠ BAN ĐẦU
PHIÊN BẢN GHI DANH TỐI ĐA MAXREC
TÊN DEFAULTFILE (đang MỞ) ĐÃ CHIA SẺ
TẮT LOẠI NOSPANBLOCK
XÓA TỔ CHỨC
(Từ khóa NAME chỉ là tiêu chuẩn trong câu lệnh INQUIRE.)
nhóm bao gồm từ khóa IBM / MVS sau:

NUM
Cờ này cũng kiểm soát cảnh báo về việc sử dụng ACCESS = 'APPEND', là
được chấp nhận bởi một số trình biên dịch. Giá trị của 'APPEND' không hợp lệ cho bất kỳ I / O nào
specifier trong Fortran 77 tiêu chuẩn và trong Fortran 90 'APPEND' nên được sử dụng
dưới dạng giá trị của mã định vị trí, không phải TRUY CẬP.

hàng dài:
Các câu lệnh có mã có ý nghĩa qua 72 cột. Cảnh báo này chỉ được đưa ra
nếu -cột cài đặt đã được sử dụng để tăng chiều rộng trường câu lệnh.

tên dài:
Số nhận dạng dài hơn 6 ký tự.

hỗn hợp chung:
Dữ liệu ký tự hỗn hợp và không ký tự trong khối COMMON.

hỗn hợp-expr:
Các kết hợp kiểu không chuẩn trong biểu thức, ví dụ: CHÍNH XÁC ĐÔI
với COMPLEX, gán hollerith cho số nguyên, các phép toán logic trên số nguyên.

tên-đô la:
Ký hiệu đô la được sử dụng như một ký tự trong số nhận dạng.

tên-gạch dưới:
Dấu gạch dưới được sử dụng như một ký tự trong số nhận dạng.

danh sách tên:
Tuyên bố NAMELIST.

param-ẩn-loại:
Nhập ngầm một tham số theo kiểu dữ liệu của giá trị được chỉ định. Cái này
cảnh báo chỉ có thể xảy ra nếu tính năng nhập tham số ngầm đã được bật bởi
-source = param-implicit-type hoặc nếu câu lệnh PARAMETER thuộc về
dạng không chuẩn không có dấu ngoặc đơn. Nếu tùy chọn này được bật, thì bất kỳ
các trường hợp mà việc nhập tham số ngầm xảy ra sẽ được cảnh báo. Nếu như
bạn chỉ muốn được cảnh báo trong những trường hợp mà kiểu dữ liệu ngầm định
khác với loại mặc định, sử dụng -portability = param-implicit-type thay thế.
Theo tiêu chuẩn Fortran 77, kiểu dữ liệu của một tham số được đưa ra
theo các quy tắc tương tự như đối với một biến và nếu cần, chuyển đổi kiểu là
được thực hiện khi giá trị được chỉ định.

param-nội tại:
Hàm nội tại hoặc lũy thừa của một thực được sử dụng để xác định giá trị của một
Định nghĩa THAM SỐ.

thông số-noparen:
Câu lệnh PARAMETER không có dấu ngoặc đơn. Người dùng cần lưu ý rằng
ngữ nghĩa của dạng tuyên bố này khác với ngữ nghĩa của tiêu chuẩn
biểu mẫu: trong biểu mẫu này, tham số nhận kiểu dữ liệu của nó từ giá trị
được gán, thay vì có kiểu dữ liệu mặc định dựa trên chữ cái đầu tiên
của tên tham số. (Dạng này của câu lệnh PARAMETER đã được giới thiệu
bởi DEC trước khi tiêu chuẩn Fortran 77 được xác định, và nên tránh.)

con trỏ:
Cú pháp liên quan đến con trỏ tiêu chuẩn của Fortran 90, bao gồm POINTER, TARGET và
Khai báo kiểu ALLOCATABLE, câu lệnh ALLOCATE, DEALLOCATE và NULLIFY,
và gán con trỏ bằng cách sử dụng =>.

hằng số bốn:
Hằng số thực có độ chính xác bốn, ví dụ có dạng 1.23Q4.

dấu ngoặc kép:
Các chuỗi được phân tách bằng dấu ngoặc kép thay vì dấu nháy đơn.

lặp lại:
Toán tử quan hệ (so sánh) bao gồm dấu câu, cụ thể là: <<= == / =
>> =.

dấu chấm phẩy:
Dấu chấm phẩy được sử dụng làm dấu phân tách câu lệnh.

lệnh tuyên bố:
Các tuyên bố không theo trình tự mà Tiêu chuẩn bắt buộc. Được phép
trình tự được minh họa trong Bảng 1 trong phần Diễn giải đầu ra.

không đánh máy-hằng số:
Hằng số không đánh máy, ví dụ Z'19AF '.

Loại kích thước:
Loại khai báo chỉ định kích thước, ví dụ REAL * 8.

định dạng biến đổi:
Đặc điểm kỹ thuật lặp lại biến hoặc kích thước trường trong FORMAT. Đây là dạng
< thể hiện >.

vms-io:
Đã lỗi thời. Bây giờ có cùng nghĩa với io-từ khóa từ khóa.

Xem thêm: -f90, -f95, -khả năng di chuyển, -đẹp, -Phong cách, -Kích thước từ.

-f90 =
Cài đặt này cung cấp khả năng kiểm soát chi tiết đối với các cảnh báo về các tiện ích mở rộng được hỗ trợ
theo Tiêu chuẩn Fortran 77 không được thông qua như một phần của Fortran 90
Tiêu chuẩn. Lưu ý rằng ftnchek không hỗ trợ ngôn ngữ Fortran 90 đầy đủ.
Tuy nhiên, nó hỗ trợ một số tiện ích mở rộng phổ biến cho Fortran 77 đã phổ biến
trước khi Fortran 90 được xác định. Một số phần mở rộng này đã trở thành một phần của Fortran
90 Tiêu chuẩn, nhưng những người khác thì không. Các -f90 thiết lập cảnh báo chỉ về sau.
Đó là, lá cờ này bao gồm những thứ không hợp pháp Fortran 77 cũng như không hợp pháp
Fortran 90. Do đó, các cảnh báo được kiểm soát bởi cờ này về cơ bản là một tập hợp con
trong số các cảnh báo được kiểm soát bởi -f77. Có một số trường hợp, được mô tả dưới đây, trong đó
các trường hợp mà cảnh báo được đưa ra hơi khác nhau đối với cả hai
cờ.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có ba
từ khóa đặc biệt: tất cả các để bật tất cả các cảnh báo về tiện ích mở rộng không chuẩn,
không ai để tắt tất cả chúng, và giúp đỡ để in danh sách tất cả các từ khóa có
giải thích ngắn gọn của mỗi. Nếu như bị bỏ qua, -f90 tương đương với -f90 = tất cả
-nof90 tương đương với -f90 = không.

Các từ khóa sau đây có nghĩa giống hệt nhau cho -f90 như đối với -f77. Người đọc là
tham khảo các giải thích dưới -f77.

loại chấp nhận phức hợp kép thông số-noparen
dấu gạch chéo ngược định dạng-đô la con trỏ cray
byte định dạng-chỉnh sửa-descr hằng số bốn
cpp chức năng-noparen Loại kích thước
d-bình luận tên-đô la định dạng biến đổi
tab dec param-ẩn-loại vms-io

Các từ khóa hơi khác với các từ khóa tương ứng -f77 từ khóa như
theo sau.

tiếp tục:
Giới hạn về số dòng tiếp tục cho một câu lệnh trong nguồn cố định
hình thức giống nhau, cụ thể là 19, trong Fortran 90 cũng như trong Fortran 77. Đối với nguồn miễn phí
tạo thành giới hạn là 39 dòng tiếp tục và một dòng chứa một đoạn tiếp
không được để trống hoặc chỉ chứa một nhận xét.

nội tại:
Điều này cũng giống như đối với -f77 ngoại trừ các chức năng nội tại được xác định trong
MIL-STD 1753, tất cả đều có trong Fortran 90, và do đó không được cảnh báo
Về. (Nhìn thấy -Nội tại cho một danh sách.)

io-từ khóa:
Điều này cũng giống như đối với -f77 ngoại trừ việc không có cảnh báo nào được đưa ra cho I / O
từ khóa tiêu chuẩn trong Fortran 90.

hàng dài:
Mặc dù Tiêu chuẩn Fortran 90 cho phép các dòng dài hơn 72 ký tự trong
hình thức nguồn miễn phí, hạn chế này vẫn áp dụng cho hình thức nguồn cố định. Trong
mã nguồn miễn phí giới hạn độ dài dòng là 132 ký tự và không giống như cố định
hình thức, ftnchek không cho phép tăng giới hạn này.

hỗn hợp-expr:
Điều này cũng giống như đối với -f77 ngoại trừ các biểu thức trộn độ chính xác mở rộng
thực với các kiểu dữ liệu phức tạp, được cho phép trong Fortran 90.

lệnh tuyên bố:
Điều này tương tự với -f77 cảnh báo, nhưng áp dụng phần nào
nới lỏng các hạn chế đối với thứ tự tuyên bố của Tiêu chuẩn Fortran 90. Trong
đặc biệt, Fortran 90 cho phép các câu lệnh DATA và chức năng câu lệnh
định nghĩa được trộn lẫn với các tuyên bố đặc tả.

không đánh máy-hằng số:
Trong Fortran 90, các hằng số nhị phân, bát phân và thập lục phân có dạng B'ddd ',
O'ddd ', và Z'ddd', tương ứng, được cho phép. Ở đây 'ddd' đại diện cho một
chuỗi các chữ số. ftnchek nhận ra những hình thức này, cũng như một biến thể của
dạng X'ddd 'cho hằng số thập lục phân và các biến thể khác trong đó
chỉ báo cơ sở B, O, Z hoặc X theo sau chuỗi chữ số. Các biến thể này đã
không được thông qua trong Fortran 90, vì vậy chỉ họ được cảnh báo về thời điểm lá cờ này
đã bật.

Xem thêm: -f77, -f95, -khả năng di chuyển, -đẹp, -Phong cách, -Kích thước từ.

-f95 =
Cài đặt này cung cấp khả năng kiểm soát chi tiết đối với các cảnh báo về Fortran 77 tiêu chuẩn
các tính năng đã bị xóa khỏi Tiêu chuẩn Fortran 95. Không giống như -f77-f90
cài đặt, những cảnh báo này áp dụng cho cú pháp là hợp pháp Fortran 77. Tuy nhiên, kể từ
các tính năng này đã bị xóa khỏi Tiêu chuẩn, có thể các chương trình
việc chứa chúng sẽ không được chấp nhận đối với một số trình biên dịch mới hơn.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có ba
từ khóa đặc biệt: tất cả các để bật tất cả các cảnh báo về tiện ích mở rộng không chuẩn,
không ai để tắt tất cả chúng, và giúp đỡ để in danh sách tất cả các từ khóa có
giải thích ngắn gọn của mỗi. Nếu như bị bỏ qua, -f95 tương đương với -f95 = tất cả
-nof95 tương đương với -f95 = không. Các từ khóa cảnh báo với ý nghĩa của chúng là
theo sau.

làm thật:
Biến DO thuộc bất kỳ kiểu số thực nào.

tạm dừng:
Tuyên bố PAUSE.

giao:
Câu lệnh ASSIGN, GOTO được chỉ định hoặc định dạng được chỉ định.

h-chỉnh sửa:
Bộ mô tả H chỉnh sửa trong một định dạng.

Có một tính năng cú pháp Fortran 77 khác đã bị xóa trong Fortran 95, cụ thể là
phân nhánh tới một ENDIF từ bên ngoài khối IF. Tuy vậy, ftnchek không thể
phân tích luồng chương trình, và do đó nó không đưa ra cảnh báo về điều này.

Xem thêm: -f77, -f90, -khả năng di chuyển, -đẹp, -Phong cách, -Kích thước từ.

-Cứu giúp
In danh sách tất cả các tùy chọn dòng lệnh với mô tả ngắn gọn về từng tùy chọn
cùng với giá trị mặc định của nó. Lệnh này có chức năng giống với lệnh ``? ''
và được cung cấp như một sự thuận tiện cho những hệ thống trong đó câu hỏi
dấu có ý nghĩa đặc biệt đối với trình thông dịch lệnh. Mặc định = không.

Danh sách trợ giúp cũng in số phiên bản và cấp bản vá của ftnchek
thông báo bản quyền.

Lưu ý: các giá trị `` mặc định '' được in trong dấu ngoặc vuông trong danh sách trợ giúp là,
nói một cách chính xác, không phải các giá trị mặc định được tích hợp sẵn mà là các giá trị hiện tại sau bất kỳ
tùy chọn môi trường và bất kỳ tùy chọn dòng lệnh nào trước -Cứu giúp tùy chọn có
đã được xử lý.

Xem thêm: -nội dung, -phiên bảngiúp đỡ tùy chọn của tất cả các cài đặt có danh sách
từ khóa.

-identifier-chars =
Xác định các ký tự không phải chữ và số có thể được sử dụng trong số nhận dạng. Theo mặc định,
ftnchek chỉ chấp nhận ký hiệu đô la và gạch dưới dưới dạng ký tự không phải chữ và số
trong tên định danh. Các nhân vật trong thay thế bất kỳ bộ nào được chấp nhận
các ký tự không phải chữ và số đã có hiệu lực trước đây. Do đó, nếu ký hiệu đô la hoặc
gạch dưới không được bao gồm trong danh sách, chúng mất trạng thái có thể chấp nhận được
ký tự.

Tùy chọn này được cung cấp để kích hoạt ftnchek để xử lý các tệp nguồn có chứa
các tên nhận dạng tiêu chuẩn có thể cần, ví dụ, để truy cập vào một số
dịch vụ hệ điều hành. Xem phần Giới hạn và Tiện ích mở rộng cho
xử lý các số nhận dạng có chứa các ký tự này trong kiểu nhập ngầm.

Sử dụng -noidentifer-ký tự tắt chấp nhận các ký tự không phải chữ và số
hoàn toàn.

Xem thêm: -Source.

-bao gồm =con đường
Chỉ định một thư mục được tìm kiếm cho các tệp được chỉ định bởi câu lệnh INCLUDE.
Không giống như các tùy chọn dòng lệnh khác, cài đặt này là tích lũy; đó là, nếu nó là
được cung cấp nhiều hơn một lần trên dòng lệnh, tất cả các thư mục được chỉ định như vậy là
được đặt trên một danh sách sẽ được tìm kiếm theo thứ tự như chúng được đưa ra. Các
thứ tự trong đó ftnchek tìm kiếm một tệp được đưa vào là: hiện tại
danh mục; thư mục được chỉ định bởi biến môi trường FTNCHEK_INCLUDE nếu có;
các thư mục được chỉ định bởi bất kỳ bao gồm tùy chọn; thư mục được chỉ định bởi
biến môi trường BAO GỒM; và cuối cùng là trong một thư mục tiêu chuẩn trên toàn hệ thống
(/ usr / bao gồm cho UNIX, SYS $ LIBRARY cho VMS và \ bao gồm cho MSDOS).

Xem thêm: -f77, -Source.

-nội tại =
Kiểm soát liệu ftnchek nhận ra một số chức năng nội tại không tiêu chuẩn như
Nội tại. Các bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Một số
các từ khóa kiểm soát việc có nhận ra các nhóm chức năng nhất định hay không và các
từ khóa kiểm soát cú pháp mong đợi để gọi một số nội dung không chuẩn.
Bao gồm một từ khóa để bật tính năng nhận dạng tập hợp các nội dung tương ứng hoặc
để cho phép cú pháp tương ứng. Bao gồm một từ khóa có tiền tố là không- để tắt
sự công nhận đó.

Có ba từ khóa đặc biệt: tất cả các bật công nhận tất cả những thứ không đạt tiêu chuẩn
bản chất (liệt kê bên dưới) và chấp nhận một trong hai cú pháp cho những cú pháp có các biến thể.
Sử dụng không ai để tắt nhận dạng tất cả các nội dung không chuẩn ngoại trừ những nội dung đã lưu ý
phía dưới. Sử dụng giúp đỡ để in danh sách tất cả các từ khóa với giải thích ngắn gọn về
mỗi. Nếu như bị bỏ qua, -Nội tại tương đương với -intrinsic = tất cả
- nội tại tương đương với -intrinsic = không có.

Các chức năng nội tại không tiêu chuẩn cần thiết để hỗ trợ mở rộng không tiêu chuẩn
các kiểu dữ liệu chính xác (phức tạp kép và chính xác bốn) luôn được nhận dạng.
Bản chất của kiểu dữ liệu phức hợp kép là:

CDABS CDSQRT DREAL ZLOG
CDCOS DCMPLX HÌNH ẢNH ZSIN
CDEXP DCONJG ZABS ZSQRT
CDLOG DIMAG ZEXP ZCOS
CDSIN
Bản chất của loại độ chính xác quad và loại phức tạp quad là:

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
Các từ khóa kiểm soát việc nhận dạng các chức năng nội tại không tiêu chuẩn khác là
như sau:

thêm:
nhận ra bản chất không chuẩn thường có sẵn sau đây (tất cả ngoại trừ
EXIT và LOC được định nghĩa trong MIL-STD 1753):

IBCLR IEOR ISFTTC TỐT NHẤT
THOÁT KHỎI IBITS IOR LOC
IAND IBSET ISHFT KHÔNG

unix: nhận ra các chức năng nội tại chung của Unix cụ thể này:

HỦY BỎ SRAND GMTIME LTIME
VÀ IARGC HOẶC HỆ THỐNG
NHẬN THỜI GIAN RAND IRAND
GETENV LSHIFT RSHIFT XOR

vms: nhận ra các chức năng nội tại chung của VMS cụ thể:

NGÀY IDATE GIỜ GIÂY

KÍCH THƯỚC CHẠY LỖI

iargc-không-đối số:
chỉ định rằng IARGC có thể được gọi mà không có đối số.

iargc-một-đối số:
chỉ định rằng IARGC có thể được gọi với một đối số.

rand-no-đối số:
chỉ định rằng RAND và IRAND có thể được gọi mà không có đối số.

rand-one-đối số:
chỉ định rằng RAND và IRAND có thể được gọi bằng một đối số.

Sản phẩm không tranh luậnmột đối số từ khóa hoạt động như sau: bật tùy chọn
nguyên nhân ftnchek để chấp nhận cú pháp tương ứng để gọi hàm,
mà không loại trừ khả năng có cú pháp thay thế. Chuyển tùy chọn
tắt khiến cú pháp tương ứng không được chấp nhận. Nếu cả hai tùy chọn đều được bật
trên cùng một lúc (mặc định), sau đó một trong hai cú pháp được chấp nhận. Tắt cả hai tùy chọn
ngay lập tức sẽ không có ý nghĩa. Các tùy chọn này không có hiệu lực nếu nhận ra
Bản chất của Unix đã bị tắt.

Lưu ý rằng cài đặt này không kiểm soát việc cảnh báo không chuẩn có được đưa ra hay không
về các chức năng này. Nó kiểm soát xem các chức năng được giả định là
nội tại hay không, xác định cách sử dụng chúng được kiểm tra. Khi các chức năng trong
bất kỳ bộ nào trong số này được bao gồm, các lệnh gọi của chúng sẽ được kiểm tra theo
các quy tắc cho các chức năng nội tại; nếu không chúng sẽ được kiểm tra là bình thường (người dùng-
viết) các chức năng bên ngoài. Các cảnh báo không chuẩn được kiểm soát bởi
-f77 = nội tại tùy chọn.

Giá trị mặc định của cài đặt này tương đương với -intrinsic = tất cả tiếp theo
-intrinsic = no-vms cho phiên bản Unix, -intrinsic = no-unix cho phiên bản VMS và
-intrinsic = no-unix, no-vms cho các phiên bản khác.

Lưu ý: Trong các phiên bản của ftnchek trước 2.10, -Nội tại cờ lấy một số
đối số thay vì danh sách các tùy chọn. Vì lợi ích của những người dùng có thể đã viết
các tập lệnh gọi ftnchek theo cách này, dạng số vẫn được chấp nhận. Các
dạng số của cài đặt bao gồm ba chữ số. Chữ số hàng đơn vị chọn
tập hợp các chức năng nội tại được hỗ trợ. Chữ số 0 chỉ chọn Fortran 77
bản chất tiêu chuẩn cộng với những nội dung cần thiết để hỗ trợ độ chính xác mở rộng không tiêu chuẩn
Loại dữ liệu. Chữ số 1 tương đương với thêm, 2 tương đương với bổ sung, unix
3 tương đương với thêm, vms. Chữ số hàng chục của cài đặt này kiểm soát cú pháp
của hàm nội tại RAND và chữ số hàng trăm kiểm soát cú pháp của
Hàm IARGC. Đối với các chữ số này, chỉ định 0 để yêu cầu lệnh gọi không
đối số, 1 để yêu cầu một đối số và 2 để cho phép một trong hai biểu mẫu.

Xem thêm: -f77.

-thư viện
Công tắc này được sử dụng khi một số chương trình con được chứa trong một tệp, nhưng không
tất cả chúng đều được ứng dụng sử dụng. Thông thường, ftnchek cảnh báo bạn nếu có
chương trình con được định nghĩa nhưng không bao giờ được sử dụng. Công tắc này sẽ tắt các cảnh báo này.
Mặc định = không.

Công tắc này cũng kiểm soát các lệnh gọi chương trình con và khai báo khối COMMON
đã kiểm tra. Nếu một tệp được đọc với -thư viện cờ có hiệu lực, chương trình con gọi
và các khai báo COMMON có trong một quy trình trong tệp đó sẽ chỉ được kiểm tra nếu
thói quen đó nằm trong cây cuộc gọi của chương trình chính. Mặt khác, nếu
-thư viện công tắc bị tắt, sau đó ftnchek kiểm tra các cuộc gọi của mọi quy trình bằng cách
mọi thói quen khác, bất kể những thói quen đó có thực sự là
được gọi trong thời gian chạy và tương tự như vậy, tất cả các khai báo khối COMMON được so sánh với
thỏa thuận.

Sự khác biệt giữa công tắc này và -usage = no-ext-used tùy chọn cho
chương trình con là chương trình sau chỉ ngăn chặn cảnh báo về các quy trình
đã khai báo nhưng không được sử dụng. Các -thư viện chuyển đổi đi xa hơn và loại trừ không sử dụng
các quy trình được xử lý trong khi nó có hiệu lực từ việc kiểm tra chéo tất cả các đối số và
Khai báo khối COMMON cũng vậy.

(Nếu không có chương trình chính ở bất kỳ đâu trong tập hợp các tệp ftnchek đã đọc, vì vậy
rằng không có cây gọi, sau đó ftnchek sẽ tìm kiếm bất kỳ quy trình không phải thư viện nào
không được gọi bởi bất kỳ quy trình nào khác và sử dụng những thứ này thay thế cho
chương trình xây dựng cây cuộc gọi và quyết định những gì cần kiểm tra. Nếu không có hàng đầu như vậy-
các quy trình không phải thư viện cấp được tìm thấy, sau đó tất cả các lệnh gọi giữa các mô-đun và tất cả COMMON
khai báo sẽ được kiểm tra.)

Xem thêm: -tranh luận, -calltree, -chung, -bên ngoài, -sử dụng.

-danh sách
Chỉ định rằng một danh sách của chương trình Fortran sẽ được in ra với dòng
những con số. Nếu như ftnchek phát hiện lỗi, thông báo lỗi theo dòng chương trình
với dấu mũ (^) xác định vị trí của lỗi. Nếu không có danh sách nguồn
yêu cầu, ftnchek sẽ vẫn in ra bất kỳ dòng nào có lỗi, để hỗ trợ
người dùng trong việc xác định nơi xảy ra lỗi. Mặc định = không.

Xem thêm: -đầu ra, \ fB-symtab, fB-yên lặng.

-makedcls =
Chuẩn bị một tệp được định dạng gọn gàng gồm các khai báo của các biến, các khối chung và
danh sách danh sách tên, để có thể hợp nhất vào mã nguồn. Các khai báo là
được lưu trữ trong một tệp có cùng tên với mã nguồn, nhưng có phần mở rộng
thay đổi để .dcl. Nếu không có khai báo nào được ghi vào tệp, nó sẽ bị xóa thành
giảm sự lộn xộn từ các tệp trống.

Nếu đầu vào đến từ đầu vào chuẩn, thay vì một tệp được đặt tên, thì khai báo là
được ghi vào đầu ra tiêu chuẩn.

Các biến được khai báo theo thứ tự bảng chữ cái trong mỗi lớp khai báo và
nhập, với các biến số nguyên trước tiên, vì sau này chúng có thể được sử dụng trong mảng
kích thước.

Các câu lệnh PARAMETER là một ngoại lệ đối với quy tắc theo thứ tự bảng chữ cái, bởi vì
Tiêu chuẩn Fortran 77 yêu cầu các biểu thức xác định giá trị tham số phải tham chiếu
chỉ đối với các hằng số và tên tham số đã được xác định. Điều này buộc bản gốc
thứ tự tệp nguồn của các câu lệnh đó được giữ nguyên trong tệp khai báo.

Tuyên bố rõ ràng về tất cả các biến được coi là lập trình hiện đại tốt
thực hành. Bằng cách sử dụng các tùy chọn trình biên dịch để từ chối các biến không được khai báo, sai chính tả
tên biến (hoặc tên kéo dài qua cột 72) có thể bị bắt tại thời điểm biên dịch.
Khai báo rõ ràng cũng tạo điều kiện thuận lợi đáng kể cho việc thay đổi độ chính xác của dấu phẩy động
với các bộ lọc như dtoq(1L), dto(1L), fd2s(1L), fs2d(1L), qtod(1L) và
chuồng ngựa(1L). Các chương trình này có khả năng thay đổi các loại dấu phẩy động rõ ràng
kiểu khai báo, hàm nội tại và hằng số, nhưng vì chúng không
thực hiện phân tích từ vựng và ngữ pháp nghiêm ngặt của mã nguồn Fortran,
chúng không thể cung cấp các khai báo kiểu đã sửa đổi cho các biến chưa được khai báo. Vỡ nợ
cài đặt = 0, bật = 1.

Các tùy chọn khác nhau cho hình thức của tệp khai báo được kiểm soát bởi ,
bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có ba đặc biệt
từ khóa: tất cả các để bật tất cả các tùy chọn, không ai để tắt tất cả chúng, và giúp đỡ đến
in danh sách tất cả các từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như is
bỏ qua, -madecls tương đương với -makedcls = tuyên bố (tức là sản xuất
tệp khai báo bằng cách sử dụng các tùy chọn mặc định), và -nomadecls tương đương với
-makedcls = không có.

Để tương thích với các phiên bản trước của ftnchek, một dạng số của cài đặt này
cũng được chấp nhận: được thay thế bằng một số là tổng của các số
trong ngoặc đơn bên cạnh các từ khóa trong danh sách sau. Các từ khóa cảnh báo
với ý nghĩa của chúng như sau:

tờ khai (1):
Viết tệp khai báo. (Điều này được ngụ ý bởi bất kỳ tùy chọn nào khác và
có thể được bỏ qua nếu có bất kỳ tùy chọn nào khác.)

không được khai báo (2):
Theo mặc định, tất cả các biến đều có trong tệp khai báo. Với cái này
tùy chọn, chỉ bao gồm không khai báo biến. Cài đặt này hữu ích nếu bạn
muốn kiểm tra các biến chưa được khai báo, vì các tệp nguồn Fortran có tất cả
các biến được khai báo đúng cách sẽ không dẫn đến .dcl tập tin. Với cái này
tùy chọn, các khối phổ biến và danh sách danh sách sẽ không được bao gồm trong
tệp khai báo, vì bản chất của chúng, chúng không thể được khai báo.

nhỏ gọn (4):
Các tờ khai thường được in đẹp để xếp hàng chung gọn gàng
, như trong tệp khai báo do Trình xác minh PFORT mở rộng xuất ra,
nỗ lực(1L). Giá trị tùy chọn này thay vào đó chọn đầu ra nhỏ gọn, không có cột
căn chỉnh.

sử dụng-tiếp tục-dòng (8):
Làm cho các dòng tiếp tục được sử dụng ở những nơi cho phép. Mặc định là
bắt đầu một khai báo mới trên mỗi dòng. Tùy chọn này là thích hợp để sử dụng
Cùng với nhỏ gọn.

từ khóa-chữ thường (16):
Xuất từ ​​khóa Fortran bằng chữ thường, thay vì chữ hoa mặc định.

vars-and-const-chữ thường (32):
Các biến và hằng số đầu ra ở dạng chữ thường, thay vì mặc định
chữ hoa. Các hằng số chuỗi ký tự không bị ảnh hưởng bởi tùy chọn này.

loại trừ-sftran3 (64):
Bỏ qua khai báo của các biến số nguyên bên trong do SFTRAN3 tạo ra
bộ tiền xử lý, xsf3(1L), là một phần của bản dịch Fortran có cấu trúc
tuyên bố cho Fortran thông thường. Các biến này có tên gồm sáu ký tự là
hình thức NPRdddd, NXdddd, N2ddddN3dddd, Nơi d là một chữ số thập phân.
Bởi vì chúng ẩn trong mã nguồn SFTRAN3 và sẽ thay đổi nếu
Mã SFTRAN3 được sửa đổi, các biến như vậy không được khai báo rõ ràng.
Thay vào đó, họ chỉ nên giả định kiểu dữ liệu Fortran INTEGER mặc định dựa trên
trên lá thư đầu tiên của họ, N.

dấu hoa thị-bình luận (128):
Sử dụng dấu hoa thị làm ký tự nhận xét; mặc định là 'C'.

comment-char-chữ thường (256):
Sử dụng 'c' thay vì 'C' hoặc '*' làm ký tự nhận xét.

ngăn chặn-kích thước-mảng (512):
Bỏ ghi kích thước của mảng trong các khai báo đã tạo. Tùy chọn này
được sử dụng với các khai báo kiểu thiếu mã, để cho phép khai báo
các tệp sẽ được chèn mà không cần thay đổi mã. Vì mã sẽ có
đã có câu lệnh kích thước, xác định kích thước các biến mảng trong kiểu
các câu lệnh của tệp khai báo bị thừa. Tùy chọn này nên được sử dụng
chỉ kết hợp với tùy chọn 2 = không khai báo-chỉ vì nếu không thì bất kỳ
các mảng được xác định kích thước trong một câu lệnh kiểu sẽ mất
đo kích thước.

hình thức miễn phí (1024):
Sản xuất tờ khai ở dạng nguồn miễn phí. Chế độ này tự động được sử dụng nếu
nguồn đầu vào là biểu mẫu miễn phí. Sử dụng tùy chọn này để khai báo trong
biểu mẫu miễn phí ngay cả khi đầu vào ở dạng cố định. Khai báo biểu mẫu tự do là
chỉ thụt lề 2 cột thay vì 6, sử dụng dấu chấm than làm nhận xét
và chỉ ra các dòng tiếp theo bằng một dấu và ở cuối
dòng sẽ được tiếp tục.

Các tệp khai báo chứa các chú thích đặc biệt đánh dấu phần bắt đầu và kết thúc của
khai báo cho mỗi đơn vị chương trình, để tạo điều kiện sử dụng macro trình soạn thảo văn bản cho
hợp nhất các khai báo trở lại mã nguồn.

Sản phẩm ftnchek phân phối bao gồm một chương trình, dcl2inc, quy trình khai báo
tệp để tạo tệp chứa khai báo của tất cả các khối COMMON, trong một biểu mẫu
thích hợp để sử dụng như các tệp BAO GỒM. Xem dcl2inc(1L) trang người đàn ông để biết chi tiết của
công dụng của nó.

Xem thêm: -mkhtml.

-mkhtml =
Tạo tài liệu HTML từ nguồn. Tạo các tệp HTML riêng lẻ từ ftnchek
phân tích và bình luận mã. Tất cả các bình luận ngay trước và sau
chức năng hoặc định nghĩa chương trình con được ghi vào tệp HTML. Không định dạng lại
nhận xét nguồn được thực hiện khác với việc loại bỏ các ký tự nhận xét FORTRAN.
Ngoài ra, tệp HTML liệt kê các biến cục bộ được khai báo, khối chung
các biến được sử dụng, các hàm và chương trình con được gọi, sử dụng đơn vị I / O và các
thông tin về từng chương trình con. Thông thường, bạn cũng sẽ muốn chỉ định
-call = cây để tạo tệp HTML gốc CallTree.html. (Có lẽ tệp này nên
được đặt tên là index.html.)

Các tùy chọn khác nhau cho dạng tệp HTML được kiểm soát bởi , Mà
bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có ba đặc biệt
từ khóa: tất cả các để bật tất cả các tùy chọn, không ai để tắt tất cả chúng, và giúp đỡ đến
in danh sách tất cả các từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như is
bỏ qua, -mkhtml tương đương với -mkhtml = tài liệu (tức là tạo tài liệu HTML
các tệp sử dụng các tùy chọn mặc định), và -nomkhtml tương đương với -mkhtml = không có.

Vì đơn giản, các tùy chọn cho -mkhtml giống như những người cho
-madecls ngoại trừ những cái không thể áp dụng được. Tương tự như vậy, một dạng số của
cài đặt này có thể được sử dụng, được tạo thành tổng các số trong ngoặc đơn trong
danh sách phía dưới. Các từ khóa cảnh báo với ý nghĩa của chúng như sau:

tài liệu (1):
Tạo tài liệu HTML. (Điều này được ngụ ý bởi bất kỳ tùy chọn nào khác và
có thể được bỏ qua nếu có bất kỳ tùy chọn nào khác.)

nhỏ gọn (4):
Các tờ khai thường được in đẹp để xếp hàng chung gọn gàng
cột. Giá trị tùy chọn này thay vào đó chọn đầu ra nhỏ gọn, không có cột
căn chỉnh.

sử dụng-tiếp tục-dòng (8):
Khiến các dòng tiếp tục được sử dụng thay vì bắt đầu một khai báo mới
trên mỗi dòng. Tùy chọn này thích hợp để sử dụng cùng với nhỏ gọn.

từ khóa-chữ thường (16):
Xuất từ ​​khóa Fortran bằng chữ thường, thay vì chữ hoa mặc định.

vars-and-const-chữ thường (32):
Các biến và hằng số đầu ra ở dạng chữ thường, thay vì mặc định
chữ hoa. Các hằng số chuỗi ký tự không bị ảnh hưởng bởi tùy chọn này.

loại trừ-sftran3 (64):
Bỏ qua khai báo của các biến số nguyên bên trong do SFTRAN3 tạo ra
bộ tiền xử lý, xsf3(1L). (Nhìn thấy -madecls để thảo luận.)

ngăn chặn-kích thước-mảng (512):
Bỏ ghi kích thước của mảng trong các khai báo đã tạo. Đây là
bình thường là không mong muốn, nhưng có sẵn nếu vì lý do nào đó bạn không muốn
kích thước mảng để xuất hiện trong HTML.

hình thức miễn phí (1024):
Tạo các khai báo biến ở dạng nguồn miễn phí. Chế độ này là
tự động được sử dụng nếu nguồn đầu vào là dạng miễn phí. Điều này chủ yếu ảnh hưởng đến
hình thức của các dòng tiếp diễn nếu chúng được sử dụng.

Xem thêm: -calltree, -madecls.

-nội dung
Cờ này nhằm cung cấp đầu ra hữu ích hơn cho người mới bắt đầu. Nó có hai
Các hiệu ứng:

(a) cung cấp một thông báo bổ sung về hiệu ứng rằng một hàm được sử dụng nhưng không
được định nghĩa ở bất kỳ đâu có thể là một mảng mà người dùng quên khai báo trong
Câu lệnh DIMENSION (vì cú pháp của tham chiếu mảng giống với
của một tham chiếu hàm).

(b) sửa đổi hình thức của thông báo lỗi và cảnh báo. Nếu cờ bị lật
tắt bởi -novice, những thông báo này được in theo phong cách giống UNIX hơn
xơ vải.

Mặc định = có.

-output =tên tập tin
Cài đặt này được cung cấp để tạo sự thuận tiện trên các hệ thống không cho phép dễ dàng
chuyển hướng đầu ra từ các chương trình. Khi cài đặt này được đưa ra, đầu ra
thường xuất hiện trên màn hình sẽ được gửi thay thế đến tệp đã đặt tên. Ghi chú,
tuy nhiên, lỗi hoạt động của ftnchek chính nó (ví dụ: hết dung lượng hoặc không thể
mở tệp) sẽ vẫn được gửi đến màn hình. Phần mở rộng cho tên tệp là
tùy chọn và nếu không có phần mở rộng nào được cung cấp, phần mở rộng .lis sẽ được sử dụng.

-pointersize =num
Chỉ định kích thước của biến `` Con trỏ Cray '' là num byte. Mặc định = lượt-
trên = 4 byte.

Kích thước con trỏ được sử dụng để thông báo các cảnh báo không khớp chính xác liên quan đến con trỏ
các biến, ví dụ: khi một con trỏ được gán một giá trị từ một phân bổ
quy trình, hoặc được truyền dưới dạng tham số chương trình con.

Xem thêm: -f77, -khả năng di chuyển, -cắt ngắn, -Kích thước từ.

-khả năng di chuyển =
ftnchek sẽ đưa ra các cảnh báo cho nhiều cách sử dụng không di động. Những ví dụ bao gồm
việc sử dụng các tab ngoại trừ trong nhận xét hoặc bên trong chuỗi, việc sử dụng Hollerith
hằng số và sự tương đương của các biến của các kiểu dữ liệu khác nhau. Tùy chọn này
không đưa ra cảnh báo cho các tiện ích mở rộng được hỗ trợ cho Tiêu chuẩn Fortran 77,
điều này cũng có thể gây ra các vấn đề về tính di động. Để nắm bắt những thứ đó, hãy sử dụng -f77 thiết lập.
Theo mặc định, tất cả các cảnh báo đều bị tắt.

Cài đặt này cung cấp khả năng kiểm soát chi tiết các cảnh báo về khả năng di chuyển
các vấn đề. Các bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có
ba từ khóa đặc biệt: tất cả các để bật tất cả các cảnh báo về cách sử dụng không thể di chuyển,
không ai để tắt tất cả chúng, và giúp đỡ để in danh sách tất cả các từ khóa có
giải thích ngắn gọn của mỗi. Nếu như bị bỏ qua, -khả năng di chuyển tương đương với
-khả năng di chuyển = tất cả-khả năng di chuyển tương đương với -khả năng di chuyển = không có. Các
các từ khóa cảnh báo với ý nghĩa của chúng như sau:

dấu gạch chéo ngược:
Ký tự gạch chéo ngược trong chuỗi. Vì một số trình biên dịch coi dấu gạch chéo ngược là
một ký tự thoát, sự hiện diện của nó có thể gây ra sự cố ngay cả khi nó được sử dụng
theo cách phù hợp tiêu chuẩn.

sự liên kết chung:
Các biến khối COMMON không theo thứ tự giảm dần về kích thước lưu trữ. Một số
trình biên dịch yêu cầu thứ tự này vì các yêu cầu liên kết lưu trữ.

tiếng la hét:
Hằng số Hollerith (không nằm trong thông số kỹ thuật FORMAT). Hollerith
kiểu dữ liệu là một tính năng của Fortran IV đã bị xóa trong Fortran 77
Tiêu chuẩn. Nó được thay thế bởi kiểu dữ liệu ký tự. Lưu trữ Hollerith
dữ liệu trong các biến của kiểu dữ liệu số hoặc lôgic là không thể chuyển do
kích thước từ khác nhau.

chuỗi dài:
Hằng số chuỗi, biến hoặc biểu thức dài hơn 255 ký tự.

tương đương hỗn hợp:
Các biến của các kiểu dữ liệu khác nhau tương đương.

kích thước hỗn hợp:
Các biến được khai báo với độ chính xác mặc định được sử dụng với các biến được cung cấp rõ ràng
độ chính xác, trong biểu thức, phép gán hoặc dưới dạng đối số. Ví dụ, nếu một
biến được khai báo là REAL * 8 được coi là tương đương với DOUBLE PRECISION.

làm thật:
Chỉ số vòng lặp DO không số nguyên và giới hạn. Những điều này có thể khiến kết quả của chương trình
phụ thuộc vào đặc điểm phần cứng của máy tính cụ thể được sử dụng.

param-ẩn-loại:
Nhập ngầm một tham số theo kiểu dữ liệu của giá trị được chỉ định, nếu nó
khác với loại mặc định. Cảnh báo này chỉ có thể xảy ra nếu ẩn
nhập tham số đã được bật bởi -source = param-implicit-type
hoặc nếu câu lệnh PARAMETER thuộc dạng không chuẩn mà không có
dấu ngoặc đơn. Nếu tùy chọn này được bật, thì bất kỳ trường hợp nào ẩn
nhập tham số xảy ra và nơi kiểu ngầm định khác với
loại mặc định dựa trên chữ cái đầu tiên của tên tham số, sẽ được cảnh báo
Về. Nhập tham số ngầm định có thể thay đổi ngữ nghĩa của câu lệnh
nơi tham số được sử dụng, gây ra các vấn đề về tính di động.

chuyển hướng: Các tab trong mã nguồn. Các tab được diễn giải theo cách khác nhau
trình biên dịch. Cảnh báo này sẽ chỉ được đưa ra một lần ở cuối tệp.

Xem thêm: -f77, -f90, -f95, -đẹp, -Phong cách, -Kích thước từ.

-pretty =
Kiểm soát một số thông báo liên quan đến sự xuất hiện của mã nguồn. Những cảnh báo
về những thứ có thể làm cho một chương trình ít đọc hơn hoặc lừa đảo người đọc.
Theo mặc định, tất cả các cảnh báo đều được bật.

Cài đặt này cung cấp khả năng kiểm soát chi tiết đối với các cảnh báo về sự xuất hiện. Các
bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Vì tất cả các cảnh báo đều đang bật
theo mặc định, bao gồm một từ khóa có tiền tố là không- để tắt một cảnh báo cụ thể.
Có ba từ khóa đặc biệt: tất cả các để bật tất cả các cảnh báo về việc gây hiểu lầm
xuất hiện, không ai để tắt tất cả chúng, và giúp đỡ để in danh sách tất cả
từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như bị bỏ qua, -đẹp is
tương đương với -pretty = tất cả-nhiều tương đương với -pretty = không. Các
các từ khóa cảnh báo với ý nghĩa của chúng như sau:

trả lại thay thế:
Câu lệnh RETURN có một hằng số chỉ định một điểm trả lại thay thế mà
không nằm giữa 0 và số đối số giả là nhãn. Đây là
hợp pháp và có tác dụng tương tự như TRẢ LẠI không có lợi tức thay thế
nhưng gợi ý rằng lập trình viên dự định sử dụng một biểu thức thay thế
trả lại nhãn không được cung cấp.

không gian nhúng:
Dấu cách được nhúng trong tên biến hoặc trong toán tử nhiều ký tự như **.

tiếp tục:
Dấu tiếp theo sau một dòng nhận xét.

hàng dài:
Các dòng (ngoại trừ nhận xét) có chiều rộng trên 72 cột (bình thường vượt quá 72
bị bỏ qua bởi trình biên dịch).

thiếu không gian:
Thiếu khoảng cách giữa biến và từ khóa đứng trước.

nhiều chung:
Khối COMMON được khai báo trong nhiều câu lệnh. Không có cảnh báo nào được đưa ra nếu
các câu lệnh là liên tiếp ngoại trừ các dòng chú thích.

danh sách nhiều tên:
NAMELIST được khai báo trong nhiều câu lệnh. Không có cảnh báo nào được đưa ra nếu
các câu lệnh là liên tiếp ngoại trừ các dòng chú thích.

dấu ngoặc đơn:
Dấu ngoặc đơn xung quanh một biến của chính nó. Là một đối số của chương trình con, điều này
làm cho đối số trở thành một biểu thức, không thể sửa đổi được bởi chương trình con.

Lưu ý rằng ở dạng nguồn miễn phí, không gian thừa và không gian bị thiếu bị cấm bởi
Tiêu chuẩn Fortran 90, và không chỉ là vi phạm phong cách. Trong trường hợp này, các cảnh báo
được thay thế bằng các thông báo lỗi cú pháp và chỉ có thể được tắt bằng cách sử dụng
-Không kiểm tra.

Xem thêm: -f77, -khả năng di chuyển, -Phong cách.

-dự án =
ftnchek sẽ tạo một tệp dự án từ mỗi tệp nguồn được đầu vào trong khi điều này
tùy chọn được bật. Tệp dự án sẽ được đặt cùng tên với đầu vào
tệp, nhưng với phần mở rộng .f or .cho thay thế bởi .prj. (Nếu đầu vào là từ
đầu vào tiêu chuẩn, tệp dự án được đặt tên ftnchek.prj.) Mặc định = không có.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có ba
từ khóa đặc biệt: tất cả các để bật tất cả các tùy chọn, không ai để tắt tất cả chúng, và
giúp đỡ để in danh sách tất cả các từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như
bị bỏ qua, -dự án tương đương với -project = tất cả-không dự án is
tương đương với -project = không. Các từ khóa với ý nghĩa của chúng như sau:

tạo:
Tạo một tập tin dự án. Mặc định là không tạo tệp dự án. Nếu như
tùy chọn này không được bật, các tùy chọn khác không có hiệu lực.

cuộc gọi cắt:
Cắt bớt lượng thông tin được lưu trữ trong tệp dự án về chương trình con
khai báo và cuộc gọi. Đây là mặc định. Chỉ tắt tùy chọn này trong
những tình huống hiếm gặp. (Xem thảo luận bên dưới.) Số lượng cắt tỉa khác nhau
tùy thuộc vào -thư viện lá cờ. Thông tin khác bị cắt nếu cờ đó là
đã bật.

trang trí chung:
Cắt bớt số lượng khai báo khối chung được lưu trữ trong tệp dự án.
Đây là mặc định. Chỉ tắt tùy chọn này trong những trường hợp hiếm hoi. (Nhìn thấy
thảo luận bên dưới.) Tùy chọn này không có hiệu lực nếu -thư viện cờ bị lật
tắt: khi không ở chế độ thư viện, không có khai báo khối chung nào được cắt
được thực hiện bất kể tùy chọn này.

Tệp dự án chứa một bản tóm tắt thông tin từ tệp nguồn, để sử dụng trong
kiểm tra sự đồng ý giữa các cách sử dụng FUNCTION, SUBROUTINE và COMMON trong các tệp khác.
Nó cho phép kiểm tra gia tăng, giúp tiết kiệm thời gian bất cứ khi nào bạn có một tập hợp lớn
các tệp chứa các chương trình con được chia sẻ, hầu hết các chương trình này hiếm khi thay đổi. Bạn có thể chạy
ftnchek một lần trên mỗi tệp với -dự án thiết lập cờ, tạo các tệp dự án.
Thông thường, bạn cũng sẽ đặt -thư viện-noextern cờ vào lúc này, để
ngăn chặn các thông báo liên quan đến tính nhất quán với các tệp khác. Chỉ thông báo lỗi
liên quan đến từng tệp của chính nó sẽ được in tại thời điểm này. Sau đó, chạy
ftnchek không có các cờ này trên tất cả các tệp dự án cùng nhau, để kiểm tra tính nhất quán
giữa các tệp khác nhau. Tất cả các thông báo nội bộ của các tệp riêng lẻ bây giờ sẽ
được bỏ qua. Chỉ khi tệp được thay đổi thì tệp dự án mới cần được tạo
cho nó.

Đương nhiên, khi -dự án tùy chọn được bật, ftnchek sẽ không đọc dự án
tệp làm đầu vào.

Thông thường, các tùy chọn cắt nên được để lại khi bạn định tạo dự án
các tệp để đầu vào trong tương lai ftnchek. Vì tính năng cắt tỉa được bật theo mặc định, điều này có nghĩa là
chỉ đơn giản là đưa ra lệnh -dự án không có danh sách tùy chọn được khuyến nghị
chế độ. Các tùy chọn trang trí chỉ được cung cấp để tạo sự thuận tiện cho những ai muốn
sử dụng các tệp dự án cho các mục đích khác ngoài việc kiểm tra chương trình với
ftnchek. Để sử dụng các tệp dự án cho mục đích dự định của chúng, các tùy chọn cắt nên
không bị tắt.

Tệp dự án chỉ chứa thông tin cần thiết để kiểm tra sự thống nhất giữa các tệp.
Điều này có nghĩa là tệp dự án sẽ không được sử dụng nếu tất cả các mô-đun của chương trình hoàn chỉnh
được chứa trong một tệp duy nhất.

Một cuộc thảo luận chi tiết hơn được đưa ra trong phần Sử dụng tệp dự án.

-nguyên chất
Giả sử các chức năng là `` thuần túy '', tức là chúng sẽ không có tác dụng phụ bằng cách sửa đổi
các đối số hoặc biến của chúng trong một khối COMMON. Khi cờ này có hiệu lực,
ftnchek sẽ dựa trên việc xác định trạng thái đặt và sử dụng của các đối số thực tế
với giả định rằng các đối số được truyền cho một hàm không bị thay đổi. Nó sẽ
cũng đưa ra cảnh báo nếu một hàm được tìm thấy sửa đổi bất kỳ đối số nào của nó hoặc bất kỳ
Các biến thông thường. Mặc định = có.

Khi cờ này bị tắt, các đối số thực tế được truyền cho các hàm sẽ được xử lý
theo cách tương tự như các đối số thực tế được truyền cho các chương trình con. Điều này có nghĩa rằng ftnchek
sẽ giả định rằng các đối số có thể được sửa đổi bởi các hàm. Sẽ không có cảnh báo
được đưa ra nếu một chức năng được phát hiện có tác dụng phụ. Bởi vì kiểm tra chặt chẽ hơn là
có thể nếu các chức năng được giả định là thuần túy, bạn chỉ nên tắt cờ này nếu
chương trình của bạn thực sự sử dụng các chức năng với các tác dụng phụ.

-Yên lặng
Tùy chọn này làm giảm số lượng đầu ra liên quan đến hoạt động bình thường, do đó
thông báo lỗi rõ ràng hơn. Tùy chọn này được cung cấp để tạo sự thuận tiện cho
người dùng đang kiểm tra bộ tệp lớn. Đầu ra bị loại bỏ bao gồm
tên của các tệp dự án và thông báo báo cáo rằng không tìm thấy lỗi cú pháp nào.
Nó cũng loại bỏ một số dòng trống thường được bao gồm để rõ ràng. (Một số
đầu ra này được bật lại bởi -danh sách-biểu tượng tùy chọn.) Mặc định = không.

Lưu ý: cách để ghi nhớ sự khác biệt giữa -Yên lặng-ngắn gọn
-Yên lặng không ngăn chặn bất kỳ thông tin liên quan đến cảnh báo nào, ngược lại -ngắn gọn không.

Xem thêm: -ngắn gọn.

-tài liệu tham khảo
Chỉ định rằng một bảng ai-gọi-ai được in. Bảng này liệt kê từng chương trình con
theo sau là danh sách các thói quen mà nó gọi. Công tắc này tương đương với
-calltree = tham khảo. Mặc định = không.

Danh sách tham chiếu bỏ qua các quy trình được gọi bởi các mô-đun thư viện không sử dụng. Do đó nó
chứa thông tin tương tự như đối với định dạng cây cuộc gọi, cụ thể là hệ thống phân cấp của
các cuộc gọi chương trình con, nhưng được in theo một cách khác. Điều này in ra một bề rộng-đầu tiên
đi ngang qua cây gọi trong khi -calltree = cây in ra độ sâu đầu tiên
đi ngang.

Xem thêm: -calltree, -crossref, -thư viện, -loại, -biểu tượng, -vcg.

-tài nguyên
In lượng tài nguyên được sử dụng bởi ftnchek trong quá trình xử lý chương trình. Điều này
danh sách có thể hữu ích trong việc phân tích kích thước và độ phức tạp của một chương trình. Nó có thể
cũng giúp chọn kích thước lớn hơn cho ftnchekcác bảng nội bộ nếu chúng cũng
nhỏ để phân tích một chương trình cụ thể. Mặc định = không.

Trong danh sách này, thuật ngữ `` kích thước chunk '' là kích thước của các khối bộ nhớ
được phân bổ để lưu trữ mặt hàng được đề cập, theo đơn vị kích thước của một mặt hàng, không
nhất thiết phải tính bằng byte. Khi không gian được cấp phát ban đầu được lấp đầy, nhiều bộ nhớ hơn
được phân bổ theo khối có kích thước này. Sau đây là giải thích về các mặt hàng
in:

nguồn dòng xử lý:
Tổng số dòng mã, với các tổng riêng biệt cho các dòng câu lệnh và
những dòng bình luận. Dòng chú thích cũng bao gồm các dòng với 'C' hoặc '*' trong cột 1
dưới dạng dòng trống và dòng chỉ chứa chú thích nội tuyến. Dòng tuyên bố
là tất cả các dòng khác, bao gồm các dòng có chú thích nội tuyến sau một số
mã số. Các dòng tiếp tục được tính là các dòng riêng biệt. Các dòng bao gồm
các tệp được tính mỗi khi tệp được đưa vào.

Tổng số: thực thi được các câu lệnh:
Số lượng các câu lệnh trong chương trình, ngoài đặc tả, dữ liệu, câu lệnh-
các câu lệnh hàm, ĐỊNH DẠNG, ENTRY, và KẾT THÚC.

Tổng số: con số of mô-đun:
Mô-đun là bất kỳ chương trình con bên ngoài nào, bao gồm chương trình chính, các chương trình con,
chức năng và khối dữ liệu đơn vị. Số lượng này là của các mô-đun được xác định trong
nguồn, không phải mô-đun được tham chiếu. Các chức năng câu lệnh không được bao gồm. MỘT
chương trình con có nhiều điểm nhập chỉ được tính một lần.

Tổng số: tuyên bố nhãn xác định
Số nhãn được gắn vào câu lệnh (thường được gọi là số câu lệnh). Các
tổng số nhãn cho toàn bộ chương trình được đưa ra, cũng như số lượng nhãn tối đa
số trong bất kỳ chương trình con đơn lẻ nào.

Max định danh tên ký tự:
Số ký tự được sử dụng để lưu trữ tên định danh. Định danh là một
biến, chương trình con hoặc tên khối chung. Tên địa phương là tên địa phương
các biến trong một chương trình con, trong khi tên toàn cục đề cập đến chương trình con và
tên khối, cũng như tên đối số giả và tên biến phổ biến. Thật sự
văn bản đối số (tối đa 15 ký tự cho mỗi đối số) cũng được bao gồm ở đây.
Không gian được sử dụng cho tên cục bộ không được phục hồi ở cuối mỗi mô-đun, vì vậy
con số này, giống như không gian toàn cầu, tăng lên cho đến khi toàn bộ chương trình được phân tích.
Thật không may, hình này có thể bao gồm một số văn bản được lưu trữ nhiều lần,
mặc dù heuristic được sử dụng để tránh trùng lặp trong nhiều trường hợp.

Max mã thông báo văn bản ký tự:
Mã thông báo là đơn vị cú pháp nhỏ nhất của ngôn ngữ FORTRAN trên cấp
của các ký tự riêng lẻ. Ví dụ: mã thông báo có thể là một tên biến,
hằng số, một chuỗi văn bản được trích dẫn hoặc một ký tự dấu câu. Mã thông báo
văn bản được lưu trữ trong khi một mô-đun đang được xử lý. Vì lý do kỹ thuật,
mã thông báo một ký tự không được bao gồm trong tổng số này. Các mặt hàng không
đại diện trong bảng ký hiệu có thể bị trùng lặp. Khoảng trống cho văn bản mã thông báo là
được phục hồi ở cuối mỗi mô-đun, vì vậy con số này đại diện cho mức tối đa cho
bất kỳ một mô-đun nào.

Max địa phương ký hiệu:
Đây là số lượng mục nhập lớn nhất trong bảng ký hiệu cục bộ cho bất kỳ mô-đun nào.
Các mục nhập bảng ký hiệu cục bộ bao gồm tất cả các biến và tham số, khối chung
tên, hàm câu lệnh, chương trình con bên ngoài và hàm nội tại
được tham chiếu bởi mô-đun. Các hằng số theo nghĩa đen không được lưu trữ trong biểu tượng cục bộ
bảng.

Max toàn cầu ký hiệu:
Đây là số mục nhập trong bảng ký hiệu chung ở cuối
Chế biến. Các mục nhập bảng ký hiệu chung bao gồm chương trình con bên ngoài và
tên khối. Các hàm nội tại và các hàm câu lệnh không được bao gồm.

Max con số of danh sách mã thông báo:
Danh sách mã thông báo là một chuỗi mã thông báo đại diện cho đối số thực hoặc giả
danh sách chương trình con hoặc danh sách các biến trong một khối chung hoặc danh sách tên.
Do đó, con số này đại diện cho tổng lớn nhất của COMMON, CALL, NAMELIST và
Câu lệnh ENTRY và lời gọi hàm cho bất kỳ một mô-đun nào. Không gian là
được phục hồi ở cuối mỗi mô-đun.

Max mã thông báo danh sách / cây không gian:
Đây là số lượng mã thông báo lớn nhất trong tất cả các danh sách mã thông báo và cây mã thông báo của
bất kỳ một mô-đun nào. Cây mã thông báo được hình thành khi phân tích một biểu thức: mỗi
toán hạng là một lá của cây, và các toán tử là các nút. Do đó cái này
số là thước đo độ phức tạp tối đa của một mô-đun riêng lẻ. Vì
ví dụ một mô-đun có nhiều biểu thức số học dài sẽ có
số. Lưu ý rằng không giống như văn bản mã thông báo được mô tả ở trên, số lượng mã thông báo là
không phụ thuộc vào độ dài của tên biến hoặc hằng số chữ trong
biểu thức.

Con số of chương trình con lời kêu gọi:
Đây là tổng trên tất cả các mô-đun của số câu lệnh và hàm CALL
các lệnh gọi (ngoại trừ các hàm nội tại và các hàm câu lệnh).

Con số of chung chặn tuyên bố:
Đây là tổng trên tất cả các mô-đun của số lượng khai báo khối chung.
Nghĩa là, mỗi khai báo của một khối trong một mô-đun khác nhau được tính
riêng biệt. (Tiêu chuẩn cho phép nhiều khai báo của một khối trong
cùng một mô-đun; chúng chỉ được tính là một khai báo vì chúng
tương đương với một khai báo dài.)

Con số of mảng Sun. & tiền của tôi ptr:
Đây là tổng trên tất cả các mô-đun của số thứ nguyên và tham số mảng
chuỗi văn bản định nghĩa được lưu để sử dụng bởi -madecls lựa chọn. Chiều dài của
các chuỗi văn bản không được tính. Mỗi chiều của mảng nhiều chiều là
được tính riêng.

Những con số này rõ ràng là không giống nhau khi các tệp dự án được sử dụng thay cho
mã nguồn ban đầu. Ngay cả những con số cho các thực thể toàn cầu có thể khác nhau,
vì một số thông tin thừa sẽ bị loại bỏ trong các tệp dự án.

-sáu ký tự
Một trong những mục tiêu của ftnchek chương trình giúp người dùng viết Fortran di động
các chương trình. Một nguồn tiềm ẩn của tính phi di động là việc sử dụng các tên biến
dài hơn sáu ký tự. Một số trình biên dịch chỉ bỏ qua các ký tự phụ.
Hành vi này có thể dẫn đến hai biến số khác nhau được coi là
như nhau. Ví dụ: các biến có tên AVERAGECOST và AVERAGEPRICE giống nhau
trong sáu ký tự đầu tiên. Nếu bạn muốn nắm bắt những xung đột có thể xảy ra như vậy, hãy sử dụng
cờ này. Mặc định = không.

Sử dụng -f77 = tên dài nếu bạn muốn liệt kê tất cả các biến dài hơn sáu
các ký tự, không chỉ những cặp giống nhau trong sáu ký tự đầu tiên.

Xem thêm: -f77, -khả năng di chuyển.

-loại
Chỉ định rằng một danh sách đã sắp xếp của tất cả các mô-đun được sử dụng trong chương trình sẽ được in. Điều này
danh sách theo thứ tự `` điều kiện tiên quyết '', tức là mỗi mô-đun chỉ được in sau tất cả
mô-đun mà từ đó nó được gọi là đã được in. Đây còn được gọi là
`` sắp xếp cấu trúc liên kết '' của cây cuộc gọi. Mỗi mô-đun chỉ được liệt kê một lần. Thói quen
không có trong cây cuộc gọi của chương trình chính bị bỏ qua. Nếu có cái nào
các chu kỳ trong biểu đồ cuộc gọi (bất hợp pháp trong Fortran tiêu chuẩn), chúng sẽ được phát hiện và
được chẩn đoán. Mặc định = không.

Xem thêm: -calltree, -crossref, -tài liệu tham khảo, -biểu tượng, -vcg.

-nguồn =
Cài đặt này kiểm soát các tùy chọn nhất định về hình thức của mã nguồn Fortran.
Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có ba
từ khóa đặc biệt: tất cả các để bật tất cả các tùy chọn, không ai để tắt tất cả chúng, và
giúp đỡ để in danh sách tất cả các từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như
bị bỏ qua, -Source tương đương với -source = tất cả-Không có nguồn là tương đương
đến -source = none.

Để tương thích với các phiên bản trước của ftnchek, một dạng số của cài đặt này
cũng được chấp nhận: được thay thế bằng một số là tổng của các số
trong ngoặc đơn bên cạnh các từ khóa trong danh sách sau. (Các cố địnhtự do
các tùy chọn không có giá trị số.) Các từ khóa cảnh báo với ý nghĩa của chúng là
như sau:

cố định:
Giải thích nguồn dưới dạng cố định (với các phần mở rộng được hỗ trợ như
dấu chấm than cho ý kiến). Các câu lệnh phải nằm trong cột từ 7 đến 72
(trừ khi -cols cài đặt đã được sử dụng để thay đổi điều này) và khoảng trống không
bối cảnh nhân vật bên ngoài quan trọng (nhưng được cảnh báo về dưới -đẹp
lựa chọn). Đây là chế độ mặc định trừ khi phần mở rộng tệp nguồn là .f90
or .F90. tùy chọn này không thể được đưa ra cùng với -source = miễn phí.

tự do: Diễn giải nguồn dưới dạng biểu mẫu miễn phí. Các câu lệnh có thể ở bất kỳ đâu trong các cột 1
đến 132, nhận xét chỉ có thể bắt đầu bằng dấu chấm than và khoảng trống là
yêu cầu ở một số nơi chẳng hạn như giữa số nhận dạng và từ khóa. Đây là
chế độ mặc định nếu phần mở rộng tệp nguồn là .f90 or .F90. Tùy chọn này
không thể được trao cùng với -source = fixed or -source = dec-tab

tab dec (1):
Chấp nhận nguồn có định dạng tab kiểu DEC. Một dòng bắt đầu bằng một tab đầu tiên
sẽ được coi là một dòng câu lệnh mới trừ khi ký tự sau tab là
một chữ số khác không, trong trường hợp đó, nó được coi là một dòng tiếp tục. Các
cột tiếp theo sau tab hoặc dấu tiếp tục được lấy làm cột 7. A
cảnh báo sẽ được đưa ra trong trường hợp dòng tiếp tục, nếu
-f77 = tab dec đang có hiệu lực.

vms-bao gồm (2):
Chấp nhận các câu lệnh INCLUDE kiểu VMS. Chúng tuân theo cú pháp bình thường, nhưng
với các tính năng bổ sung sau: (1) phần mở rộng tệp, nếu không được cung cấp,
mặc định giống như phần mở rộng tệp nguồn bình thường; và (2) tùy chọn
/ LIST hoặc / NOLIST có thể được thêm vào tên tệp bao gồm, để kiểm soát danh sách
nội dung của nó.

dấu gạch chéo ngược unix (4):
Xử lý dấu gạch chéo ngược kiểu UNIX thoát ra trong chuỗi ký tự. Lối thoát
trình tự theo sau dấu gạch chéo ngược sẽ được đánh giá theo ANSI
tiêu chuẩn cho các chuỗi trong C: tối đa ba chữ số biểu thị một giá trị bát phân, một x
biểu thị sự bắt đầu của một hằng số thập lục phân, bất kỳ chữ cái nào trong số các chữ cái abfnrt
ký hiệu các mã kiểm soát đặc biệt và bất kỳ ký tự nào khác (bao gồm cả dòng mới)
biểu thị chính nhân vật. Khi tùy chọn mã nguồn này có hiệu lực,
cảnh báo sẽ được đưa ra nếu -f77 = dấu gạch chéo ngược cài đặt được chỉ định.

Hành vi mặc định là xử lý dấu gạch chéo ngược giống như bất kỳ hành vi bình thường nào khác
nhưng một cảnh báo về tính di động sẽ được tạo nếu
-khả năng di chuyển cờ được thiết lập. Bởi vì thực tế là một số trình biên dịch xử lý
dấu gạch chéo ngược theo cách không chuẩn, có thể phù hợp với tiêu chuẩn
chương trình không di động nếu chúng sử dụng ký tự gạch chéo ngược trong chuỗi.

từ ftnchek không có tác dụng nhiều với chuỗi được diễn giải, nó hiếm khi
cần thiết để sử dụng tùy chọn này. Nó là cần thiết để tránh giả mạo
cảnh báo chỉ khi (a) chương trình đang được kiểm tra sử dụng dấu gạch chéo ngược để nhúng một
dấu nháy đơn hoặc dấu ngoặc kép trong một chuỗi thay vì sử dụng cơ chế chuẩn
nhân đôi dấu phân cách; (b) dấu gạch chéo ngược được sử dụng để thoát khỏi phần cuối của-
dòng để tiếp tục một chuỗi trên nhiều dòng nguồn; hoặc (c) a
Định nghĩa PARAMETER sử dụng một hàm chuỗi nội tại chẳng hạn như LEN với
một chuỗi làm đối số và giá trị đó sau này được sử dụng để xác định mảng
kích thước, v.v.

param-ẩn-loại (8):
Nhập ngầm một tham số theo kiểu dữ liệu của giá trị được chỉ định. Một số
trình biên dịch không chuẩn có thể cho phép kiểu dữ liệu của giá trị ghi đè
Fortran 77 loại mặc định của một tham số dựa trên chữ cái đầu tiên của
tên tham số. Tùy chọn này chỉ áp dụng cho các câu lệnh PARAMETER của
dạng tiêu chuẩn có dấu ngoặc đơn. Một tham số đã được rõ ràng
được khai báo trong một câu lệnh kiểu trước câu lệnh PARAMETER không bị ảnh hưởng
bởi tùy chọn này. Một cảnh báo sẽ được đưa ra dưới -f77 = param-implicit-type
or -portability = param-implicit-type tùy chọn.

Lưu ý rằng kiểu nhập ẩn này được coi là tương đương với kiểu không rõ ràng
khai báo cho tham số. Do đó, nếu bạn sử dụng
-makedcls = undeclared-only chỉ để tạo ra các khai báo của không được khai báo
các biến, các tham số này sẽ không được bao gồm.

dec-param-loại tiêu chuẩn (16):
Tuân theo quy tắc Fortran 77 để nhập dữ liệu của các tham số kiểu DEC Fortran.
Chúng được khai báo bằng cách sử dụng dạng không chuẩn của câu lệnh PARAMETER mà
thiếu dấu ngoặc đơn. Theo DEC Fortran, các thông số được xác định bởi biểu mẫu này
của câu lệnh có kiểu dữ liệu của chúng được cung cấp bởi kiểu dữ liệu của giá trị
giao. Sử dụng tùy chọn này để nói ftnchek không tuân theo quy tắc này nhưng
thay vào đó để sử dụng quy tắc tương tự như cho các câu lệnh PARAMETER tiêu chuẩn. Điều này
tùy chọn không áp dụng cho các câu lệnh PARAMETER của dạng chuẩn.

Theo mặc định, tất cả các tùy chọn mã nguồn này đều bị tắt, ngoại trừ
vms-bao gồm tùy chọn này được bật theo mặc định trong phiên bản VMS ..

Xem thêm: -f77, bao gồm, -khả năng di chuyển.

-style =
Cung cấp cảnh báo cực kỳ kén chọn về chương trình lỗi thời hoặc lỗi thời
công trình xây dựng. Tùy chọn này hữu ích cho những nỗ lực theo một chương trình hiện đại
Phong cách. (Hầu hết những điều bị phàn nàn theo tùy chọn này đều bị cấm trong
F tập hợp con ngôn ngữ.) By vỡ nợ, tất cả các cảnh báo đang quay tắt.

Sản phẩm bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Có ba
từ khóa đặc biệt: tất cả các để bật tất cả các tùy chọn, không ai để tắt tất cả chúng, và
giúp đỡ để in danh sách tất cả các từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như
bị bỏ qua, -Phong cách tương đương với -style = tất cả-nostyle tương đương với
-style = không. Các từ khóa cảnh báo với ý nghĩa của chúng như sau:

khối-nếu:
Khiếu nại về câu lệnh IF số học. Chấp nhận IF khối hoặc IF lôgic (mà
điều khiển một câu lệnh duy nhất).

tên cấu trúc:
Khiếu nại về cấu trúc khối không tên: IF, DO và SELECT CASE. Lưu ý rằng
nếu tên một cấu trúc xuất hiện trên câu lệnh mở đầu của một cấu trúc, thì
nó bắt buộc phải có trên tất cả các câu lệnh thành phần khác (ELSE, END IF,
vv) của cấu trúc. Trong trường hợp đó, thiếu tên cấu trúc trên những
câu lệnh tạo ra lỗi cú pháp bất kể tùy chọn này. Mục đích
của tùy chọn này là để cảnh báo nếu cấu trúc hoàn toàn thiếu tùy chọn
tên.

riêng biệt:
Khiếu nại nếu hai vòng lặp DO chia sẻ một câu lệnh kết thúc chung.

xây dựng:
Khiếu nại nếu phần tử kết thúc của vòng lặp DO là bất kỳ điều gì khác ngoài kết thúc DO hoặc
Tuyên bố TIẾP TỤC. Đây là yêu cầu để vòng lặp đáp ứng
Fortran 90 định nghĩa về một do-construct.

làm-enddo:
Khiếu nại nếu phần tử kết thúc của vòng lặp DO là bất kỳ điều gì khác hơn là KẾT THÚC DO
bản tường trình. (Tùy chọn này ghi đè xây dựng tùy chọn, thậm chí
chặt chẽ hơn.)

tên cuối cùng:
Khiếu nại về việc không có tên chương trình con trên END có cấu trúc
các câu lệnh.

định dạng-stmt:
Khiếu nại về sự hiện diện của các câu lệnh FORMAT. Chỉ các câu lệnh ĐỊNH DẠNG
chúng được gắn cờ chứ không phải tham chiếu đến chúng trong danh sách I / O.

goto: Khiếu nại về sự hiện diện của GOTO vô điều kiện, được tính toán hoặc được chỉ định
các câu lệnh. Cũng phàn nàn về trả lại thay thế (nhưng không phải về nhãn như
các đối số của chương trình con).

nhãn-stmt:
Khiếu nại về sự hiện diện của các nhãn (số) trên các câu lệnh khác với
Định dạng câu lệnh. (Vì các câu lệnh ĐỊNH DẠNG được cho là thuận tiện và không
dễ bị lạm dụng, các khiếu nại về chúng được kiểm soát bởi
định dạng-stmt từ khóa.)

chương trình-stmt:
Khiếu nại về việc không có câu lệnh CHƯƠNG TRÌNH ở phần đầu của main
chương trình.

kết cấu:
Phàn nàn về việc sử dụng câu lệnh END đơn giản để kết thúc chương trình con, thay vì
hơn một câu lệnh END có cấu trúc (END PROGRAM, END SUBROUTINE, END FUNCTION,
hoặc KẾT THÚC DỮ LIỆU KHỐI).

Xem thêm: -f77, -f90, -f95, -đẹp, -khả năng di chuyển.

-biểu tượng
Một bảng ký hiệu sẽ được in ra cho mỗi mô-đun, liệt kê tất cả các số nhận dạng
được đề cập trong mô-đun. Bảng này cung cấp tên của từng biến, kiểu dữ liệu của nó,
và số thứ nguyên cho mảng. Dấu hoa thị (*) cho biết rằng
biến đã được nhập một cách ngầm định, thay vì được đặt tên trong một kiểu rõ ràng
bản tuyên bố. Bảng cũng liệt kê tất cả các chương trình con được gọi bởi mô-đun,
tất cả các khối COMMON được khai báo, v.v. Mặc định = không.

Ngoài ra, đối với mỗi mô-đun, một bảng nhãn sẽ được in. Bảng liệt kê từng nhãn
được định nghĩa trong mô-đun; dòng mà trên đó nhãn câu lệnh được xác định; và
kiểu câu lệnh (thực thi, định dạng hoặc đặc tả). Các nhãn được liệt kê trong
yêu cầu tiếp theo.

Cũng được in ra là một bảng mô tả các đơn vị I / O được sử dụng bởi mô-đun, cùng với
thông tin về cách chúng được sử dụng: những hoạt động nào được thực hiện, liệu
truy cập là tuần tự hoặc trực tiếp và cho dù I / O được định dạng hay không được định dạng.

Xem thêm: -calltree, -crossref, -danh sách, -tài liệu tham khảo, -loại, -vcg.

-truncation =
Cảnh báo về các lỗi cắt bớt (hoặc làm tròn) có thể xảy ra. Hầu hết những điều này đều liên quan đến
số học nguyên. Theo mặc định, tất cả các cảnh báo đều được bật.

Cài đặt này cung cấp khả năng kiểm soát chi tiết đối với các cảnh báo về khả năng bị cắt
các lỗi. Các bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Khi tất cả
cảnh báo được bật theo mặc định, bao gồm một từ khóa có tiền tố là không- để tắt một
cảnh báo cụ thể. Có ba từ khóa đặc biệt: tất cả các để bật tất cả
cảnh báo về việc cắt ngắn, không ai để tắt tất cả chúng, và giúp đỡ để in danh sách
tất cả các từ khóa với giải thích ngắn gọn về mỗi từ khóa. Nếu như bị bỏ qua, -cắt ngắn
tương đương với -truncation = tất cả-cấu trúc tương đương với
-truncation = không có. Các từ khóa cảnh báo với ý nghĩa của chúng như sau:

int-div-số mũ:
sử dụng kết quả của phép chia số nguyên dưới dạng số mũ. Điều này cho thấy rằng một
thương số thực được dự định. Một ví dụ sẽ là viết X ** (1/3) để đánh giá
căn bậc hai của X. Biểu thức đúng là X ** (1./3.).

int-div-thực:
Chuyển đổi một biểu thức liên quan đến một phép chia số nguyên thành số thực. Điều này
gợi ý rằng một thương số thực được dự định.

int-div-zero:
phép chia trong một biểu thức hằng số nguyên cho kết quả bằng không.

int-neg-sức mạnh:
lũy thừa một số nguyên với một số nguyên âm (kết quả là số XNUMX trừ khi
số nguyên cơ sở có độ lớn là 1). Điều này cho thấy rằng một cơ sở thực sự là
dự định.

xúc tiến:
tự động chuyển đổi số lượng có độ chính xác thấp hơn thành một trong những số lượng cao hơn
độ chính xác. Việc mất độ chính xác đối với các biến thực trong quá trình này là
so sánh với cách chức tương ứng. Không có cảnh báo nào được đưa ra cho khuyến mại
của số lượng nguyên thành thực vì điều này thường chính xác.

thực-do-chỉ mục:
sử dụng chỉ số DO không phải số nguyên trong vòng lặp có giới hạn số nguyên. Một số nguyên DO
chỉ mục với giới hạn thực luôn được cảnh báo về bất kể cài đặt này.

chỉ số dưới thực:
sử dụng chỉ số con mảng không phải số nguyên.

con số quan trọng:
xác định quá mức một hằng số chính xác duy nhất. Điều này có thể chỉ ra rằng một
hằng số chính xác đã được dự định.

kích thước-giáng chức:
tự động chuyển đổi số lượng có độ chính xác cao hơn thành một số lượng có độ chính xác thấp hơn
cùng loại. Cảnh báo này chỉ xảy ra khi một kích thước rõ ràng được sử dụng trong
khai báo kiểu của một hoặc cả hai toán hạng trong một phép gán. Ví dụ, một
cảnh báo sẽ được đưa ra khi biến REAL * 8 được gán cho biến REAL,
nếu kích thước từ mặc định là 4 có hiệu lực. Một cảnh báo cũng được đưa ra nếu
số nguyên dài được gán cho một số nguyên ngắn hơn, ví dụ: nếu một INTEGER
biểu thức được gán cho một biến INTEGER * 2. Có một ngoại lệ đối với
trường hợp cuối cùng này, cụ thể là nếu phía bên phải của nhiệm vụ là một
hằng số chữ (nhỏ hơn 128). loại-giáng chức: chuyển đổi tự động của một
số lượng chính xác cao hơn đến một trong số các loại khác nhau có độ chính xác thấp hơn. Điều này
cảnh báo bao gồm chuyển đổi số lượng thực thành số nguyên, độ chính xác kép
thành giá trị thực chính xác duy nhất và gán một chuỗi ký tự dài hơn cho một
ngắn hơn.

Các cảnh báo về thăng chức và cách chức cũng áp dụng cho các hằng số phức tạp,
coi độ chính xác là của phần thực hoặc phần ảo. Cảnh báo về
khuyến mại và giới thiệu chỉ được đưa ra khi quá trình chuyển đổi được thực hiện tự động,
ví dụ: trong các biểu thức của độ chính xác hỗn hợp hoặc trong một câu lệnh gán. Nếu nội tại
các chức năng như INT được sử dụng để thực hiện chuyển đổi, không có cảnh báo nào được đưa ra.

Xem thêm: -khả năng di chuyển, -Kích thước từ.

-sage =
Cảnh báo về các biến chưa được khởi tạo hoặc có thể chưa được sử dụng, các khối chung không được sử dụng,
nhãn câu lệnh không xác định hoặc không được sử dụng, và chương trình con không được sử dụng hoặc không được xác định. Qua
mặc định, tất cả các cảnh báo đều được bật.

Cài đặt này cung cấp khả năng kiểm soát chi tiết đối với các cảnh báo về khả năng sử dụng
các lỗi. Các bao gồm các từ khóa được phân tách bằng dấu phẩy hoặc dấu hai chấm. Khi tất cả
cảnh báo được bật theo mặc định, bao gồm một từ khóa có tiền tố là không- để tắt một
cảnh báo cụ thể. Có ba từ khóa đặc biệt: tất cả các để bật tất cả
cảnh báo về việc sử dụng, không ai để tắt tất cả chúng, và giúp đỡ để in danh sách tất cả
các từ khóa với giải thích ngắn gọn về từng từ khóa. Nếu như bị bỏ qua, -sử dụng is
tương đương với -usage = tất cả-mặt hàng tương đương với -usage = không có. Kia là
cảnh báo bao gồm bốn loại đối tượng chính: đối số giả của chương trình con, thông thường
khối và biến, chương trình con và hàm, và biến cục bộ. Cảnh báo
bao gồm các mục chưa xác định, nhân các mục đã xác định, các mục không sử dụng, v.v. Cảnh báo
từ khóa với ý nghĩa của chúng như sau:

arg-bí danh:
một đối số giả vô hướng thực sự giống với một đối số khác và là (hoặc có thể là)
đã sửa đổi. Tiêu chuẩn Fortran 77 (mục 15.9.3.6) cấm sửa đổi một
đối số được đặt bí danh cho một đối số khác.

arg-mảng-bí danh:
một đối số giả là một mảng hoặc phần tử mảng nằm trong cùng một mảng với
khác và được sửa đổi. Cờ này tương tự như arg-bí danh nhưng cung cấp
kiểm soát riêng biệt đối với các đối số mảng. Thật khó để biết liệu răng cưa có phải là
xảy ra trong trường hợp của mảng, vì vậy nếu ftnchek đưa ra quá nhiều cảnh báo sai,
cờ này cho phép tắt những cái liên quan đến mảng mà không chặn
các cảnh báo cho các đại lượng vô hướng.

arg-common-bí danh:
một đối số giả vô hướng giống với một biến chung trong chương trình con,
và một trong hai được sửa đổi. Điều này cũng bị cấm theo tiêu chuẩn Fortran 77.
Nếu kiểm tra thông thường không chính xác (xem -chung cài đặt), khó hơn
cho biết liệu răng cưa có đang xảy ra hay không, do đó, cảnh báo sẽ được đưa ra nếu biến
bất kỳ đâu trong một khối chung được khai báo bởi chương trình con.

arg-common-mảng-bí danh:
một đối số giả là một mảng hoặc phần tử mảng nằm trong cùng một mảng với một
biến chung, và một trong hai được sửa đổi. Nếu kiểm tra thông thường không chính xác,
biến có thể ở bất kỳ đâu trong một khối chung được khai báo bởi
chương trình con.

arg-const-đã sửa đổi:
một chương trình con sửa đổi một đối số là một hằng số hoặc một biểu thức. Như là
một hành động có thể gây ra hành vi bất thường của chương trình.

arg-không sử dụng:
một đối số giả được khai báo nhưng không bao giờ được sử dụng. Điều này tương tự như
var-used từ khóa được mô tả bên dưới, nhưng chỉ áp dụng cho các đối số.

com-block-used:
một khối chung được khai báo nhưng không có biến nào trong đó được sử dụng bởi bất kỳ
chương trình con. Cảnh báo này bị tắt nếu cài đặt mức độ nghiêm ngặt chung là
0.

com-khối-dễ bay hơi:
một khối chung có thể mất định nghĩa nội dung của nó nếu các khối chung
bay hơi. Tùy chọn này chỉ có hiệu lực nếu -common = dễ bay hơi cờ ở
hiệu ứng. Xem cuộc thảo luận của -chung thiết lập ở trên.

com-var-set-used:
một biến chung được gán một giá trị, nhưng giá trị của nó không được sử dụng bởi bất kỳ
chương trình con. Cảnh báo này bị tắt nếu cài đặt mức độ nghiêm ngặt chung là
0.

com-var-chưa khởi tạo:
giá trị của một biến chung được sử dụng trong một số chương trình con, nhưng không được đặt
ở bất cứ đâu. Không may, ftnchek không phân tích đủ kỹ lưỡng về
trình tự gọi để biết quy trình nào được gọi trước những quy trình khác. Cho nên
cảnh báo về loại lỗi này sẽ chỉ được đưa ra cho các trường hợp trong đó
biến được sử dụng trong một số quy trình nhưng không được đặt trong bất kỳ quy trình nào khác. Kiểm tra
của các biến COMMON riêng lẻ chỉ được thực hiện nếu -chung cài đặt là 3
(tùy biến theo thỏa thuận). Cảnh báo này bị chặn nếu chung
cài đặt nghiêm ngặt là 0.

com-var-used:
một biến chung được khai báo nhưng không được sử dụng bởi bất kỳ chương trình con nào. Cảnh báo này
bị tắt nếu cài đặt mức độ nghiêm ngặt chung là 0.

do-index-sửa đổi:
một biến là chỉ số của vòng lặp DO được sửa đổi bởi một số câu lệnh
trong phạm vi của vòng lặp. Tiêu chuẩn cho phép một biến DO hoạt động để
chỉ được sửa đổi bởi cơ chế tăng dần của câu lệnh DO.

ext-nhân-xác định:
một bên ngoài (một chương trình con hoặc một hàm) được định nghĩa nhiều hơn một lần. Sự định nghĩa
của một bên ngoài có nghĩa là cung cấp phần thân của mã nguồn của nó.

chỉ khai báo bên ngoài:
tên được khai báo trong câu lệnh BÊN NGOÀI trong một số mô-đun, nhưng không
được định nghĩa hoặc sử dụng ở bất cứ đâu.

không xác định:
một bên ngoài được sử dụng (được gọi) nhưng không được định nghĩa ở bất kỳ đâu. Tùy chọn này là
tương đương với -bên ngoài lá cờ. Nếu chương trình con được gọi nhiều hơn
một lần, những lời gọi đó sẽ vẫn được kiểm tra tính nhất quán.

không sử dụng:
một bên ngoài được xác định (phần thân chương trình con của nó hiện diện) nhưng nó không được sử dụng.
Một chương trình con được coi là không sử dụng ngay cả khi nó được gọi bởi một số
chương trình con, nếu nó không thể được gọi từ bất kỳ chuỗi thực thi nào bắt đầu bằng
chương trình chính. Sự đồng ý của các đối số của chương trình con với
lời gọi vẫn được kiểm tra ngay cả khi cảnh báo này bị tắt. Nếu đó là
không có chương trình chính, thì cảnh báo này chỉ được đưa ra nếu chương trình con không
được gọi ở bất cứ đâu. Cảnh báo này bị chặn ở chế độ thư viện, nhưng thư viện
chế độ có tác dụng bổ sung là ngăn chặn kiểm tra đối số để không sử dụng
các thói quen.

nhãn không xác định:
một câu lệnh đề cập đến một nhãn chưa được xác định.

nhãn không sử dụng:
một nhãn câu lệnh được xác định, nhưng không bao giờ được tham chiếu.

var-set-used:
một biến cục bộ được gán một giá trị, nhưng giá trị đó không được sử dụng.

var chưa được khởi tạo:
giá trị của một biến cục bộ có thể được sử dụng trước khi nó được gán. Đôi khi
ftnchek mắc lỗi trong các cảnh báo về việc sử dụng biến cục bộ. Thường xuyên
nó sai ở khía cạnh đưa ra một cảnh báo mà không có vấn đề gì tồn tại, nhưng hiếm khi
trong trường hợp nó có thể không cảnh báo được vấn đề tồn tại ở đâu. Xem phần trên
Ví dụ về lỗi. Nếu các biến là tương đương, quy tắc được sử dụng bởi ftnchek
là một tham chiếu đến bất kỳ biến nào ngụ ý cùng một tham chiếu đến tất cả
các biến nó tương đương với. Đối với mảng, quy tắc là tham chiếu đến
bất kỳ phần tử mảng nào được coi là một tham chiếu đến tất cả các phần tử của mảng.

var-used:
một biến cục bộ được khai báo (ví dụ: trong một khai báo kiểu) nhưng không
được sử dụng trong mô-đun. Không áp dụng cho các đối số giả: cảnh báo về chúng
được kiểm soát bởi từ khóa arg-không sử dụng miêu tả trên.

Lưu ý: Trong các phiên bản của ftnchek trước 2.10, -sử dụng cờ lấy một đối số số
thay vì một danh sách các tùy chọn. Vì lợi ích của người dùng có thể đã viết tập lệnh
kêu gọi ftnchek theo cách này, dạng số vẫn được chấp nhận. Số
cài đặt bao gồm ba chữ số. Các điều khiển chữ số đầu tiên (hàng trăm)
cảnh báo về chương trình con (hàm và chương trình con), chữ số thứ hai (hàng chục
địa điểm) cảnh báo về các khối chung và các biến phổ biến, và chữ số thứ ba
(những nơi) cảnh báo về các biến cục bộ. Mỗi chữ số kiểm soát cảnh báo
theo quy ước rằng 1 có nghĩa là cảnh báo về các mục và biến không xác định
được sử dụng trước khi đặt, phương tiện 2 là cảnh báo về các mặt hàng không được sử dụng và phương tiện 3 là
cảnh báo về cả hai loại. Những con số này hiện đã được chuyển đổi thành các giá trị thích hợp
cho các từ khóa được liệt kê ở trên, ngoại trừ com-khối-dễ bay hơi, không bị ảnh hưởng
bằng đối số số.

Xem thêm: -chung, -tuyên bố, -bên ngoài, -thư viện.

-vcg
Tạo đồ thị cuộc gọi dưới dạng mô tả đồ thị VCG. Mô tả này là
được ghi vào một tệp riêng biệt, có cùng gốc với tệp chứa tệp chính
chương trình và hậu tố .vcg. Tệp này có thể được cung cấp trực tiếp cho xvcg(1L) đến
trực quan hóa đồ thị cuộc gọi. (Nếu đầu vào là từ đầu vào chuẩn, thì biểu đồ
mô tả được gửi đến đầu ra tiêu chuẩn.) Công tắc này tương đương với
-calltree = vcg. Mặc định = không.

Mô tả VCG khi được tạo phức tạp hơn mức cần thiết. VCG cho phép đồ thị
và các đồ thị con lồng nhau: mỗi chương trình con được tạo dưới dạng một đồ thị con được lồng vào bên trong
thói quen gọi điện. Điều này cho phép bạn hiển thị tương tác các đồ thị con hoặc tóm tắt
Chúng.

Sản phẩm -vcg tùy chọn cho ftnchek được viết bởi Tiến sĩ Philip Rubini ở Cranfield
Đại học, Vương quốc Anh.

xvcg là một công cụ trực quan hóa đồ thị chạy trong hệ thống cửa sổ X. Nó là
có sẵn miễn phí từ ftp.cs.uni-sb.de. Nó được viết bởi G. Sander của
Đại học Saarland, Đức.

Xem thêm: -calltree, -crossref, -tài liệu tham khảo, -loại.

-phiên bản
Tùy chọn này gây ra ftnchek để in một dòng cung cấp số phiên bản, ngày phát hành,
và mức vá của chương trình. Nếu không có tệp nào được cung cấp, nó sẽ thoát. Nếu tệp
được đưa ra, tác dụng của tùy chọn này là bao gồm cấp bản vá (thông thường
bỏ qua) trong thông tin phiên bản được in khi bắt đầu xử lý. Mặc định =
không có.

Xem thêm: -Cứu giúp.

-bay hơi
Giả sử rằng các khối COMMON dễ bay hơi. Mặc định = không.

Cờ này được thay thế bởi -common = dễ bay hơi, và không nên được sử dụng nữa. Nó có thể
bị loại bỏ trong một bản phát hành trong tương lai của ftnchek.

Xem thêm: -chung, -sử dụng.

-wordsize =num
Chỉ định kích thước từ mặc định là num byte. Đây là kích thước của lôgic và
các biến số có độ chính xác đơn không được đưa ra các giới hạn rõ ràng.
(Các lựa chọn rõ ràng cho các biến không phải ký tự là một phần mở rộng cho Fortran 77
Tiêu chuẩn và được cung cấp bởi các khai báo kiểu như REAL * 8 X.)
và các biến phức hợp sẽ gấp đôi giá trị này và các biến phức hợp gấp đôi bốn
lần. Hằng số chính xác bốn lần và kết quả chức năng nội tại sẽ gấp bốn lần
giá trị này. Lưu ý rằng các biến được khai báo là REAL * 16 sẽ được coi là quad
độ chính xác chỉ khi kích thước từ là 4 byte. Mặc định = turn-on = 4 byte.

Giá trị kích thước từ không quan trọng đối với việc kiểm tra các chương trình phù hợp tiêu chuẩn
không khai báo các lựa chọn rõ ràng cho các biến không phải ký tự hoặc lưu trữ Hollerith
dữ liệu trong các biến. Cài đặt này cũng không ảnh hưởng đến kích thước mặc định của ký tự
biến, luôn là 1 byte. Hằng số Hollerith cũng được giả định là chiếm
1 byte cho mỗi ký tự.

Kích thước từ được sử dụng để xác định xem liệu việc cắt xén có xảy ra trong bài tập hay không
các câu lệnh và để bắt các điểm không khớp chính xác trong danh sách đối số của chương trình con và
danh sách khối chung. Các cảnh báo chính xác được đưa ra sẽ tùy thuộc vào trạng thái
của các lá cờ khác. Dưới cả hai -khả năng di chuyển = kích thước hỗn hợp-nowordsize cờ,
bất kỳ sự pha trộn rõ ràng với các đối tượng chính xác mặc định (biểu thức ký tự không
bao gồm) được cảnh báo về. Điều này áp dụng cho các biểu thức số học chứa cả hai
các loại đối tượng và đối số của chương trình con và các biến COMMON. Trong tầm kiểm soát
của -truncation = giáng chứcxúc tiến tùy chọn, một cảnh báo được đưa ra cho
gán một biểu thức cho một biến ngắn hơn cùng kiểu hoặc cho
khuyến khích giá trị độ chính xác thấp hơn thành độ chính xác cao hơn trong một số học
biểu thức hoặc một câu lệnh gán.

Đưa ra kích thước từ là 0 hoặc tương đương, sử dụng -nowordsize có nghĩa là không có mặc định
giá trị sẽ được giả định. Điều này tương đương với việc chỉ định -khả năng di chuyển = kích thước hỗn hợp.
Sử dụng nó để tìm các trường hợp trộn độ chính xác mặc định và rõ ràng, chẳng hạn như để gắn cờ
những nơi mà REAL * 8 được coi là tương đương với ĐÔI CHÍNH XÁC.

Xem thêm: -con trỏ, -khả năng di chuyển, -cắt ngắn.

-wrap =col
Kiểm soát gói thông báo lỗi. Các thông báo lỗi dài sẽ chạy qua
cột được chỉ định sẽ được chia thành các dòng riêng biệt giữa các từ của
để dễ đọc hơn. Nếu tắt với -bắt đầu, mỗi lỗi riêng biệt
tin nhắn sẽ được in trên một dòng, để nó lên màn hình để bọc
tin nhắn hoặc cắt ngắn nó. Mặc định = bật = 79.

THAY ĐỔI CÁC ĐỊNH NGHĨA


ftnchek bao gồm hai cơ chế để thay đổi các giá trị mặc định của tất cả các tùy chọn: bằng cách
xác định các biến môi trường hoặc bằng cách tạo tệp tùy chọn. Khi nào ftnchek khởi nghiệp,
nó tìm kiếm trong môi trường của nó bất kỳ biến nào có tên được tạo bằng cách thêm tiền tố
chuỗi FTNCHEK_ vào phiên bản viết hoa của tên tùy chọn. Nếu một biến như vậy là
tìm thấy, giá trị của nó được sử dụng để chỉ định giá trị mặc định cho công tắc hoặc cài đặt tương ứng.
Trong trường hợp cài đặt (ví dụ: -chung cài đặt độ nghiêm ngặt) giá trị của
biến môi trường được đọc như giá trị cài đặt mặc định. Trong trường hợp chuyển mạch,
chuyển đổi mặc định sẽ được coi là đúng hoặc có trừ khi biến môi trường có giá trị
0 hoặc KHÔNG.

Lưu ý rằng tên biến môi trường phải được xây dựng với tùy chọn độ dài đầy đủ
tên, phải được viết hoa. Ví dụ, để làm cho ftnchek in một danh sách nguồn của
mặc định, đặt biến môi trường FTNCHEK_LIST thành 1 hoặc YES hoặc bất kỳ thứ gì khác 0 hoặc
KHÔNG. Tên FTNCHEK_LIS (không phải tên tùy chọn đầy đủ) hoặc ftnchek_list (chữ thường) sẽ
không được công nhận.

Dưới đây là một số ví dụ về cách đặt các biến môi trường trên các hệ thống khác nhau. Vì
đơn giản, tất cả các ví dụ đều đặt giá trị mặc định -danh sách chuyển sang CÓ.

1. UNIX, Bourne shell: $ FTNCHEK_LIST = YES
$ xuất FTNCHEK_LIST

2. UNIX, C shell:% setenv FTNCHEK_LIST CÓ

3. VAX / VMS: $ DEFINE FTNCHEK_LIST CÓ

4. MSDOS: $ SET FTNCHEK_LIST = CÓ

Sau khi xử lý bất kỳ biến môi trường nào, ftnchek sẽ tìm kiếm tệp tùy chọn
chứa các tùy chọn và cài đặt. Nó sẽ tìm kiếm theo thứ tự sau, chỉ sử dụng
tệp đầu tiên được tìm thấy: (1) .ftnchekrc trong thư mục hiện tại, (2) ftnchek.ini bây giờ
thư mục, (3) .ftnchekrc trong thư mục chính của người dùng, (4) ftnchek.ini trong nhà
danh mục. Nếu một tệp như vậy được tìm thấy, các tùy chọn được xác định trong đó được sử dụng làm mặc định trong
vị trí của các giá trị mặc định cài sẵn và ghi đè mọi giá trị mặc định được đặt trong môi trường ..

Mỗi tùy chọn hoặc cài đặt trong tệp tùy chọn phải nằm trên một dòng riêng biệt. Họ được cho
ở dạng tương tự như trên dòng lệnh, ngoại trừ không có dấu gạch ngang đầu tiên. Các sở thích
tệp có thể chứa các dòng trống và nhận xét. Nhận xét được giới thiệu tại bất kỳ điểm nào trong một dòng
bởi một ký tự khoảng trắng (trống hoặc tab) hoặc ký tự '#' và được kết thúc bằng
dòng.

Các tùy chọn dòng lệnh ghi đè các giá trị mặc định được đặt trong môi trường hoặc trong các tùy chọn
, theo cách tương tự khi chúng ghi đè các giá trị mặc định được tích hợp sẵn.

SỬ DỤNG DỰ ÁN(PROJECT) CÁC TẬP TIN


Phần này chứa thông tin chi tiết về cách sử dụng tệp dự án hiệu quả nhất,
và làm thế nào để tránh một số cạm bẫy.

Người ta có thể chia séc ftnchek chia thành hai loại, cục bộ và toàn cầu. Địa phương
kiểm tra bị hạn chế trong một quy trình duy nhất và bắt những thứ như chưa được khởi tạo
biến, mất độ chính xác ngoài ý muốn trong các biểu thức số học, v.v. Loại này
việc kiểm tra có thể được thực hiện trên từng chương trình con một cách độc lập. Hơn nữa, kiểm tra cục bộ của một
chương trình con không cần lặp lại khi một số chương trình con khác bị thay đổi. Toàn cầu
kiểm tra những thứ bắt được như gọi một chương trình con với các loại đối số sai, hoặc
bất đồng trong các khai báo khối chung. Nó đòi hỏi phải xem xét toàn bộ tập hợp
các chương trình con tương tác với nhau.

Mục đích của tệp dự án là cho phép các bước kiểm tra cục bộ và kiểm tra toàn cục
được tách ra. Giả sử rằng mỗi chương trình con nằm trong tệp nguồn riêng của nó, bạn có thể chạy
ftnchek một lần trên mỗi cái để thực hiện kiểm tra cục bộ trong khi ngăn chặn kiểm tra toàn cầu. sau đó
ftnchek có thể được chạy một lần trên tất cả các tệp dự án cùng nhau để thực hiện việc kiểm tra toàn cục. Các
Makefile mẫu dưới đây cho thấy cách tự động hóa tác vụ này. Mục tiêu `` .f.prj '' cập nhật một
tệp dự án cho một tệp cụ thể bất kỳ lúc nào tệp nguồn thay đổi. Thông tin
cần thiết để kiểm tra toàn cục được lưu trong tệp dự án. Mục tiêu `` kiểm tra '' thực hiện
kết hợp kiểm tra toàn cầu. Thông thường, `` thực hiện kiểm tra '' sẽ lặp lại `` ftnchek -project ''
chỉ bước trên các tệp nguồn đã thay đổi, sau đó thực hiện kiểm tra toàn cục. Đây rõ ràng là một
thuận lợi cho các chương trình lớn, khi nhiều chương trình con ít khi thay đổi.

Tốt nhất khi sử dụng tệp dự án nên đặt mỗi chương trình con trong một tệp nguồn riêng biệt.
Nếu mỗi tệp nguồn có thể chứa nhiều hơn một chương trình con, điều đó sẽ làm phức tạp định nghĩa
kiểm tra `` cục bộ '' và `` toàn cầu '' vì có một số kiểm tra giữa các mô-đun
được chứa trong một tệp. ftnchek cố gắng làm điều đúng đắn trong trường hợp này, nhưng có
một số phức tạp (được mô tả bên dưới) do sự đánh đổi giữa việc tránh làm lại
kiểm tra và bảo quản thông tin về cấu trúc của chương trình.

Thông thường, để thực hiện ít kiểm tra lại nhất, các tệp dự án nên được tạo bằng
các -thư viện cờ có hiệu lực và đã bật tính năng cắt. Trong chế độ này, thông tin được lưu
trong tệp dự án bao gồm tất cả các khai báo chương trình con, tất cả các lệnh gọi chương trình con
không được giải quyết bằng các khai báo trong cùng một tệp và một phiên bản của mỗi khối COMMON
tờ khai. Đây là lượng thông tin tối thiểu cần thiết để kiểm tra thỏa thuận giữa
các tập tin.

Nếu tệp nguồn chứa nhiều hơn một quy trình, có một số vấn đề có thể xảy ra
có thể phát sinh từ việc tạo tệp dự án ở chế độ thư viện, vì hệ thống phân cấp đang gọi
trong số các quy trình được xác định trong tệp bị mất. Ngoài ra, nếu các quy trình trong tệp làm
sử dụng các khối COMMON được chia sẻ với các quy trình trong các tệp khác, sẽ không có
đủ thông tin được lưu để kiểm tra chính xác trạng thái đã đặt và đã sử dụng của các khối COMMON
và các biến COMMON theo -sử dụng thiết lập. Do đó nếu bạn định sử dụng
dự án tệp khi -sử dụng kiểm tra được bật (đây là tình huống mặc định) và nếu
nhiều quy trình trong một tệp dự án chia sẻ các khối COMMON với các quy trình trong các tệp khác,
các tệp dự án phải được tạo bằng -thư viện cờ đã tắt. Trong chế độ này,
ftnchek lưu, ngoài thông tin được liệt kê ở trên, một lệnh gọi của mỗi chương trình con bằng cách
bất kỳ chương trình con nào khác trong cùng một tệp và tất cả các khai báo khối COMMON. Điều này có nghĩa rằng
tệp dự án sẽ lớn hơn mức cần thiết và khi nó được đọc trong, ftnchek có thể
lặp lại một số kiểm tra giữa các mô-đun mà nó đã thực hiện khi tệp dự án được tạo. Nếu như
mỗi tệp dự án chỉ chứa một mô-đun, không mất thông tin khi tạo
các tệp dự án ở chế độ thư viện.

Do khả năng mất thông tin có thể xảy ra khi tạo tệp dự án với
-thư viện có hiệu lực, bất cứ khi nào tệp dự án đó được đọc sau đó, nó sẽ được xử lý
dưới dạng tệp thư viện bất kể cài đặt hiện tại của -thư viện lá cờ. Mặt khác
tay, tệp dự án được tạo với chế độ thư viện bị tắt có thể được đọc sau này trong
chế độ.

Cuộc thảo luận ở trên giả định rằng các tùy chọn cắt tỉa của -dự án thiết lập là
được bật khi tệp dự án được tạo. Đây là tình huống bình thường. Các không cắt
các tùy chọn của -dự án cài đặt được cung cấp trong trường hợp một người muốn sử dụng các tệp dự án
cho các mục đích khác ngoài việc kiểm tra chương trình với ftnchek. Ví dụ, người ta có thể viết
một tập lệnh Perl để phân tích các tệp dự án để biết thông tin về cách
chương trình con được gọi. Bạn không nên sử dụng không cắt các tùy chọn để đối phó với các vấn đề của
mất thông tin đã thảo luận ở trên, vì chúng gây ra nhiều thông tin hơn mức cần thiết
được lưu trữ. Điều này làm cho các tệp dự án lớn hơn và nguyên nhân ftnchek để làm thêm công việc sau này khi
nó đọc chúng để kiểm tra chương trình hoàn chỉnh của bạn. Thông thường, bạn nên sử dụng -thư viện
tùy chọn để kiểm soát lượng thông tin cần lưu trữ để sử dụng sau này ftnchek kiểm tra của bạn
chương trình.

Đây là một ví dụ về cách sử dụng UNIX làm cho tiện ích để tự động tạo mới
tệp dự án mỗi khi tệp nguồn tương ứng bị thay đổi và để kiểm tra tập hợp
các tệp để có tính nhất quán. Thêm những dòng này vào tệp trang điểm của bạn. Ví dụ giả định rằng một
macro OBJS đã được xác định trong đó liệt kê tất cả các tên của tệp đối tượng được liên kết
với nhau để tạo thành chương trình thực thi hoàn chỉnh. (Trong makefile này, các dòng thụt lề
mỗi cái nên bắt đầu bằng một tab chứ không phải khoảng trống.) Nếu bất kỳ tệp nguồn nào chứa nhiều quy trình
chia sẻ các khối chung với nhau, thì tùy chọn no-com - \ * sẽ bị xóa
từ NOGLOBAL, và / hoặc thả cờ -li thư viện.
# cho biết hậu tố tệp dự án là gì
.Hậu tố: .prj

# các tùy chọn này ngăn kiểm tra toàn cục.
NOGLOBAL = -usage = no-ext-undefined, no-com - \ *

# cho biết cách tạo tệp .prj từ tệp .f
.f.prj:
ftnchek -project $ (NOGLOBAL) -library $

# thiết lập macro PRJS chứa tên tệp dự án
PRJS = $ (OBJS: .o = .prj)

# "make check" sẽ kiểm tra mọi thứ đã được thay đổi.
kiểm tra: $ (PRJS)
ftnchek $ (PRJS)

Khi một chương trình sử dụng nhiều quy trình được xác định trong một số lượng lớn các tệp nguồn khác nhau trong
các thư mục khác nhau, có thể rườm rà khi chỉ định tất cả các tệp dự án khác nhau
cần thiết để kiểm tra chương trình đúng cách. Để đối phó với những trường hợp như vậy, ftnchek cho phép dự án
các tệp được nối thành một tệp lớn. Sau đó, tệp đơn này có thể được cấp cho
ftnchek cung cấp thông tin để kiểm tra việc sử dụng bất kỳ hoặc tất cả các quy trình
được xác định trong các tệp dự án kết hợp. Khi sử dụng tệp dự án `` thư viện '' như vậy, bạn
có thể muốn ftnchekbáo cáo lỗi của tài liệu chính xác tên của tệp trong đó
chức năng cụ thể được xác định. Nếu các tệp nguồn khác nhau nằm trong một số thư mục,
báo cáo lỗi chỉ cung cấp tên tệp có thể không rõ ràng và thay vào đó nên bao gồm
đường dẫn đến tệp. Giải pháp là tạo từng tệp dự án riêng lẻ bằng cách
đưa ra đường dẫn đầy đủ đến tệp nguồn. Sau đó, đường dẫn hoàn chỉnh này sẽ xuất hiện trong
báo cáo lỗi. Ví dụ: giả sử rằng tất cả các tệp nguồn chương trình con của thư viện là
trong các thư mục con của một thư mục có tên / use / lib. Sau đó, các tệp dự án riêng lẻ có thể
đầu tiên được tạo bởi một lệnh chẳng hạn như
find / use / lib -name '* .f' -exec ftnchek -project '{}' ';'
(Có thể các tùy chọn khác sẽ được cung cấp cho ftnchek Như đã thảo luận ở trên. Ngoài ra, bước này
thay vào đó có thể được xử lý bằng quy tắc makefile đã sửa đổi sẽ cung cấp nguồn hoàn chỉnh
đường dẫn tệp thay vì chỉ tên cục bộ khi gọi ftnchek.) Tiếp theo, nối tất cả
các tệp dự án này theo cách thủ công.
find / use / lib -name '* .prj' -exec cat '{}' ';' > ourlib.prj
Sau đó, một tệp nguồn chương trình có thể được kiểm tra bằng cách sử dụng lệnh
ftnchek prog.f ... -lib ourlib.prj
và một thông báo lỗi liên quan đến bất kỳ quy trình thư viện nào sẽ bao gồm đường dẫn đầy đủ đến
tệp nguồn của quy trình.

Hiện tại, không có tiện ích lưu trữ nào như ar để quản lý nội dung của một
tệp dự án như trong hình minh họa ở trên. Nếu các thay đổi được thực hiện đối với một trong các
quy trình thư viện, cách duy nhất để cập nhật tệp dự án kết hợp là nối tất cả
các tệp dự án riêng lẻ một lần nữa. Một tiện ích như vậy sẽ khá dễ viết.
Ai đó nên làm như vậy và đóng góp vào ftnchek nỗ lực.

AN THÍ DỤ


Chương trình Fortran đơn giản sau đây minh họa các thông điệp được đưa ra bởi ftnchek. Các
chương trình được thiết kế để chấp nhận một loạt các điểm kiểm tra và sau đó tính toán trung bình cho
series.

C TÁC GIẢ: MIKE MYERS VÀ LUCIA SPAGNUOLO
C NGÀY: 8/1989/XNUMX

C Các biến:
C ĐIỂM -> một loạt các điểm kiểm tra
C SUM -> tổng điểm của bài kiểm tra
C COUNT -> bộ đếm điểm số được đọc trong
CI -> bộ đếm vòng lặp

SO SÁNH CHỨC NĂNG THỰC (ĐIỂM, ĐẾM)
INTEGER SUM, COUNT, J,SCORE(5)

LÀM 30 I = 1, COUNT
SUM = SUM + ĐIỂM (I)
30 TIẾP TỤC
COMPAV = SUM / COUNT
END

CHƯƠNG TRÌNH AVENUM
C
C CHƯƠNG TRÌNH CHÍNH
C
C TÁC GIẢ: LOIS BIGBIE
C NGÀY: 15/1990/XNUMX
C
C Các biến:
C MAXNOS -> số lượng giá trị đầu vào tối đa
C NUMS -> một mảng số
C COUNT -> số lượng giá trị đầu vào chính xác
C AVG -> trung bình do COMPAV trả về
CI -> bộ đếm vòng lặp
C

THÔNG SỐ (MAXNOS = 5)
SỐ LƯỢNG I, ĐẾM
CON SỐ THỰC (MAXNOS), AVG
ĐẾM = 0
LÀM 80 I = 1, MAXNOS
ĐỌC (5, *, HẾT = 100) SỐ (I)
ĐẾM = ĐẾM + 1
80 TIẾP TỤC
100 AVG = COMPAV (NUMS, COUNT)
END

Trình biên dịch không đưa ra thông báo lỗi khi chương trình này được biên dịch. Tuy nhiên, đây là những gì
xảy ra khi nó được chạy:

$ run trung bình
70
90
85

$

Chuyện gì đã xảy ra thế? Tại sao chương trình không làm gì cả? Sau đây là kết quả từ
ftnchek khi nó được sử dụng để gỡ lỗi chương trình trên:

$ ftnchek -list -symtab trung bình

FTNCHEK Phiên bản 3.3 tháng 2004 năm XNUMX

Tệp trung bình.f:

1 C TÁC GIẢ: MIKE MYERS VÀ LUCIA SPAGNUOLO
2 C NGÀY: 8/1989/XNUMX
3
4 Biến C:
5 C ĐIỂM -> một loạt các điểm kiểm tra
6 C SUM -> tổng điểm của bài kiểm tra
7 C COUNT -> bộ đếm điểm số được đọc trong
8 CI -> bộ đếm vòng lặp
9
10 SO SÁNH CHỨC NĂNG THỰC (ĐIỂM, ĐẾM)
11 INTEGER SUM, COUNT, J,SCORE(5)
12
13 DO 30 I = 1, COUNT
14 SUM = SUM + ĐIỂM (I)
15 30 TIẾP TỤC
16 COMPAV = SUM / COUNT
^
Cảnh báo gần dòng 16 cột 20: thương số nguyên expr SUM / COUNT được chuyển đổi thành
thực
17 HẾT

Mô-đun COMPAV: func: real

Biến:

Tên Loại Dims Tên Loại Dims Tên Loại Dims Tên Loại Dims
COMPAV thực COUNT intg I intg * J intg
ĐIỂM intg 1 SUM intg

* Biến không được khai báo. Loại đã được xác định ngầm.

Cảnh báo trong mô-đun COMPAV: Các biến được khai báo nhưng không bao giờ được tham chiếu:
J khai báo ở dòng 11

Cảnh báo trong mô-đun COMPAV: Các biến có thể được sử dụng trước khi đặt:
SUM được sử dụng ở dòng 14
SUM đặt ở dòng 14

Nhãn tuyên bố được xác định:

Dòng nhãn StmtType
<30> 15 thực thi

18
19
20 CHƯƠNG TRÌNH AVENUM
21 C
22 C CHƯƠNG TRÌNH CHÍNH
23 C
24 C TÁC GIẢ: LOIS BIGBIE
25 C NGÀY: 15/1990/XNUMX
26 C
27 Biến C:
28 C MAXNOS -> số lượng giá trị đầu vào tối đa
29 C CON SỐ -> một mảng số
30 C COUNT -> số lượng giá trị đầu vào chính xác
31 C AVG -> trung bình do COMPAV trả về
32 CI -> bộ đếm vòng lặp
33 C
34
35 THAM SỐ (MAXNOS = 5)
36 SỐ LƯỢNG I, ĐẾM
37 CON SỐ THỰC (MAXNOS), AVG
38 ĐẾM = 0
39 DO 80 I = 1, MAXNOS
40 ĐỌC (5, *, HẾT = 100) SỐ (I)
41 ĐẾM = ĐẾM + 1
42 80 TIẾP TỤC
43 100 AVG = COMPAV (NUMS, COUNT)
44 HẾT

Mô-đun AVENUM: prog

Các chương trình con bên ngoài được tham chiếu:

COMPAV: thực *

Biến:

Tên Loại Dims Tên Loại Dims Tên Loại Dims Tên Loại Dims
AVG thực COUNT intg I intg MAXNOS intg *
NUMS thực 1

* Biến không được khai báo. Loại đã được xác định ngầm.

Cảnh báo trong mô-đun AVENUM: Các biến được đặt nhưng không bao giờ được sử dụng:
AVG đặt ở dòng 43

Hoạt động I / O:

Đơn vị ID Đơn vị Số Truy cập Biểu mẫu Hoạt động Dòng
5 SEQ FMTD ĐỌC 40

Nhãn tuyên bố được xác định:

Dòng nhãn StmtType Dòng nhãn StmtType
<80> 42 thực thi <100> 43 thực thi

Đã phát hiện 0 lỗi cú pháp trong tệp average.f
6 cảnh báo được đưa ra trong tệp average.f

Cảnh báo: Kiểu dữ liệu đối số COMPAV của chương trình con không khớp ở vị trí 1:
Dummy arg ĐIỂM SỐ trong mô-đun COMPAV dòng 10 tệp trung bình.f là kiểu intg
Thực tế đối số NUMS trong mô-đun AVENUM dòng 43 tệp trung bình.f là loại thực

Theo ftnchek, chương trình chứa các biến có thể được sử dụng trước khi chúng
đã gán một giá trị ban đầu và các biến không cần thiết. ftnchek cũng cảnh báo
người dùng rằng một thương số nguyên đã được chuyển đổi thành số thực. Điều này có thể hỗ trợ người dùng trong
gặp lỗi vòng lặp ngoài ý muốn. Kể từ khi -biểu tượng cờ đã được đưa ra, ftnchek in
ra một bảng chứa các số nhận dạng từ mô-đun cục bộ và kiểu dữ liệu tương ứng của chúng
và số thứ nguyên. Cuối cùng, ftnchek cảnh báo rằng chức năng COMPAV không được sử dụng
với loại đối số thích hợp.

Với ftnchekgiúp đỡ, chúng tôi có thể gỡ lỗi chương trình. Chúng ta có thể thấy rằng có những điều sau đây
lỗi:

1. SUM và COUNT lẽ ra phải được chuyển đổi thành số thực trước khi thực hiện phép chia.

2. SUM lẽ ra phải được khởi tạo bằng 0 trước khi vào vòng lặp.

3. AVG không bao giờ được in ra sau khi được tính toán.

4. NUMS lẽ ra phải được khai báo INTEGER thay vì REAL.

Chúng ta cũng thấy rằng I, không phải J, nên được khai báo INTEGER trong hàm COMPAV. Cũng thế,
MAXNOS không được khai báo là INTEGER, cũng như COMPAV là REAL, trong chương trình AVENUM. Đây không phải là
nhưng chúng có thể chỉ ra sự bất cẩn. Khi nó xảy ra, loại mặc định của những
các biến trùng với kiểu dự định.

Đây là chương trình đã sửa và đầu ra của nó khi chạy:

C TÁC GIẢ: MIKE MYERS VÀ LUCIA SPAGNUOLO
C NGÀY: 8/1989/XNUMX
C
C Các biến:
C ĐIỂM -> một loạt các điểm kiểm tra
C SUM -> tổng điểm của bài kiểm tra
C COUNT -> bộ đếm điểm số được đọc trong
CI -> bộ đếm vòng lặp
C
SO SÁNH CHỨC NĂNG THỰC (ĐIỂM, ĐẾM)
INTEGER SUM, COUNT, I,SCORE(5)
C
TỔNG = 0
LÀM 30 I = 1, COUNT
SUM = SUM + ĐIỂM (I)
30 TIẾP TỤC
COMPAV = FLOAT (SUM) / FLOAT (COUNT)
END
C
C
CHƯƠNG TRÌNH AVENUM
C
C CHƯƠNG TRÌNH CHÍNH
C
C TÁC GIẢ: LOIS BIGBIE
C NGÀY: 15/1990/XNUMX
C
C Các biến:
C MAXNOS -> số lượng giá trị đầu vào tối đa
C NUMS -> một mảng số
C COUNT -> số lượng giá trị đầu vào chính xác
C AVG -> trung bình do COMPAV trả về
CI -> bộ đếm vòng lặp
C
C
Số nguyên MAXNOS
THÔNG SỐ (MAXNOS = 5)
INTEGER I, NUMS (MAXNOS), COUNT
REAL AVG, COMPAV
ĐẾM = 0
LÀM 80 I = 1, MAXNOS
ĐỌC (5, *, HẾT = 100) SỐ (I)
ĐẾM = ĐẾM + 1
80 TIẾP TỤC
100 AVG = COMPAV (NUMS, COUNT)
VIẾT (6, *) 'AVERAGE =', AVG
END
$ run trung bình
70
90
85

AVERAGE = 81.66666
$

Với ftnchekgiúp đỡ, chương trình của chúng tôi là một thành công!

GIẢI THÍCH CÁC OUTPUT


Các thông điệp được đưa ra bởi ftnchek không chỉ bao gồm các lỗi cú pháp mà còn bao gồm các cảnh báo và
thông báo cung cấp thông tin về những thứ là Fortran hợp pháp nhưng điều đó có thể chỉ ra lỗi hoặc
sự bất cẩn. Hầu hết các thông báo này có thể được tắt bằng các tùy chọn dòng lệnh. Cái mà
tùy chọn kiểm soát mỗi thông báo phụ thuộc vào bản chất của tình trạng được cảnh báo.
Xem mô tả về cờ dòng lệnh trong các phần trước và của từng cờ
tin nhắn bên dưới. Mỗi tin nhắn đều có tiền tố là một từ hoặc cụm từ chỉ ra bản chất của
tình trạng và mức độ nghiêm trọng của nó.

`` Lỗi '' có nghĩa là một lỗi cú pháp. Loại lỗi cú pháp đơn giản nhất là lỗi đánh máy
lỗi, ví dụ như dấu ngoặc đơn không cân đối hoặc lỗi chính tả của một từ khóa. Loại này của
lỗi được trình phân tích cú pháp bắt và xuất hiện với mô tả `` lỗi phân tích cú pháp '' hoặc `` cú pháp
lỗi '' (tùy thuộc vào phiên bản của trình tạo phân tích cú pháp và nó có phải là GNU hay không bò rừng or
UNIX yac). Loại thông báo lỗi này không thể bị dập tắt. Cần biết rằng loại
lỗi thường có nghĩa là ftnchek đã không giải thích đúng câu lệnh, nơi có lỗi
xảy ra, do đó các hoạt động kiểm tra tiếp theo của nó sẽ bị tổn hại. Bạn nên
loại bỏ tất cả các lỗi cú pháp trước khi tiếp tục diễn giải các thông báo khác ftnchek
cho.

`` Cảnh báo: Cú pháp không tiêu chuẩn '' chỉ ra một phần mở rộng cho Fortran rằng ftnchek hỗ trợ
nhưng điều đó không theo Tiêu chuẩn Fortran 77. Các phần mở rộng ftnchek chấp nhận
được mô tả trong phần Tiện ích mở rộng bên dưới. Một ví dụ là DO ... ENDDO
sự thi công. Nếu một chương trình sử dụng các tiện ích mở rộng này, các cảnh báo sẽ được đưa ra theo
thông số kỹ thuật theo -f77 thiết lập. Hành vi mặc định là không đưa ra cảnh báo.

`` Cảnh báo '' trong các trường hợp khác có nghĩa là một tình trạng đáng ngờ nhưng có thể có hoặc không
một lỗi lập trình. Thường thì những điều kiện này là hợp pháp theo tiêu chuẩn. Một số thì
bất hợp pháp nhưng không thuộc tiêu đề lỗi cú pháp. Lỗi sử dụng là một ví dụ.
Những điều này đề cập đến khả năng một biến có thể được sử dụng trước khi nó được chỉ định
giá trị (thường là một lỗi) hoặc một biến được khai báo nhưng không bao giờ được sử dụng (vô hại nhưng
có thể cho thấy sự bất cẩn). Số lượng kiểm tra các lỗi sử dụng được kiểm soát bởi
-sử dụng cờ, chỉ định số lượng kiểm tra tối đa theo mặc định.

Cảnh báo cắt bớt bao gồm các tình huống trong đó độ chính xác có thể bị mất ngoài ý muốn, vì
ví dụ khi một giá trị chính xác kép được gán cho một biến thực. Những cảnh báo này là
được kiểm soát bởi -cắt ngắn cài đặt này được bật theo mặc định.

`` Cách sử dụng không thể di chuyển '' cảnh báo về một số tính năng có thể không được một số trình biên dịch chấp nhận
mặc dù nó không trái với Tiêu chuẩn Fortran 77, hoặc điều đó có thể khiến chương trình
để thực hiện khác nhau trên các nền tảng khác nhau. Ví dụ, tương đương với thực và
biến số nguyên thường là một thực hành không di động. Việc sử dụng các tiện ích mở rộng cho
tất nhiên, ngôn ngữ tiêu chuẩn là một nguồn không thể di chuyển khác, nhưng điều này được xử lý như
một trường hợp riêng biệt. Để kiểm tra một chương trình về tính di động thực sự, cả hai -khả năng di chuyển
-f77 cờ nên được sử dụng. Cả hai đều bị tắt theo mặc định. Các -Kích thước từ thiết lập là
được cung cấp để chỉ kiểm tra những cách sử dụng không thể di chuyển phụ thuộc vào một máy cụ thể
Kích thước từ.

`` Hình thức có thể gây hiểu lầm '' được sử dụng cho các công trình xây dựng hợp pháp có thể không có nghĩa là gì
thoạt nhìn chúng có vẻ có ý nghĩa. Ví dụ: Fortran không nhạy cảm với khoảng trống,
do đó, khoảng trắng không liên quan trong các tên biến hoặc thiếu khoảng trắng giữa từ khóa và
biến có thể truyền đạt ấn tượng sai cho người đọc. Những thông báo này có thể bị chặn
bằng cách tắt -đẹp cờ, được bật theo mặc định.

Các thông báo khác được đưa ra sau khi tất cả các tệp được xử lý và liên quan đến
thỏa thuận giữa các mô-đun, không sử dụng từ `` cảnh báo '' nhưng thường rơi vào
thể loại. Các ví dụ bao gồm kiểu không khớp giữa các biến tương ứng trong các
Khai báo khối COMMON hoặc giữa các đối số giả và thực của một chương trình con. Này
cảnh báo được kiểm soát bởi -chung-tranh luận cài đặt tương ứng. Theo mặc định
cả hai đều được thiết lập để kiểm tra nghiêm ngặt tối đa.

Một nhóm cảnh báo khác về các điều kiện thường vô hại đề cập đến các trường hợp
các thuộc tính mảng của một biến được truyền dưới dạng đối số của chương trình con khác nhau giữa hai
các thói quen. Ví dụ: một phần tử mảng có thể được chuyển đến một chương trình con mong đợi một
toàn bộ mảng. Đây là một kỹ thuật thường được sử dụng để xử lý các hàng hoặc cột đơn lẻ của
mảng hai chiều. Tuy nhiên, nó cũng có thể chỉ ra một lỗi lập trình. Các -mảng
cài đặt cho phép người dùng điều chỉnh mức độ nghiêm ngặt được sử dụng để kiểm tra điều này
loại thỏa thuận giữa các đối số mảng thực và giả. Theo mặc định, mức độ nghiêm ngặt là
tối đa.

`` Rất tiếc '' cho biết sự cố kỹ thuật, có nghĩa là một lỗi trong ftnchek hoặc đó là của nó
tài nguyên đã bị vượt quá.

Các cảnh báo và thông báo lỗi cú pháp bao gồm tên tệp cùng với số dòng và
số cột. ftnchek có hai tùy chọn khác nhau cho sự xuất hiện của lỗi này
tin nhắn. Nếu như -nội dung đang có hiệu lực, đó là mặc định, các thông báo có phong cách
xấp xỉ tiếng Anh bình thường. (Theo kiểu mặc định, tên tệp không được in trong tin nhắn
trong nội dung của chương trình nếu -danh sách đang có hiệu lực.) Kiểu thông báo lỗi khác
được chọn bởi -novice lựa chọn. Theo phong cách này, sự xuất hiện của các thông báo là
tương tự như của UNIX xơ vải chương trình.

ftnchek vẫn còn mù mờ với một số loại lỗi cú pháp. Hai điều quan trọng nhất là
kiểm tra chi tiết các câu lệnh FORMAT và hầu hết mọi thứ liên quan đến việc kiểm soát
luồng thực thi bằng các câu lệnh IF, DO và GOTO: cụ thể là lồng điều khiển chính xác
cấu trúc, kết hợp các câu lệnh mở đầu như IF ... THEN với câu lệnh đóng
chẳng hạn như ENDIF và việc sử dụng nhãn (số) câu lệnh đúng cách. Hầu hết các trình biên dịch sẽ
bắt những lỗi này. Xem phần Giới hạn để thảo luận chi tiết hơn.

If ftnchek cung cấp cho bạn một thông báo lỗi cú pháp khi trình biên dịch không, có thể là do
chương trình của bạn chứa phần mở rộng cho Fortran tiêu chuẩn được trình biên dịch chấp nhận
nhưng không phải bởi ftnchek. (Xem phần Tiện ích mở rộng.) Trên hệ thống VAX / VMS, bạn có thể sử dụng
tùy chọn trình biên dịch / STANDARD để khiến trình biên dịch chỉ chấp nhận Fortran tiêu chuẩn. Trên
hầu hết các hệ thống giống UNIX hoặc UNIX, điều này có thể được thực hiện bằng cách đặt cờ -ansi.

Nhiều thông điệp được đưa ra bởi ftnchek là tự giải thích. Những người cần một số
giải thích bổ sung được liệt kê bên dưới theo thứ tự bảng chữ cái.

Chung chặn TÊN: dữ liệu kiểu không phù hợp at vị trí n
Sản phẩm nbiến -th trong khối COMMON khác nhau về kiểu dữ liệu trong hai biến khác nhau
khai báo của khối COMMON. Theo mặc định (-chung mức độ nghiêm ngặt 3), ftnchek
rất kén chọn các khối COMMON: các biến được liệt kê trong chúng phải khớp chính xác
theo kiểu dữ liệu và kích thước mảng. Đó là, cặp khai báo hợp pháp trong
các mô-đun khác nhau:
COMMON / COM1 / A, B

COMMON / COM1 / A(2)
sẽ gây ra ftnchek để đưa ra cảnh báo ở mức độ nghiêm ngặt 3. Hai tuyên bố này
đều hợp pháp trong Fortran vì cả hai đều khai báo hai biến thực. Nghiêm khắc
cấp độ 1 hoặc 2, sẽ không có cảnh báo nào được đưa ra trong ví dụ này, nhưng cảnh báo sẽ là
được đưa ra nếu có kiểu dữ liệu không khớp, chẳng hạn, nếu B được khai báo là INTEGER.
Điều khiển bởi -chung thiết lập.

Chung chặn TÊN Dài dữ liệu kiểu tiếp theo ngắn dữ liệu kiểu
Một số trình biên dịch yêu cầu căn chỉnh các mục nhiều byte để mỗi mục bắt đầu tại một
địa chỉ là bội số của kích thước mặt hàng. Vì vậy, nếu một ngắn (ví dụ: đơn-
mục chính xác thực) được theo sau bởi một mục dài (ví dụ: thực chính xác gấp đôi),
sau này có thể không được căn chỉnh chính xác. Điều khiển bởi -portability = common-alignment
tùy chọn.

Chung chặn TÊN hỗn hợp tính cách phi nhân vật biến
Tiêu chuẩn ANSI yêu cầu rằng nếu bất kỳ biến nào trong khối COMMON thuộc loại
CHARACTER, thì tất cả các biến khác trong cùng một khối COMMON cũng phải thuộc loại
TÍNH CÁCH. Điều khiển bởi -f77 = hỗn hợp-chung tùy chọn.

Chung chặn TÊN: thay đổi chiều dài
Trong -chung thiết lập mức 2, thông báo này có nghĩa là một khối COMMON được khai báo cho
có số lượng từ khác nhau trong hai chương trình con khác nhau. Một từ là số lượng
bộ nhớ bị chiếm bởi một số nguyên hoặc biến thực. Vì -chung thiết lập cấp độ 3,
nó có nghĩa là hai khai báo có số lượng biến khác nhau, trong đó
mảng có kích thước bất kỳ được coi là một biến. Đây không nhất thiết là một lỗi,
nhưng nó có thể chỉ ra rằng một trong các danh sách bị thiếu một biến. Lưu ý rằng
theo Tiêu chuẩn Fortran 77, đó là lỗi đối với các khối COMMON được đặt tên (nhưng
không để trống COMMON) để khác nhau về số lượng từ trong các khai báo ở các
các mô-đun. Cho -chung cài đặt 2 hoặc 3.

Lỗi: Tệ hình thành logic / quan hệ nhà điều hành or không thay đổi

Lỗi: Tệ hình thành thực không thay đổi
Trình phân tích cú pháp đã tìm thấy phần bắt đầu của một trong những từ đặc biệt bắt đầu và
kết thúc bằng dấu chấm (ví dụ .EQ.) hoặc bắt đầu bằng hằng số, nhưng không
thành công trong việc tìm kiếm một mặt hàng hoàn chỉnh thuộc loại đó.

Lỗi: không thể be điều chỉnh kích thước in mô-đun TÊN
Một biến ký tự không thể được khai báo với kích thước là dấu hoa thị trong
dấu ngoặc đơn trừ khi nó là một đối số giả, một tham số hoặc tên của hàm
được định nghĩa trong mô-đun.

Lỗi: không thể be tuyên bố in LƯU GIỮ tuyên bố in mô-đun TÊN
Chỉ các biến cục bộ và các khối chung mới có thể được khai báo trong một câu lệnh SAVE.

Lỗi: Không con đường đến điều này tuyên bố
ftnchek sẽ phát hiện các câu lệnh bị bỏ qua hoặc bỏ qua vì không có
lộ trình có thể thấy trước đến tuyên bố. Ví dụ, một câu lệnh không được đánh số (một
câu lệnh không có nhãn câu lệnh), xảy ra ngay sau câu lệnh GOTO,
không thể thực hiện được.

Lỗi: Phân tích lôi
Điều này có nghĩa là trình phân tích cú pháp, phân tích chương trình Fortran thành các biểu thức,
tuyên bố, v.v., đã không thể tìm thấy cách giải thích hợp lệ cho một số phần
của một câu lệnh trong chương trình. Nếu trình biên dịch của bạn không báo lỗi cú pháp tại
cùng một nơi, các giải thích phổ biến nhất là: (1) sử dụng phần mở rộng cho ANSI
Fortran tiêu chuẩn không được công nhận bởi ftnchek, hoặc (2) câu lệnh yêu cầu
nhiều cái nhìn hơn ftnchek sử dụng (xem phần Lỗi).

LƯU Ý: Thông báo này có nghĩa là tuyên bố bị ảnh hưởng không được diễn giải.
Do đó, có thể ftnchekQuá trình xử lý tiếp theo của sẽ có lỗi, nếu
nó phụ thuộc vào bất kỳ vấn đề nào bị ảnh hưởng bởi tuyên bố này (khai báo kiểu, v.v.).

Lỗi: cú pháp lôi
Điều này giống với `` Lỗi: Lỗi phân tích cú pháp '' (xem ở trên). Nó được tạo ra nếu
phiên bản ftnchek được xây dựng bằng UNIX yac trình tạo phân tích cú pháp chứ không phải GNU
bò rừng.

Định danh cái nào đang không độc đáo in Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên 6 xe tăng
Cảnh báo rằng hai số nhận dạng dài hơn 6 ký tự không khác nhau trong
6 ký tự đầu tiên. Điều này dành cho tính di động: chúng có thể không được coi là khác biệt
bởi một số trình biên dịch. Điều khiển bởi -sáu ký tự tùy chọn.

Không thể di chuyển sử dụng: đối số chính xác có thể không be sửa chữa cho nội tại chức năng
Độ chính xác của một đối số được truyền cho một hàm nội tại có thể không chính xác trên
một số máy tính. Được cấp khi một biến số được khai báo với độ chính xác rõ ràng
(ví dụ: REAL * 8 X) được chuyển cho một hàm nội tại cụ thể (ví dụ: DSQRT (X)).
Điều khiển bởi -khả năng di chuyển = kích thước hỗn hợp-Kích thước từ.

Không thể di chuyển sử dụng: tính cách Biến cố định chiều dài vượt quá 255
Một số trình biên dịch không hỗ trợ các chuỗi ký tự có độ dài hơn 255 ký tự.
Điều khiển bởi -portability = chuỗi dài.

Không thể di chuyển sử dụng: Tập tin chứa tab
ftnchek mở rộng các tab để tương đương với khoảng trắng lên đến cột tiếp theo là
bội số của 8. Một số trình biên dịch xử lý các tab khác nhau, và cũng có thể
các tệp được gửi bằng thư điện tử sẽ có các tab được chuyển đổi thành khoảng trống theo một cách nào đó.
Do đó, các tệp chứa các tab có thể không được biên dịch chính xác sau khi
chuyển nhượng. ftnchek không đưa ra thông báo này nếu các tab chỉ xuất hiện trong nhận xét
hoặc hằng số ký tự. Điều khiển bởi -portability = tab.

Không thể di chuyển sử dụng: không số nguyên DO vòng lặp giới hạn
Cảnh báo này chỉ được đưa ra khi chỉ số DO và giới hạn không phải là số nguyên. Sử dụng
số lượng không phải số nguyên trong câu lệnh DO có thể gây ra lỗi không mong muốn hoặc khác
kết quả trên các máy khác nhau, do hiệu ứng vòng. Điều khiển bởi
-portability = real-do.

Có thể it is an mảng cái nào không tuyên bố
Thông báo này được nối vào các cảnh báo liên quan đến một lệnh gọi hàm hoặc một
loại đối số không phù hợp, có khả năng tồn tại rằng những gì dường như là một
hàm thực sự có nghĩa là một mảng. Nếu lập trình viên quên thứ nguyên
một mảng, các tham chiếu đến mảng sẽ được hiểu là các lệnh gọi hàm.
Thông báo này sẽ bị chặn nếu tên được đề cập xuất hiện ở BÊN NGOÀI hoặc
Tuyên bố INTRINSIC. Được kiểm soát bởi -nội dung tùy chọn.

Có thể gây hiểu lầm xuất hiện: nhân vật qua 72 cột
Chương trình đang được xử lý với độ rộng trường câu lệnh ở giá trị tiêu chuẩn của nó
trong số 72 và một số ký tự không trống đã được tìm thấy trong cột 72. Trong trường hợp này,
ftnchek không xử lý các ký tự trong cột 72 và đang thông báo cho người dùng
rằng câu lệnh có thể không có ý nghĩa mà nó dường như có. Này
các ký tự có thể được lập trình viên dự định là quan trọng, nhưng chúng sẽ
bị bỏ qua bởi trình biên dịch. Điều khiển bởi -pretty = long-line.

Có thể gây hiểu lầm xuất hiện: Chung chặn tuyên bố in chi tiết hơn một tuyên bố
Nhiều tuyên bố như vậy là hợp pháp và có tác dụng giống như việc tiếp tục
khai báo ban đầu của khối. Cảnh báo này chỉ được đưa ra nếu hai
các tuyên bố được phân tách bằng một hoặc nhiều tuyên bố xen kẽ. Điều khiển bởi
-pretty = nhiều chung.

Có thể gây hiểu lầm xuất hiện: Tiếp tục sau bình luận or trống hàng
ftnchek đưa ra thông báo cảnh báo này để cảnh báo người dùng rằng sự tiếp tục của một
câu lệnh được xen kẽ với các bình luận, khiến bạn dễ dàng bỏ qua. Điều khiển bởi
-pretty = tiếp tục.

Có thể gây hiểu lầm xuất hiện: Không liên quan dấu ngoặc đơn
Cảnh báo về dấu ngoặc bao quanh một biến của chính nó trong một biểu thức. Khi một
biến trong ngoặc đơn được truyền như một đối số cho một chương trình con, nó được coi là
một biểu thức, không phải là một biến có giá trị có thể được sửa đổi bởi quy trình được gọi.
Điều khiển bởi -pretty = ngoặc.

Chương trình con TÊN: đối số dữ liệu kiểu không phù hợp at vị trí n
Chương trình con của n-th đối số thực tế (trong CALL hoặc cách sử dụng một hàm)
khác về kiểu dữ liệu hoặc độ chính xác với n-th đối số giả (trong SUBROUTINE hoặc
Khai báo FUNCTION). Ví dụ: nếu người dùng định nghĩa một chương trình con bằng
SUBROUTINE SUBA (X)
THỰC X
và những nơi khác gọi SUBA bằng cách
CALL SUBA(2)
ftnchek sẽ phát hiện ra lỗi. Lý do ở đây là số 2 là số nguyên,
không thực sự. Người dùng nên viết
GỌI SUBA (2.0)

Khi kiểm tra một đối số là một chương trình con, ftnchek phải có khả năng xác định
cho dù đó là một hàm hay một chương trình con. Các quy tắc được sử dụng bởi ftnchek để làm điều này là
như sau: Nếu chương trình con, ngoài việc được truyền như một đối số thực tế, còn
được gọi trực tiếp ở nơi khác trong cùng một mô-đun, sau đó loại của nó được xác định bởi
cách sử dụng. Nếu không, thì nếu tên của chương trình con không xuất hiện trong một
khai báo kiểu, nó được giả định là một chương trình con; nếu nó được gõ rõ ràng thì nó là
được coi là một chức năng. Do đó, các chương trình con được truyền dưới dạng các đối số thực tế chỉ cần
được khai báo bởi một câu lệnh BÊN NGOÀI trong mô-đun gọi, trong khi các hàm phải
cũng được nhập rõ ràng để tránh tạo ra thông báo lỗi này.
Điều khiển bởi -tranh luận thiết lập.

Chương trình con TÊN: đối số mảng không phù hợp at vị trí n
Tương tự như tình huống trước, nhưng đối số giả của chương trình con khác với
đối số thực tế tương ứng về số thứ nguyên hoặc số lượng
các yếu tố. Điều khiển bởi -mảng Cùng với -tranh luận cài đặt.

Chương trình con TÊN: đối số không phù hợp at vị trí n
Đối số giả ký tự lớn hơn đối số thực tương ứng hoặc
Đối số giả Hollerith lớn hơn đối số thực tế tương ứng.
Điều khiển bởi -tranh luận thiết lập.

Chương trình con TÊN: đối số sử dụng không phù hợp
ftnchek phát hiện xung đột có thể xảy ra giữa cách chương trình con sử dụng đối số
và cách thức mà đối số được cung cấp cho chương trình con. Xung đột có thể
là một trong hai loại, như được nêu bên dưới.

hình nộm arg is sửa đổi, Thực tế arg is const or thể hiện
Đối số giả là đối số được đặt tên trong câu lệnh SUBROUTINE hoặc FUNCTION và
được sử dụng trong chương trình con. Một đối số thực tế là một đối số được truyền cho một
chương trình con hoặc chức năng của người gọi. ftnchek đang nói rằng một đối số giả là
được sửa đổi bởi chương trình con, ngụ ý rằng giá trị của nó được thay đổi trong lệnh gọi
mô-đun. Đối số thực tế tương ứng không được là một hằng số hoặc một biểu thức,
mà là một biến hoặc phần tử mảng có thể được gán hợp pháp cho.
Được kiểm soát bởi -usage = arg-const-mod tùy chọn.

hình nộm arg đã sử dụng trước bộ, Thực tế arg không định
Ở đây, một đối số giả có thể được sử dụng trong chương trình con trước khi gán một giá trị
tới nó bởi chương trình con. Đối số thực tế tương ứng phải có giá trị
được người gọi gán cho nó trước khi gọi chương trình con. Được kiểm soát bởi
-usage = var-uninitialized tùy chọn.

Cảnh báo này không bị ảnh hưởng bởi -tranh luận thiết lập.

Chương trình con TÊN viện dẫn không nhất quán
Ở đây, sự không khớp là giữa kiểu dữ liệu của chính chương trình con như được sử dụng và như
được xác định. Ví dụ: nếu người dùng khai báo
BỘ ĐẾM CHỨC NĂNG INTEGER (A)
và gọi COUNT trong một mô-đun khác dưới dạng
N = COUNT (A)
mà không cần khai báo kiểu dữ liệu của nó, nó sẽ mặc định là kiểu thực, dựa trên
tên của nó. Mô-đun gọi phải bao gồm khai báo
SỐ LƯỢNG

Cho -tranh luận cài đặt 2 hoặc 3.

Chương trình con TÊN: thay đổi chiều dài đối số danh sách:
Đã tìm thấy sự không nhất quán giữa số lượng đối số giả (tham số)
một chương trình con có và số lượng các đối số thực tế cho nó trong một lệnh gọi.
ftnchek theo dõi tất cả các lệnh gọi của chương trình con (câu lệnh CALL và
biểu thức sử dụng các hàm) và so sánh chúng với các định nghĩa của
chương trình con ở nơi khác trong mã nguồn. Trình biên dịch Fortran thường không
bắt loại lỗi này. Cho -tranh luận cài đặt 1 hoặc 3.

Biến không khai báo. Kiểu được ngầm hiểu xác định
Khi in bảng ký hiệu cho một mô-đun, ftnchek sẽ gắn cờ bằng dấu hoa thị tất cả
số nhận dạng không được nhập rõ ràng và sẽ hiển thị kiểu dữ liệu
được chỉ định thông qua đánh máy ngầm. Điều này cung cấp hỗ trợ cho những người dùng muốn
khai báo tất cả các biến theo yêu cầu trong Pascal hoặc một số ngôn ngữ khác. Điều này
thông báo chỉ xuất hiện khi -biểu tượng tùy chọn đang có hiệu lực. Ngoài ra, sử dụng
-tuyên bố gắn cờ nếu bạn muốn nhận danh sách tất cả các biến chưa được khai báo.

Biến tuyên bố nhưng không bao giờ tham khảo
Phát hiện bất kỳ số nhận dạng nào đã được khai báo trong chương trình của bạn nhưng chưa bao giờ được sử dụng,
hoặc được gán một giá trị hoặc để giá trị của chúng được truy cập. Các biến trong COMMON
Bị loại trừ. Được kiểm soát bởi -usage = var-used tùy chọn.

Biến định nhưng không bao giờ đã sử dụng
ftnchek sẽ thông báo cho người dùng khi một biến đã được chỉ định một giá trị, nhưng
biến không được sử dụng trong chương trình. Thông thường điều này là kết quả của một
sự giám sát. Được kiểm soát bởi -usage = var-set-used tùy chọn.

Biến đã sử dụng trước định
Thông báo này cho biết rằng một số nhận dạng được sử dụng để tính toán một giá trị trước nó
khởi tạo. Việc sử dụng như vậy có thể dẫn đến một giá trị được tính không chính xác, vì
giá trị ban đầu của nó không được kiểm soát. Được kiểm soát bởi -usage = var-uninitialized
tùy chọn.

Biến có thể be đã sử dụng trước định
Tương tự như được sử dụng trước khi đặt ngoại trừ điều đó ftnchek không thể xác định trạng thái của nó
với sự chắc chắn. ftnchek giả sử một biến có thể được sử dụng trước khi đặt nếu biến đầu tiên
việc sử dụng biến xảy ra trước trong văn bản chương trình để gán nó.
Được kiểm soát bởi -usage = var-uninitialized tùy chọn.

Cảnh báo: DO chỉ số is không số nguyên
Cảnh báo này chỉ được đưa ra khi giới hạn DO là số nguyên, nhưng chỉ số DO thì không.
Nó có thể chỉ ra lỗi không thể khai báo chỉ mục là một số nguyên. Điều khiển bởi
-truncation = real-do tùy chọn.

Cảnh báo: số nguyên thương thể hiện hữu ích. Cảm ơn ! chuyển đổi đến thực
Thương của hai số nguyên dẫn đến kết quả kiểu số nguyên, trong đó
phần phân số bị loại bỏ. Nếu một biểu thức số nguyên liên quan đến phép chia là
sau đó được chuyển đổi thành một kiểu dữ liệu thực, nó có thể là một phép phân chia kiểu thực đã được
dự định. Điều khiển bởi -truncation = int-div-real tùy chọn.

Cảnh báo: Số nguyên thương thể hiện hữu ích. Cảm ơn ! đã sử dụng in số mũ
Thương của hai số nguyên dẫn đến kết quả kiểu số nguyên, trong đó
phần phân số bị loại bỏ. Nếu một biểu thức số nguyên như vậy được sử dụng như một số mũ,
rất có thể là một sự phân chia loại thực đã được dự định. Điều khiển bởi
-truncation = int-div-exponent tùy chọn.

Cảnh báo: TÊN không định khi nào TRỞ VỀ đã gặp
Cách mà các hàm trong Fortran trả về giá trị là bằng cách gán giá trị cho
tên của hàm. Thông báo này cho biết rằng chức năng không được chỉ định một
giá trị trước điểm tìm thấy câu lệnh RETURN. Vì vậy nó là
có thể hàm có thể trả về một giá trị không xác định.

Cảnh báo: Không chuẩn cú pháp: điều chỉnh kích thước không thể be nối Ở đây
Tiêu chuẩn Fortran 77 (giây 6.2.2) cấm nối các biến ký tự
có kích thước là dấu hoa thị trong ngoặc đơn, ngoại trừ trong câu lệnh gán.
Điều khiển bởi -f77 = hỗn hợp-expr.

Cảnh báo: Không chuẩn cú pháp : có ý nghĩa nhân vật qua 72 cột
Cảnh báo này được đưa ra dưới -f77 = dòng dài thiết lập nếu -cột thiết lập có
được sử dụng để tăng chiều rộng trường câu lệnh và một câu lệnh có ý nghĩa
văn bản chương trình ngoài cột 72. Chuẩn Fortran bỏ qua tất cả văn bản trong các cột đó,
nhưng một số trình biên dịch thì không. Do đó, chương trình có thể được đối xử khác nhau bằng cách
các trình biên dịch khác nhau.

Cảnh báo: Không chuẩn cú pháp : Tuyên bố ra of trật tự.
ftnchek sẽ phát hiện các câu lệnh nằm ngoài trình tự được chỉ định cho ANSI
tiêu chuẩn Fortran 77. Bảng 1 minh họa chuỗi các câu lệnh được phép trong
Ngôn ngữ Fortran. Tuy nhiên, các câu lệnh không theo thứ tự vẫn được giải thích bởi
ftnchek, để ngăn chặn các dòng thông báo lỗi. Bộ đếm trình tự cũng là
được khôi phục để ngăn việc lặp lại thông báo lỗi cho một khối tương tự
các câu lệnh. Được kiểm soát bởi -f77 = lệnh sao kê tùy chọn.

-------------------------------------------------- ------
| | ngầm hiểu
| tham số | ---------------------
| | đặc điểm kỹ thuật khác
định dạng | --------------- | ---------------------
và | | câu lệnh-hàm
mục nhập | dữ liệu | ---------------------
| | có thể thực thi
-------------------------------------------------- ------

Bảng 1

Cảnh báo: Có thể phân chia by không
Thông báo này được in ra ở bất kỳ nơi nào thực hiện phép chia (ngoại trừ phép chia cho
hằng số). Sử dụng nó để giúp xác định sự cố phân chia thời gian chạy cho không. Được kiểm soát
by -phân công tùy chọn.

Cảnh báo: thực cắt ngắn đến intg
ftnchek đã phát hiện một câu lệnh gán có biểu thức thực trên
bên phải, nhưng một biến số nguyên ở bên trái. Phần thập phân của giá trị thực
sẽ bị mất. Nếu bạn chuyển đổi rõ ràng biểu thức thực thành số nguyên bằng cách sử dụng
Hàm nội tại INT hoặc NINT, sẽ không có cảnh báo nào được in ra. Một thông báo tương tự là
được in nếu biểu thức chính xác kép được gán cho một độ chính xác đơn
biến, v.v. Được kiểm soát bởi -truncation = giáng chức tùy chọn.

Cảnh báo: chỉ số dưới is không số nguyên
Vì các chỉ số con của mảng thường là các đại lượng nguyên, việc sử dụng một số không phải là số nguyên
biểu thức ở đây có thể báo hiệu một lỗi. Điều khiển bởi -truncation = real-subscript
tùy chọn.

Cảnh báo: Không biết nội tại chức năng
Thông báo này cảnh báo người dùng rằng tên được khai báo trong câu lệnh INTRINSIC là
không biết ftnchek. Có thể đó là một chức năng nội tại không tiêu chuẩn, và vì vậy
chương trình sẽ không di động. Chức năng sẽ được xử lý bởi ftnchek với tư cách là một người dùng-
chức năng xác định. Cảnh báo này không bị chặn bởi bất kỳ tùy chọn nào, vì nó ảnh hưởng đến
ftnchekphân tích của chương trình. Tuy nhiên, nếu hàm nội tại thuộc một trong các
các bộ nội dung không chuẩn được hỗ trợ, bạn có thể sử dụng -Nội tại thiết lập để
gây ra ftnchek để nhận ra nó.

GIỚI HẠN MỞ RỘNG


ftnchek chấp nhận các chương trình Fortran-77 tiêu chuẩn ANSI với một số hạn chế nhỏ và nhiều
các phần mở rộng thông thường.

Hạn chế:
Các đối số giả trong các hàm câu lệnh được coi như các biến thông thường của
chương trình. Đó là, phạm vi của chúng là toàn bộ chương trình con, không chỉ là câu lệnh
định nghĩa hàm.

Việc kiểm tra các câu lệnh FORMAT lỏng lẻo, thiếu dấu phân cách (dấu phẩy,
v.v.) giữa các bộ mô tả định dạng ở những nơi mà Tiêu chuẩn yêu cầu chúng, và
cho phép .d các trường trên bộ mô tả không nên có chúng. Nó không cảnh báo dưới
-f77 = format-edit-descr về các loại bộ mô tả không chuẩn (như O) và được hỗ trợ
phần mở rộng.

Có một số phần mở rộng cú pháp và phần tử Fortran 90 ftnchek chấp nhận
nhưng kiểm tra rất ít. Ví dụ: sử dụng con trỏ (cho dù
cú pháp Cray nonstandard hoặc cú pháp Fortran 90) không được kiểm tra khác với bộ
và tình trạng đã sử dụng. Người ta hy vọng rằng một ngày nào đó việc kiểm tra kỹ lưỡng hơn sẽ được
được triển khai, nhưng hiện tại người dùng nên xem xét việc chấp nhận các cú pháp này
các tính năng đơn giản như một sự tiện lợi để cho phép kiểm tra các khía cạnh khác của mã
chứa chúng. Xem phần Tiện ích mở rộng để biết chi tiết cụ thể về các tính năng là gì
được chấp nhận nhưng chưa được kiểm tra đầy đủ.

Nếu chương trình con do người dùng cung cấp có cùng tên với một trong các chương trình con không chuẩn
các chức năng được công nhận bởi ftnchek, nó phải được khai báo trong một câu lệnh BÊN NGOÀI trong
bất kỳ thói quen nào gọi nó. Nếu không, nó sẽ được kiểm tra bình thường
được trao cho chức năng nội tại. Vì bản chất không chuẩn không phải là
tiêu chuẩn, tuyên bố BÊN NGOÀI này không được yêu cầu bởi Tiêu chuẩn Fortran 77.
Sử dụng -intrinsic = không có thiết lập, công nhận hầu hết các nội dung không chuẩn
(chỉ ngoại trừ những thứ cần thiết để hỗ trợ kiểu dữ liệu phức hợp kép) có thể được chuyển
tắt. Xem danh sách các chức năng nội tại không tiêu chuẩn được hỗ trợ trong
thảo luận về -Nội tại thiết lập ở trên.

Phần mở rộng:
Tất cả các tiện ích mở rộng này (ngoại trừ các ký tự viết thường) sẽ tạo ra cảnh báo nếu
liên quan -f77 tùy chọn được thiết lập. Một số tiện ích mở rộng được liệt kê bên dưới là một phần của
Tiêu chuẩn Fortran-90. Chúng được biểu thị bằng ký hiệu (F90).

Các tab được cho phép và được dịch sang các khoảng trống tương đương tương ứng với tab
dừng mỗi 8 cột. Tiêu chuẩn không nhận dạng các tab. Lưu ý rằng một số
trình biên dịch cho phép các tab, nhưng xử lý chúng theo cách khác. Phương pháp điều trị được xác định cho DEC
FORTRAN có thể đạt được bằng cách sử dụng -source = dec-tab thiết lập.

Các chuỗi có thể được phân cách bằng dấu ngoặc kép hoặc dấu nháy đơn. Một chuỗi hai
Các ký tự dấu phân cách được hiểu là một ký tự dấu phân cách được nhúng duy nhất.
(F90)

Các chuỗi có thể chứa các chuỗi thoát dấu gạch chéo ngược kiểu UNIX. Họ sẽ được
được giải thích như vậy nếu -source = unix-dấu gạch chéo ngược cài đặt được đưa ra. Nếu không
ký tự gạch chéo ngược sẽ được coi là ký tự in bình thường.

Mã nguồn có thể ở định dạng miễn phí Fortran 90 hoặc định dạng cố định truyền thống.
(F90)

Dấu chấm phẩy được phép làm dấu phân tách câu lệnh. (F90)

Các ký tự viết thường được cho phép và được chuyển đổi nội bộ thành chữ hoa
ngoại trừ trong chuỗi ký tự. Tiêu chuẩn chỉ quy định chữ hoa, ngoại trừ trong
nhận xét và chuỗi. (F90)

Hằng số Hollerith được cho phép, theo Tiêu chuẩn Fortran 77,
phụ lục C. Không nên sử dụng chúng trong biểu thức hoặc nhầm lẫn với kiểu dữ liệu
TÍNH CÁCH.

Chữ cái 'D' (viết hoa hoặc viết thường) trong cột 1 được coi là phần đầu của một
nhận xét. Không có tùy chọn nào để coi những dòng như vậy là câu lệnh thay vì nhận xét.

Các câu lệnh có thể dài hơn 72 cột với điều kiện là cài đặt -cột
được sử dụng để tăng giới hạn. Theo tiêu chuẩn, tất cả văn bản từ cột 73
đến 80 bị bỏ qua và không dòng nào có thể dài hơn 80 cột.

Tên biến có thể dài hơn sáu ký tự. Tiêu chuẩn chỉ định sáu là
giá trị lớn nhất. ftnchek cho phép tên dài tối đa 31 ký tự (F90).

Tên biến có thể chứa dấu gạch dưới và dấu đô la (hoặc các tên khác không phải chữ cái
các ký tự như được chỉ định bởi -các ký tự bảo mật lựa chọn). Những nhân vật này là
được đối xử giống như các chữ cái trong bảng chữ cái. Loại mặc định cho các biến bắt đầu
với những ký tự này là REAL. Trong câu lệnh loại IMPLICIT chỉ định một phạm vi
các ký tự, ký hiệu đô la đứng sau Z và theo sau là dấu gạch dưới. (Bất kỳ khác
các ký tự do người dùng xác định được coi giống như ký hiệu đô la.) Fortran 90
cho phép dấu gạch dưới trong tên biến.

Phiên bản UNIX chấp nhận sự hiện diện của các chỉ thị tiền xử lý, cụ thể là các dòng
bắt đầu bằng dấu thăng (#). Đây được coi là nhận xét, ngoại trừ # dòng
các lệnh, được diễn giải và được sử dụng để đặt số dòng và nguồn
tên tệp cho các cảnh báo và thông báo lỗi. Lưu ý rằng các lệnh #include không
xử lý bởi ftnchek. Các chương trình sử dụng chúng để bao gồm các tệp nguồn phải
được chuyển qua bộ xử lý trước khi được nhập vào ftnchek. Như đã lưu ý dưới đây,
ftnchek xử lý các câu lệnh INCLUDE, có cú pháp khác. Một
chương trình tùy chọn, ftnpp(1L) (có sẵn riêng) cung cấp tiền xử lý
xử lý đúng cách BAO GỒM các tệp.

Cho phép cấu trúc điều khiển Fortran 90 DO ... ENDDO. CYCLE và EXIT
các tuyên bố được chấp nhận. Tất cả những thứ này có thể có tên do-construct tùy chọn, nhưng
tên cấu trúc không được kiểm tra tính nhất quán. (F90)

Cấu trúc Fortran 90 SELECT CASE được chấp nhận. (F90)

Tên cấu trúc cũng được chấp nhận trên IF, THEN, ELSE, ENDIF và SELECT CASE
các câu lệnh. (F90)

Cho phép các câu lệnh ACCEPT và TYPE (đối với I / O đầu cuối), với cùng
cú pháp như PRINT.

Cái gọi là cú pháp `` Con trỏ Cray '' được chấp nhận. Nó không giống với
Câu lệnh Fortran 90 POINTER. Không có kiểm tra thực sự của tuyên bố khác
hơn cú pháp cơ bản. Hình thức của tuyên bố này là
CON TRỎ (con trỏ, người chỉ điểm) [, (con trỏ, người chỉ điểm)]
Các biến con trỏ được gán kiểu dữ liệu là INTEGER * 4. Kiểm tra việc sử dụng
các biến con trỏ bị chặn, vì trong thực tế, chúng được truy cập gián tiếp
thông qua các con trỏ.

Các cú pháp liên quan đến con trỏ Fortran 90 sau đây được chấp nhận: ALLOCATABLE,
Các câu lệnh POINTER, và TARGET và các thuộc tính giống nhau trong khai báo kiểu;
Các câu lệnh thực thi ALLOCATE, DEALLOCATE và NULLIFY; chỉ định con trỏ bằng cách sử dụng
=> toán tử; và các chức năng nội tại ĐƯỢC PHÉP VÀ LIÊN KẾT. Ngữ nghĩa nhỏ
việc kiểm tra các biến và hoạt động con trỏ được thực hiện ngoài bộ cơ bản và được sử dụng
trạng thái. Ví dụ: không có kiểm tra các lỗi như con trỏ treo,
hoặc sử dụng các mảng chưa được phân bổ.

Các câu lệnh có thể có bất kỳ số dòng tiếp nối nào. Fortran 77 và Fortran
90 tiêu chuẩn cho phép tối đa 19 tiêu chuẩn ở dạng nguồn cố định. Tiêu chuẩn Fortran 90
cho phép tối đa 39 ở dạng nguồn miễn phí.

Toán tử quan hệ (so sánh) bao gồm dấu câu, cụ thể là: <<= == / =>> =
được cho phép. (F90)

Cho phép nhận xét nội dòng, bắt đầu bằng dấu chấm than. (F90)

NAMELIST I / O được hỗ trợ. Cú pháp giống như trong Fortran 90.

Các câu lệnh FORMAT có thể chứa một ký hiệu đô la để biểu thị việc loại bỏ ký tự xuống dòng-
trở lại. Một biểu thức số nguyên được đặt trong dấu ngoặc nhọn có thể được sử dụng ở bất kỳ đâu trong
Câu lệnh FORMAT trong đó Tiêu chuẩn Fortran 77 cho phép một hằng số nguyên (ngoại trừ
cho độ dài của hằng số Hollerith), để cung cấp giá trị thời gian chạy cho một lần lặp lại
đặc điểm kỹ thuật hoặc chiều rộng trường.

Các từ khóa không chuẩn được phép trong các câu lệnh I / O, tương ứng với các từ khóa trong VMS
Fortran.

Câu lệnh IMPLICIT NONE được hỗ trợ. Ý nghĩa của câu nói này là
tất cả các biến phải có kiểu dữ liệu được khai báo rõ ràng. Thay vì gắn cờ
sự xuất hiện của các biến như vậy với thông báo lỗi cú pháp, ftnchek đợi cho đến khi
cuối mô-đun, rồi in ra danh sách tất cả các biến chưa được khai báo, vì nó
làm cho -tuyên bố lựa chọn. (F90)

Các kiểu dữ liệu INTEGER, REAL, COMPLEX và LOGICAL được phép có tùy chọn
đặc điểm kỹ thuật chính xác trong khai báo kiểu. Ví dụ: REAL * 8 có nghĩa là 8 byte
kiểu dữ liệu dấu chấm động. Kiểu dữ liệu REAL * 8 không nhất thiết phải được xem xét
tương đương với ĐÔI CHÍNH XÁC, tùy thuộc vào -Kích thước từ thiết lập. Pháo đài 77
Tiêu chuẩn cho phép chỉ định độ dài cho dữ liệu CHARACTER.

ftnchek hỗ trợ đặc điểm kỹ thuật loại DOUBLE COMPLEX cho một số lượng phức tạp có
phần thực và phần ảo có độ chính xác gấp đôi. Chế độ hỗn hợp số học liên quan đến
phức hợp chính xác đơn với dữ liệu thực chính xác kép, bị cấm theo
Chuẩn, tạo ra kết quả phức kép.

Khai báo kiểu kết hợp và bộ khởi tạo giống câu lệnh dữ liệu được chấp nhận.
Chúng có dạng khai báo loại Fortran 77 tiêu chuẩn, theo sau là dấu gạch chéo-
danh sách các hằng số được phân tách như vậy được sử dụng trong một câu lệnh DATA. Một ví dụ về
cú pháp là
SỐ NGUYÊN N / 100 /
Hình thức khai báo khởi tạo khốn khổ này không được chấp nhận trong Fortran 90. Như vậy
khai báo nên được viết bằng cách sử dụng biểu mẫu tiêu chuẩn được mô tả dưới đây, đó là
được chấp nhận bởi ftnchek.

Hỗ trợ hạn chế cho các khai báo kiểu dựa trên thuộc tính Fortran 90. Điều này
kiểu khai báo được phân biệt bằng cách sử dụng dấu hai chấm (: :) giữa
danh sách các thuộc tính và danh sách các biến đã khai báo. Các tính năng được hỗ trợ có thể
đủ cho người mới lập trình, nhưng chưa đủ cho người chuyên nghiệp-
Fortran 90 chương trình chất lượng. Tôi hy vọng sẽ thêm hỗ trợ cho nhiều tính năng hơn trong tương lai
các bản phát hành. Tôi mời các tình nguyện viên hỗ trợ trong nhiệm vụ này. Xem tệp Việc cần làm trong
phân phối mã nguồn để biết chi tiết. Các thuộc tính hiện được chấp nhận, bên cạnh đó
tất cả các kiểu dữ liệu thông thường, là DIMENSION, EXTERNAL, INTRINSIC, PARAMETER và SAVE.
Dạng khai báo mới cũng cho phép gán giá trị cho các biến
khai báo. Hiện tại, (LEN =giá trị) hình thức xác định độ dài ký tự cũng là
Đã được chấp nhận. Thông số kỹ thuật loại, sử dụng (KIND =giá trị) được phân tích cú pháp nhưng không
đã xử lý: tất cả các loại được coi là loại mặc định. Ngoài ra, có rất ít kiểm tra
của những khai báo này ngoài cú pháp cơ bản.

Nhiều chức năng nội tại không chuẩn thường thấy được cung cấp. Xem
thảo luận về -Nội tại để biết danh sách các chức năng và cách kiểm soát những chức năng nào
được công nhận.

Việc kiểm tra đối số không chặt chẽ đối với những bản chất không chuẩn lấy mảng hoặc
các kiểu đối số hỗn hợp.

ftnchek cho phép câu lệnh INCLUDE, điều này khiến cho văn bản của
tệp đã cho. Cú pháp là
BAO GỒM 'tên tập tin'
Điều này tương thích với Fortran 90. Nếu -source = vms-include tùy chọn được đưa ra,
ftnchek tuân theo các quy ước VMS liên quan đến tuyên bố này: nó giả định
phần mở rộng mặc định của .cho nếu không có phần mở rộng tên tệp nào được cung cấp và cho phép
vòng loại / [KHÔNG] DANH SÁCH theo sau tên tệp, để kiểm soát danh sách bao gồm
tập tin. Không có hỗ trợ bao gồm các mô-đun văn bản VMS.

Trong đầu ra chẩn đoán liên quan đến các mục có trong tệp bao gồm, vị trí của
lỗi được chỉ định bởi cả vị trí của nó trong tệp bao gồm và vị trí trong
tệp mẹ nơi tệp đã được bao gồm.

ftnchek chấp nhận các câu lệnh PARAMETER thiếu dấu ngoặc đơn. Những điều này sẽ được cảnh báo
về nếu -f77 = param-noparen cờ được đưa ra.

ftnchek chấp nhận các định nghĩa PARAMETER liên quan đến các chức năng nội tại và
lũy thừa bởi một số mũ không nguyên. Cả hai trường hợp này đều bị cấm bởi
Tiêu chuẩn Fortran 77, và sẽ được cảnh báo nếu -f77 = param-nội tại cờ
được đưa ra. Nếu một giá trị hàm nội tại là một hằng số nguyên thời gian biên dịch,
ftnchek sẽ đánh giá nó. Điều này cho phép kiểm tra tốt hơn nếu tham số được sử dụng trong
khai báo kích thước mảng. Fortran 90 cho phép các chức năng nội tại trong PARAMETER
các định nghĩa.

Các chức năng nội tại được đánh giá là:

ABS IABS Mờ IDIM TỐI ĐA
MAX0 MIN MIN0 MOD ĐĂNG KÝ
CHỈ SỐ ICHAR ISIGN LEN

Các hàm của các đối số nguyên chỉ được đánh giá nếu các đối số là số nguyên
các biểu thức hằng số. (Chúng có thể liên quan đến các hằng số nguyên, tham số và
các chức năng nội tại được đánh giá.) Hàm LEN được đánh giá nếu đối số của nó là
một biểu thức chỉ bao gồm các hằng ký tự và các biến có độ dài không
có thể điều chỉnh. Các hàm ICHAR và INDEX chỉ được đánh giá nếu các đối số là
hằng số ký tự. ftnchek đưa ra cảnh báo nếu nó cần giá trị của một số
chức năng nội tại không được đánh giá.

Mới TÍNH NĂNG, ĐẶC ĐIỂM


Dưới đây là những thay đổi từ Phiên bản 3.2 sang Phiên bản 3.3:

1. Giao diện người dùng đã được viết lại để xem trước không giới hạn, loại bỏ lỗi lâu nay
dẫn đến việc giải thích sai các tuyên bố mà sự mơ hồ không được giải quyết trong
dòng đầu tiên.

2. Các -mkhtml tùy chọn hiện có sẵn trong phiên bản MS-DOS.

3. Hỗ trợ thêm cho cú pháp liên quan đến con trỏ Fortran 90: ALLOCATE, DEALLOCATE và NULLIFY
các câu lệnh; các thuộc tính ALLOCATABLE, POINTER và TARGET trong khai báo kiểu; các
toán tử gán con trỏ => và các hàm nội tại ALLOCATED và ASSOCIATED; và
khai báo mảng hình dạng trì hoãn. Hiện tại, các tính năng cú pháp mới này đã được chấp nhận
nhưng không được kiểm tra đúng cách. Tính năng này đã được Robert Landrito thêm vào.

4. Các -f77-f90 con trỏ tùy chọn kiểm soát cảnh báo về `` Con trỏ Cray '' đã được
đổi tên thành con trỏ cray. Các -f77 = con trỏ tùy chọn bây giờ thay vào đó kiểm soát các cảnh báo cho
mã chứa cú pháp liên quan đến con trỏ Fortran 90.

5. Thực hiện lại -mkhtml xử lý, vì vậy nó hiện nhanh hơn nhiều trên các tệp nguồn chứa
nhiều thói quen.

6. Đã thay đổi cách sắp xếp của thư mục thử nghiệm nên không cần phải sửa đổi nữa
phân phối để chạy bộ thử nghiệm (kiểm tra.bat) dưới MS-DOS.

7. Sửa lỗi đọc cài đặt số trên dòng lệnh khi đặt tên viết tắt thành
3 ký tự.

8. Đã sửa lỗi gây ra cảnh báo giả cho GOTO tham chiếu đến câu lệnh END có nhãn
khi câu lệnh trước END là một ĐỊNH DẠNG.

9. Cờ mới -f77 = ký tự để kiểm soát các cảnh báo về các tiện ích mở rộng cho Fortran 77
kiểu dữ liệu ký tự. Đi kèm với lá cờ mới này là hỗ trợ cho các quy tắc Fortran 90 cho
khai báo biến ký tự đánh giá bằng XNUMX hoặc độ dài âm, cho phép
chúng và coi các giá trị độ dài âm là XNUMX.

10. Đã sửa lỗi nhỏ trong việc in nhận xét và dòng trống sau câu lệnh END cuối cùng
in -danh sách chế độ.

Sử dụng ftnchek trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

  • 1
    aarch64-linux-gnu-gnatbind
    aarch64-linux-gnu-gnatbind
    con muỗi, con muỗi, con muỗi, con muỗi,
    gnatfind, gnathtml, gnatkr, gnatlink,
    gnatls, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - hộp công cụ GNAT
    MÔ TẢ: Th...
    Chạy aarch64-linux-gnu-gnatbind
  • 2
    aarch64-linux-gnu-gnatchop-5
    aarch64-linux-gnu-gnatchop-5
    con muỗi, con muỗi, con muỗi, con muỗi,
    gnatfind, gnathtml, gnatkr, gnatlink,
    gnatls, gnatmake, gnatprep, gnatpsta,
    gnatpsys, gnatxref - hộp công cụ GNAT
    MÔ TẢ: Th...
    Chạy aarch64-linux-gnu-gnatchop-5
  • 3
    cpupower-nhàn rỗi-thông tin
    cpupower-nhàn rỗi-thông tin
    thông tin nhàn rỗi cpupower - Tiện ích cho
    lấy thông tin kernel nhàn rỗi của cpu
    CÚP PHÁT: cpupower [ -c cpulist ]
    thông tin nhàn rỗi [tùy chọn] MÔ TẢ: Một công cụ
    cái nào in ra p...
    Chạy thông tin cpupower-nhàn rỗi
  • 4
    cpupower-nhàn rỗi-set
    cpupower-nhàn rỗi-set
    cpupower Idle-set - Tiện ích set cpu
    tùy chọn kernel cụ thể ở trạng thái nhàn rỗi
    CÚP PHÁT: cpupower [ -c cpulist ]
    thông tin nhàn rỗi [tùy chọn] MÔ TẢ:
    cpupower nhàn rỗi-se...
    Chạy cpupower-idle-set
  • 5
    g.mapsetsgrass
    g.mapsetsgrass
    g.mapsets - Sửa đổi/in thông tin của người dùng
    đường dẫn tìm kiếm bản đồ hiện tại. Ảnh hưởng đến
    quyền truy cập của người dùng vào dữ liệu hiện có theo
    các bộ bản đồ khác ở vị trí hiện tại. ...
    Chạy g.mapsetsgrass
  • 6
    g.messagegrass
    g.messagegrass
    g.message - In tin nhắn, cảnh báo,
    thông tin tiến trình hoặc lỗi nghiêm trọng trong
    Cách CỎ. Mô-đun này nên được sử dụng trong
    tập lệnh cho các tin nhắn được gửi tới người dùng.
    KEYWO...
    Chạy g.messagegrass
  • Khác »

Ad