انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

ftnchek - آنلاین در ابر

ftnchek را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور ftnchek است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


ftnchek - جستجوگر برنامه فرترن 77

خلاصه


ftnchek [ -استدلال ها[=فهرست] ] [ -آرایه[=فهرست] ]
[ -[نه]مختصر ] [ -کالتری[=فهرست] ] [ -[نه]بررسی ]
[ -ستون ها[=تعداد] ] [ -مشترک[=فهرست] ]
[ -[نه]ضربدری[=فهرست] ] [ -[نه]اعلام ]
[ -[نه]بخش ] [ -خطاها[=تعداد] ] [ -[نه]بیرونی ]
[ -[نه]f77[=فهرست] ] [ -[نه]f90[=فهرست] ]
[ -[نه]f95[=فهرست] ] [ -[نه]کمک ]
[ -[نه]شناسه کاراکترها[=فهرست] ] [ -شامل=خ ]
[ -ذاتی[=فهرست] ] [ -[نه]کتابخانه ] [ -[نه]فهرست ]
[ -makedcls[=فهرست] ] [ -mkhtml[=فهرست] ]
[ -[نه]تازه کار ] [ -خروجی=خ ]
[ نشانگر اندازه[=تعداد] ] [ -[نه]قابل حمل بودن[=فهرست] ]
[ -[نه]زیبا[=فهرست] ] [ پروژه[=فهرست] ]
[ -[نه]خالص ] [ -[نه]ساکت ] [ -[نه]مرجع ]
[ -[نه]منابع ] [ -[نه]شش کاره ] [ -[نه]نوع ]
[ منبع[=فهرست] ] [ سبک[=فهرست] ] [ -[نه]symtab ]
[ -[نه]کوتاه شدن[=فهرست] ] [ -استفاده[=فهرست] ]
[ -[نه]vcg ] [ -[نه]نسخه ] [ -[نه]فرار ]
[ -اندازه کلمه[=تعداد] ] [ -بسته بندی کردن[=تعداد] ] [ فایل ها ... ]

شرح


ftnchek (مخفف Fortran checker) برای تشخیص خطاهای خاص در یک Fortran طراحی شده است
برنامه ای که معمولا یک کامپایلر انجام نمی دهد. ftnchek در اصل برای شناسایی در نظر گرفته نشده است
خطاهای نحوی هدف آن کمک به کاربر در یافتن خطاهای معنایی است. معنایی
خطاها در زبان فرترن قانونی هستند اما بیهوده هستند یا ممکن است نادرست باشند
عمل. برای مثال، متغیرهایی که هرگز مورد استفاده قرار نمی‌گیرند ممکن است نشان‌دهنده برخی حذفیات در آن باشند
برنامه؛ متغیرهای اولیه حاوی زباله هستند که ممکن است باعث نتایج نادرست شود
محاسبه شد؛ و متغیرهایی که اعلان نشده اند ممکن است نوع مورد نظر را نداشته باشند. ftnchek
برای کمک به کاربران در رفع اشکال برنامه Fortran در نظر گرفته شده است. در نظر گرفته نشده است
برای گرفتن تمام خطاهای نحوی. این عملکرد کامپایلر است. قبل از استفاده
ftnchek، کاربر باید بررسی کند که برنامه به درستی کامپایل شده است.

این سند ابتدا نحوه فراخوانی را خلاصه می کند ftnchek. اون قسمت رو باید قبلا خوند
شروع به استفاده ftnchek. بخش های بعدی توضیح می دهد ftnchekگزینه ها را با جزئیات بیشتر، ارائه دهید
مثالی از کاربرد آن و توضیح دهید که چگونه خروجی را تفسیر کنید. بخش های پایانی
محدودیت ها و اشکالات شناخته شده را ذکر کنید ftnchek.

فراخوانی FTNCHEK


ftnchek از طریق دستوری از فرم فراخوانی می شود:

$ ftnchek [-option -option ...] نام فایل [نام فایل ...]

براکت ها چیزی را نشان می دهند که اختیاری است. خود براکت ها نیستند
در واقع تایپ شده در اینجا گزینه‌ها سوئیچ‌ها یا تنظیمات خط فرمان هستند که کنترل می‌کنند
عملکرد برنامه و مقدار اطلاعاتی که چاپ خواهد شد. اگر نه
گزینه مشخص شده است، اقدام پیش فرض چاپ پیام های خطا، هشدارها و
پیام های اطلاعاتی، اما نه فهرست برنامه یا جداول نماد.

هر گزینه با کاراکتر '-' شروع می شود. (در سیستم های VAX/VMS یا MS-DOS می توانید استفاده کنید
یا '/' یا '-'.) به خاطر انطباق با یک قرارداد رایج،
گزینه ها همچنین می توانند با '--' شروع شوند. گزینه ها در ادامه بیشتر توضیح داده می شوند
بخش.

ftnchek گزینه ها به دو دسته تقسیم می شوند: سوئیچ ها که درست یا نادرست هستند و
تنظیماتی که دارای مقدار عددی یا رشته ای هستند. نام سوئیچ با پیشوند "خیر" است.
یا "نه-" برای خاموش کردن آن: به عنوان مثال -ناخالص هشدارهای مربوط به عملکردهای ناخالص را خاموش می کند.
پیشوند «نه» را می‌توان با تنظیمات عددی نیز استفاده کرد که باعث خاموش شدن می‌شود
هشدارهای مربوطه تنظیماتی که لیست اخطارها را کنترل می کنند، نحو خاصی دارند
در زیر مورد بحث قرار گرفته است. فقط 3 کاراکتر اول نام یک گزینه (بدون احتساب '-')
باید ارائه شود. ممکن است به جای علامت تساوی برای عدد یا رشته از دو نقطه استفاده شود
تعیین تکالیف؛ با این حال، ما فقط شکل علامت تساوی را در زیر نشان می دهیم.

سوئیچ ها و تنظیمات که ftnchek در حال حاضر شناسایی در زیر ذکر شده است. برای هر
گزینه، پیش‌فرض مقداری است که اگر گزینه به صراحت مشخص نشده باشد، استفاده می‌شود، در حالی که
turn-on مقداری است که در صورتی که گزینه بدون تعیین مقدار به آن داده شود، استفاده می شود.

-استدلال ها=فهرست
هشدارهای مربوط به نوع برنامه فرعی و عدم تطابق آرگومان را کنترل کنید. پیش فرض = روشن کردن
= همه

-آرایه=فهرست
کنترل هشدارها در بررسی آرگومان های آرایه زیربرنامه ها. پیش فرض = روشن کردن =
همه.

-مختصر برای برخی از پیام های خطا از قالب کوتاه تر استفاده کنید. پیش فرض = خیر

-calltree=فهرست
سلسله مراتب فراخوانی زیربرنامه را در یکی از 3 قالب ایجاد کنید: متن call-tree، who-calls-
چه کسی و VCG. پیش فرض = هیچ، روشن کردن = درخت، هرس، مرتب سازی.

اگر -mkhtml گزینه فراخوانی شده است و tree گزینه calltree اعمال شده، یک فایل است
با نام CallTree.html، درخت را در قالب HTML به تصویر می کشد.

-بررسی بررسی را انجام دهید. پیش فرض = بله.

-ستون ها=تعداد
حداکثر طول خط را تنظیم کنید تعداد ستون ها. (فراتر از این نادیده گرفته می شود.) روشن کردن = حداکثر =
132. پیش فرض = 72.

-مشترک=فهرست
درجه سختگیری را در بررسی بلوک های COMMON تنظیم کنید. پیش فرض = روشن = همه.

-crossref=فهرست
فهرست ارجاع متقابل تماس‌های زیربرنامه، استفاده از برچسب و/یا بلوک COMMON را چاپ کنید
استفاده کنید. پیش فرض = هیچکدام.

-اعلام
فهرستی از تمام شناسه هایی که نوع داده آنها به صراحت اعلام نشده است را چاپ کنید. پیش فرض
= نه

-تقسیم
هر جا تقسیم انجام می شود هشدار دهید (به جز تقسیم بر یک ثابت). پیش فرض = خیر

-errors=تعداد
حداکثر تعداد پیام های خطا را در هر آبشار تنظیم کنید. پیش فرض = روشن کردن = 3.

-خارجی
اگر زیربرنامه های خارجی که فراخوانی می شوند هرگز تعریف نشده اند هشدار دهید. پیش فرض = بله.

-f77=فهرست
هشدارهای خاص در مورد برنامه های افزودنی پشتیبانی شده برای استاندارد Fortran 77 را کنترل کنید.
پیش فرض = هیچ، روشن = همه.

-f90=فهرست
هشدارهای خاص در مورد برنامه های افزودنی پشتیبانی شده برای استاندارد Fortran 77 را کنترل کنید
که به عنوان بخشی از استاندارد فرترن 90 پذیرفته نشدند. پیش فرض = هیچ، روشن
= همه

-f95=فهرست
هشدارهای خاص در مورد ویژگی های استاندارد Fortran 77 که از آنها حذف شده است را کنترل کنید
استاندارد Fortran 95 پیش فرض = هیچ، روشن = همه.

-کمک چاپ خلاصه دستور. پیش فرض = خیر

-identifier-chars=فهرست
کاراکترهای غیر الفبایی را که ممکن است در شناسه ها استفاده شوند، تعریف کنید. پیش فرض =
روشن = علامت دلار و خط زیر.

-شامل=مسیر
قبل از جستجو در کل سیستم، دایرکتوری را برای جستجوی فایل های INCLUDE تعریف کنید
فهرست راهنما. انباشته. پیش فرض = روشن کردن = هیچ.

-ذاتی=فهرست
درمان کنترل عملکردهای ذاتی غیر استاندارد. پیش فرض = همه به جز vms برای
نسخه یونیکس، همه به جز یونیکس برای نسخه VMS، همه به جز یونیکس و vms برای دیگران
نسخه ها روشن کردن = همه.

-برخی
شروع حالت کتابخانه: در مورد زیربرنامه های موجود در فایل که تعریف شده اند هشدار ندهید
هرگز استفاده نشده است پیش فرض = خیر

فهرست فهرست منبع چاپ برنامه پیش فرض = خیر

-makedcls=فهرست
فایلی از اظهارنامه ها را تهیه کنید. در فهرست گزینه هایی را برای قالب این مشخص می کند
فایل. پیش فرض = هیچ، روشن کردن = اعلامیه ها.

-mkhtml=فهرست
فایل های سند HTML فردی را از تجزیه و تحلیل ftnchek و نظرات کد ایجاد کنید.
معمولاً شما نیز می خواهید مشخص کنید فراخوان = درخت برای ایجاد فایل HTML ریشه
CallTree.html. پیش فرض = هیچ، روشن کردن = اسناد.

- تازه کار
خروجی مناسب برای کاربران تازه کار بدهید. پیش فرض = بله.

-خروجی=نام فایل
خروجی را به فایل داده شده ارسال کنید. پیش فرض و روشن کردن، خروجی را به صفحه نمایش می فرستد.
(پسوند پیش فرض نام فایل است .lis).

-pointersize=تعداد
اندازه متغیرهای "Cray pointer" را روی آن تنظیم کنید تعداد بایت ها حداقل = 1، حداکثر = 16.
پیش فرض = روشن کردن = 4

-قابلیت حمل =فهرست
در مورد استفاده های غیر قابل حمل هشدار دهید. پیش فرض = هیچ، روشن = همه.

- زیبا =فهرست
برای ظاهر گمراه کننده کد منبع هشدار دهید. پیش فرض = نوبت
روشن = همه

-پروژه=فهرست
فایل پروژه ایجاد کنید (به توضیحات زیر مراجعه کنید). پیش فرض = خیر

-خالص فرض کنید توابع خالص هستند، یعنی هیچ عوارض جانبی ندارند. پیش فرض = بله.

-ساکت خروجی پرمخاطب کمتری تولید کنید. پیش فرض = خیر

-مرجع
چاپ جدول زیربرنامه های ارجاع شده توسط هر زیربرنامه. پیش فرض = خیر

منابع
مقدار منابع مورد استفاده در تجزیه و تحلیل برنامه را چاپ کنید. پیش فرض = خیر

-sixchar
نام متغیرهایی را که در طول 6 کاراکتر با هم تداخل دارند فهرست کنید. پیش فرض = خیر

-مرتب سازی چاپ لیست زیربرنامه های مرتب شده به ترتیب پیش نیاز. پیش فرض = خیر

منبع =فهرست
گزینه‌های قالب‌بندی منبع را انتخاب کنید: فرم ثابت یا رایگان، فرمت‌بندی برگه DEC Fortran
خطوط، دستورات شامل دستور VMS، توالی فرار بک اسلش به سبک یونیکس و
تایپ ضمنی پارامترها پیش فرض = هیچ، روشن = همه.

-style=فهرست
در مورد برنامه های منسوخ یا قدیمی هشدارهای دقیقی ایجاد کنید
ساخت و سازها پیش فرض = هیچ، روشن = همه.

-symtab
جدول نمادها و جدول برچسب را برای هر زیربرنامه چاپ کنید. پیش فرض = خیر

- بریدن =فهرست
از دست دادن احتمالی دقت با برش را بررسی کنید. پیش فرض = روشن = همه.

-usage=فهرست
هشدارهای مربوط به متغیرهای استفاده نشده یا اولیه، بلوک های رایج و غیره را کنترل کنید.
پیش فرض = روشن = همه.

-vcg فرمت VCG نمودار تماس را تولید کنید.

-version
چاپ شماره نسخه پیش فرض = خیر

-فرار
فرض کنید بلوک های COMMON بین فعال سازی ها تعریف خود را از دست می دهند. پیش فرض = خیر (منسوخ شده.
استفاده کنید -common= فرار بجای.)

-wordsize=تعداد
اندازه پیش فرض کلمه را برای مقادیر عددی تنظیم کنید تعداد بایت ها پیش فرض = روشن کردن =
4 بایت

-wrap=تعداد
ستون خروجی را تنظیم کنید که در آن پیام‌های خطا و اخطارهای طولانی را در ستون بعدی قرار دهید
خط اگر روی 0 تنظیم شده است، wrapping را خاموش کنید. پیش فرض = روشن کردن = 79.

هنگامی که بیش از یک گزینه استفاده می شود، آنها باید با یک فضای خالی جدا شوند، به جز روی
سیستم هایی مانند VMS که در آن گزینه ها با اسلش ( / ) شروع می شوند. هیچ فضای خالی را نمی توان قرار داد
در اطراف علامت تساوی ( = ) در یک تنظیم. ftnchek "?" خلاصه دستوری را تولید خواهد کرد
لیست کردن همه گزینه ها و تنظیمات

برای تنظیماتی که لیستی از کلمات کلیدی را می گیرند، یعنی -استدلال ها, -آرایه, -کالتری, -مشترک,
-صفحه متقاطع, -f77, -f90, -f95, -ذاتی, -makedcls, -mkhtml, -قابلیت حمل, -بسیار,
پروژه, منبع, سبک, - بریدنو -استفاده، لیست از کلمات کلیدی تشکیل شده است
با کاما یا دو نقطه از هم جدا می شوند. اگر لیست کلمات کلیدی حذف شود، اثر تنظیم می شود
گزینه مقدار روشن آن (همانند "همه" در بیشتر موارد). همچنین، اگر لیست است
حذف شده، نام تنظیم را می توان با پیشوند گذاشت نه or نه- برای خاموش کردن تمام گزینه های آن
کنترل ها مثلا، -f77 در حالی که تمام هشدارهای مربوط به ساخت و سازهای غیر استاندارد را روشن می کند
-nof77 همه آنها را خاموش می کند سه کلمه کلیدی خاص عبارتند از:

کمک تمام کلیدواژه‌های گزینه‌ای که توسط تنظیمات کنترل می‌شوند را با یک خلاصه چاپ کنید
توضیح معانی آنها این کلمه کلیدی را نمی توان در لیستی با سایر کلمات قرار داد
کلید واژه ها.

تمام همه گزینه ها را تنظیم کنید این همه گزینه های کنترل شده توسط تنظیمات را روشن می کند.

هیچ تمام گزینه ها را پاک کنید با این کار همه گزینه های کنترل شده توسط تنظیمات خاموش می شود.

این سه کلمه کلیدی خاص باید به طور کامل ارائه شوند. برای همه کلمات کلیدی دیگر، فقط به همان تعداد
حروف کلمه کلیدی که برای شناسایی بدون ابهام لازم است باید داده شود، یا الف
ممکن است از الگوی عام استفاده شود. گنجاندن یک کلمه کلیدی در لیست، مورد مربوطه را تبدیل می کند
گزینه روشن مثلا، -f77=ذاتی فقط هشدارهای مربوط به استفاده را روشن می کند
توابع ذاتی غیر استاندارد پیشوند یک کلمه کلیدی توسط نه- گزینه اش را خاموش می کند برای
مثال، -pretty=بدون خط طولانی هشدارهای مربوط به خطوط بیش از 72 ستون را خاموش می کند
طول در حالی که تمام هشدارهای دیگر در مورد ظاهر گمراه کننده را در اثر باقی می گذارد. اگر یک
تنظیمات پیش فرض دارد هیچ، می توانید با استفاده از همه گزینه ها به جز یک یا دو گزینه را روشن کنید تمام
اولین. مثلا، -f77=همه، بدون شامل هشدارها را در مورد همه برنامه های افزودنی غیر استاندارد فعال می کند
به جز عبارات INCLUDE. اگر تنظیمی پیش فرض داشته باشد تمام، می توانید همه هشدارها را خاموش کنید
به جز یکی دو مورد با استفاده از هیچ اولین. مثلا، -truncation = هیچ، تنزل می چرخید
تمام اخطارهای مربوط به دقت به جز در مورد تنزل رتبه را حذف کنید. الگوهای عام حاوی یک
ستاره برای هر رشته ای از کاراکترها. اگر از یک الگوی عام استفاده شود، همه
هشدارهایی که با آن مطابقت دارند تحت تأثیر قرار می گیرند. اگر نه- پیشوند به الگو، همه تطبیق است
هشدارها خاموش هستند، در غیر این صورت همه آنها روشن می شوند. حداقل طول بدون ابهام
این قانون برای تطبیق حروف عام اعمال نمی شود. به عنوان مثال استفاده کنید -usage=no-*var* خاموش کردن
همه هشدارهای مربوط به استفاده از متغیرها (هم محلی و هم رایج). (کاربران یونیکس ممکن است نیاز داشته باشند
به منظور جلوگیری از تلاش پوسته، هر گزینه ای را که حاوی حروف عام باشد، نقل قول کنید
آنها را گسترش دهید.) حروف عام فقط در لیست کلمات کلیدی هشدار دهنده شناسایی می شوند، نه در بالا-
خود گزینه های سطح

چه زمانی ftnchek راه اندازی می شود، به دنبال متغیرهای محیطی و همچنین ترجیحات می گردد
فایل. هر گزینه ای که در محیط یا فایل ترجیحی تعریف شده باشد به عنوان استفاده می شود
پیش فرض به جای پیش فرض های داخلی. آنها توسط هر خط فرمانی سوار می شوند
گزینه ها. برای جزئیات بیشتر در مورد محیط به بخش تغییر پیش فرض ها مراجعه کنید
گزینه ها و فایل ترجیحی

هنگام دادن نام یک فایل ورودی، پسوند اختیاری است. در صورت عدم تمدید،
ftnchek ابتدا به دنبال فایل پروژه با پسوند می گردد .prj، و اگر از آن استفاده کند
وجود دارد. اگر نه، پس ftnchek به دنبال یک فایل منبع فرترن با پسوند می گردد .برای
برای سیستم های VMS، .f برای سیستم های یونیکس می توان به بیش از یک نام فایل داد ftnchek,
و ماژول ها را در همه فایل ها طوری پردازش می کند که انگار در یک فایل واحد هستند.

حروف عام در مشخصات نام فایل ها در خط فرمان برای VMS مجاز هستند
و نسخه های MS-DOS، البته تحت یونیکس و هر سیستم دیگری که کار می کند
گسترش حروف عام در پردازنده فرمان.

اگر نام فایلی داده نشود، ftnchek ورودی را از ورودی استاندارد می خواند.

OPTIONS


این بخش بحث مفصل تری در مورد ftnchek گزینه های خط فرمان گزینه ها
و نام فایل ها ممکن است در یک خط فرمان در هم قرار گیرند. اکثر گزینه ها موقعیتی هستند: هر کدام
گزینه از نقطه ای که با آن مواجه می شود تا زمانی که توسط a لغو شود به قوت خود باقی می ماند
بعدا تغییر کند بنابراین برای مثال، فهرست ممکن است برای برخی از فایل ها سرکوب شود و نه برای
دیگران. استثناها عبارتند از: -ذاتی, نشانگر اندازهو -اندازه کلمه تنظیمات، که
پس از شروع پردازش فایل های ورودی قابل تغییر نیست. را -استدلال ها, -آرایه,
-کالتری, -مشترک, -صفحه متقاطع, -خارجی, -مرجع, منابع, -مرتب سازی, -vcgو -فرار
گزینه ها، که در آن عمل فقط به مقدار گزینه پس از پردازش بستگی دارد
فایل های ورودی به پایان رسید. و -عبارتند از تنظیم، که تجمعی است.

نام گزینه های موجود در لیست زیر به ترتیب حروف الفبا می باشد.

-استدلال ها=فهرست
هشدارهای مربوط به عدم تطابق بین آرگومان های زیربرنامه واقعی و ساختگی را کنترل می کند،
و همچنین در مورد عدم تطابق بین نوع زیربرنامه مورد انتظار و واقعی. (واقعی
آرگومان یک آرگومان است که توسط فراخوان به زیربرنامه ارسال می شود. یک استدلال ساختگی است
یک آرگومان دریافت شده توسط زیربرنامه.) به طور پیش فرض، همه هشدارها روشن هستند.

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. از آنجایی که همه اینها
هشدارها به طور پیش فرض روشن هستند، شامل یک کلمه کلیدی با پیشوند توسط نه- برای خاموش کردن a
هشدار خاص سه کلمه کلیدی خاص وجود دارد: تمام برای روشن کردن همه
هشدار در مورد استدلال، هیچ برای خاموش کردن همه آنها، و کمک برای چاپ لیست
تمامی کلمات کلیدی با توضیح مختصری در مورد هر کدام. اگر فهرست حذف شده است، -استدلال ها
برابر است با -arguments=همهو -narguments برابر است با -arguments = هیچ.
کلمات کلیدی هشدار به همراه معانی آنها به شرح زیر است:

آرایه:
هشدار در مورد استفاده ناسازگار از آرگومان هایی که آرایه هستند. این هشدارها می تواند
بیشتر توسط -آرایه گزینه.

نوع:
در مورد آرگومان های ساختگی از نوع داده متفاوت از آرگومان های واقعی هشدار دهید.

نوع عملکرد:
هشدار می دهد اگر فراخوانی فرض می کند که مقدار برگشتی تابع نوع دیگری است
از آنچه در واقع هست همچنین هشدار می دهد اگر تابعی به عنوان یک برنامه فرعی یا فراخوانی شود
برعکس

عدد:
در مورد فراخوانی یک برنامه فرعی با تعداد آرگومان های متفاوت از
زیربرنامه انتظار دارد.

برای سازگاری با نسخه های قبلی ftnchek، شکل عددی این است
تنظیم نیز پذیرفته شده است: فهرست با عددی از 0 تا 3 جایگزین می شود
0 همه اخطارها را خاموش می کند، 1 فقط روشن می شود عدد، 2 روشن همه به جز عدد,
و 3 همه اخطارها را روشن می کند.

این تنظیم برای بررسی فراخوانی عملکردهای ذاتی یا اعمال نمی شود
توابع بیانیه، که فقط می تواند توسط -نچک گزینه.

همچنین نگاه کنید به: -آرایه, -برخی, -استفاده.

-آرایه=فهرست
درجه سختگیری را در بررسی توافق بین واقعی و ساختگی کنترل می کند
آرگومان های زیربرنامه که آرایه هستند. اخطارهای کنترل شده توسط این تنظیم هستند
برای ساخت و سازهایی که ممکن است به طور قانونی توسط یک برنامه نویس آگاه استفاده شود،
اما اغلب نشان دهنده خطاهای برنامه نویسی است. به طور پیش فرض، همه هشدارها تبدیل شده اند
بر.

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. از آنجایی که همه اینها
هشدارها به طور پیش فرض روشن هستند، شامل یک کلمه کلیدی با پیشوند توسط نه- برای خاموش کردن a
هشدار خاص سه کلمه کلیدی خاص وجود دارد: تمام برای روشن کردن همه
هشدار در مورد آرگومان های آرایه، هیچ برای خاموش کردن همه آنها، و کمک برای چاپ
لیستی از تمام کلمات کلیدی با توضیح مختصری درباره هر کدام. اگر فهرست حذف شده است،
-آرایه برابر است با -array=allو -نوآرایه برابر است با -array=هیچکدام.
کلمات کلیدی هشدار دهنده به همراه معانی آنها به شرح زیر است:

ابعاد:
اگر آرگومان‌ها از نظر تعداد ابعاد متفاوت هستند یا اگر آرگومان‌ها واقعی هستند هشدار دهید
آرگومان یک عنصر آرایه است در حالی که آرگومان ساختگی یک آرایه کامل است.

اندازه:
هشدار می دهد اگر هر دو آرگومان آرایه هستند، اما از نظر تعداد عناصر متفاوت هستند.

برای سازگاری با نسخه های قبلی ftnchek، شکل عددی این است
تنظیم نیز پذیرفته شده است: فهرست با عددی از 0 تا 3 جایگزین می شود
0 همه اخطارها را خاموش می کند، 1 فقط روشن می شود ابعاد، 2 روشن فقط اندازهو
3 همه هشدارها را روشن می کند.

توجه: در صورت وجود آرگومان واقعی، همیشه بدون توجه به این تنظیم، هشدار داده می شود
یک آرایه است در حالی که آرگومان ساختگی یک متغیر اسکالر یا اگر واقعی باشد
آرگومان یک متغیر یا عبارت اسکالر است در حالی که آرگومان ساختگی یک آرایه است.
این موارد به ندرت عمدی هستند. (برای خاموش کردن حتی این هشدارها، استفاده کنید
-arguments=بدون آرایه.) اگر استدلال واقعی یک اخطاری باشد هرگز داده نمی شود
عنصر آرایه در حالی که آرگومان ساختگی یک متغیر اسکالر است. دارای ابعاد متغیر
آرایه ها و آرایه هایی با ابعاد 1 یا ستاره با هر تعداد آرایه مطابقت دارند
عناصر. هیچ بررسی وجود ندارد که آیا آرایه های چند بعدی در اندازه همخوانی دارند یا خیر
از هر بعد جداگانه

همچنین نگاه کنید به: -استدلال ها, -برخی, -استفاده.

-مختصر
قالب کوتاه تری را برای برخی از پیام های هشدار انتخاب می کند. در حال حاضر، تنها هشدار
تحت کنترل این پرچم آنهایی هستند که در پایان پردازش هر کدام چاپ می شوند
زیر برنامه اینها شامل هشدارهایی در مورد متغیرهایی است که تنظیم شده اند اما استفاده نمی شوند یا
قبل از تنظیم استفاده می شود، نام متغیرهایی که با استاندارد Fortran 77 مطابقت ندارند،
و غیره (این هشدارها ممکن است به طور کامل بسته به پرچم های دیگر، مانند
la -استفاده or -f77 flags.) در قالب پیش فرض، هر متغیر در a فهرست شده است
خط جداگانه، همراه با شماره خطی که متغیر در آن اعلان شده است، مجموعه یا
با توجه به ماهیت هشدار استفاده می شود. فرمت مختصر به سادگی همه را فهرست می کند
متغیرهایی که اخطار برای آنها اعمال می شود، با حداکثر 4 متغیر در هر خط.

همچنین نگاه کنید به: -ساکت.

-calltree=فهرست
علل ftnchek برای چاپ ساختار تماس برنامه کامل.

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. دوتا خاص هست
کلید واژه ها: هیچ برای خاموش کردن همه گزینه ها، و کمک برای چاپ لیست همه
کلمات کلیدی با توضیح مختصری در مورد هر کدام. (کلید واژه تمام همه را روشن می کند
گزینه‌ها، اما معمولاً نباید از آنها استفاده شود زیرا فقط یک قالب باید باشد
مشخص شده است.) اگر فهرست حذف شده است، -کالتری برابر است با -calltree=درختو
-nocalltree برابر است با -calltree = هیچ. به طور پیش فرض هیچ گراف تماسی چاپ نمی شود.

اگر گزینه -mkhtml فراخوانی شود و tree گزینه calltree اعمال شده، یک فایل است
به نام CallTree.html نیز تولید خواهد شد که درخت را در قالب HTML نشان می دهد. این
فایل به عنوان نقطه شروع برای مرور فایل های HTML که هر کدام را توصیف می کنند مفید است
جزء برنامه

کلمات کلیدی که فرمت مورد استفاده را کنترل می کنند به شرح زیر است:

درخت:
نمودار فراخوانی را در قالب درختی تولید کنید.

مرجع:
نمودار تماس را در قالب who-calls-ho تولید کنید (همانند -مرجع تعویض).

vcg:
نمودار تماس را در قالب VCG (همانند -vcg تعویض).

فقط یکی از فرمت ها درخت, مرجع، یا vcg ممکن است مشخص شود.

کلیدواژه های زیر گزینه هایی را کنترل می کنند که بر خروجی تأثیر می گذارند:

پروانه:
هرس درختان فرعی مکرر (قابل اجرا فقط با درخت). این پیش فرض است.

نوع:
فرزندان هر برنامه را به ترتیب حروف الفبا مرتب کنید. این پیش فرض است.

بحث را ببینید -مرجع و -vcg پرچم برای جزئیات در مورد این
فرمت.

برای درخت فرمت، نمودار تماس با شروع از برنامه اصلی چاپ می شود،
که در خط اول در حاشیه سمت چپ لیست شده است. سپس در خطوط زیر،
هر روتینی که توسط برنامه اصلی فراخوانی می شود، فهرست شده است، با چند فاصله تورفتگی، دنبال می شود
توسط درخت فرعی که از آن روال شروع می شود.

در حالت پیش‌فرض، اگر یک روال توسط بیش از یک روال دیگر فراخوانی شود، آن است
فراخوانی فقط اولین باری که با آن مواجه می شود چاپ می شود
نام معمول و اعلامیه "(به بالا مراجعه کنید)". برای چاپ درخت فرعی
هر رخداد از روال، استفاده از گزینه بدون هرس.

توجه داشته باشید که اگر هر یک از فایل های ورودی پروژه باشند، درخت فراخوانی ناقص خواهد بود
فایل های حاوی بیش از یک ماژول که در آن ایجاد شده اند -برخی حالت را ببینید
بحث در مورد فایل های پروژه در زیر

نکات فنی: هر فهرستی از روتین ها که توسط یک روال معین فراخوانی می شوند در چاپ می شوند
به ترتیب حروف الفبا مگر اینکه بدون مرتب سازی گزینه داده شده است. اگر چندین برنامه اصلی
یافت می شود، درخت فراخوانی هر کدام به طور جداگانه چاپ می شود. اگر برنامه اصلی وجود ندارد
یافت شد، گزارشی در این زمینه چاپ می‌شود و درخت‌های فراخوانی هر سطح بالایی چاپ می‌شود
روال غیرکتابخانه ای چاپ می شود. این پرچم فقط چاپ تماس را کنترل می کند
درخت: ftnchek درخت فراخوانی را در هر صورت می سازد زیرا برای تعیین استفاده می شود
کدام ماژول های کتابخانه به صورت متقاطع بررسی خواهند شد. بحث را ببینید -برخی
پرچم.

برای سازگاری با نسخه های قبلی ftnchek، شکل عددی این است
تنظیم نیز پذیرفته شده است: فهرست با عددی از 0 تا 15 جایگزین می شود
عدد از 1 برای تشکیل می شود درخت قالب، 2 برای مرجع قالب، یا 3 برای vcg
فرمت، به علاوه 4 برای بدون هرس، و 8 برای بدون مرتب سازی.

همچنین نگاه کنید به: -صفحه متقاطع, -برخی, -مرجع, -مرتب سازی, -symtab, -vcg.

-بررسی
این سوئیچ به گونه‌ای ارائه شده است که خطاها و پیام‌های هشدار را می‌توان خاموش کرد
ftnchek برای اهدافی غیر از یافتن اشکالات، مانند اعلامیه استفاده می شود
یا چاپ درخت تماس. موقعیتی است، بنابراین پس از خاموش کردن همه چک ها،
چک های انتخاب شده را می توان دوباره روشن کرد. اثر از -نچک قرار دادن همه است
سوئیچ ها، تنظیمات عددی، و تنظیمات کنترل کننده لیست هشدارها به آنها
مقادیر خاموش کردن، گویی که همه آنها با پیشوند -no مشخص شده اند. سوئیچ ها
و تنظیماتی که به جای کنترل، گزینه ها و حالت های عملکرد را مشخص می کنند
هشدارها، تحت تأثیر قرار نمی گیرند. اینها هستند -ستون ها, -صفحه متقاطع, -عبارتند از, -ذاتی,
-برخی, فهرست, -makedcls, - تازه کار, -خروجی, نشانگر اندازه, پروژه, -ساکت,
-مرجع, منابع, -مرتب سازی, منبع, -symtab, -vcg, -version, -اندازه کلمهو
-بسته بندی کردن. پیش فرض = بله.

خطاهای تجزیه (خطاهای نحوی ناشی از عبارات ناشناخته یا نادرست) نیستند
توسط این سوئیچ سرکوب می شود، زیرا نتایج ممکن است نادرست باشد اگر ftnchek ندارد
برنامه را به درستی تجزیه کرد

خطاهای متفرقه و پیام های هشدار وجود دارد که توسط آنها کنترل نمی شود
هر سوئیچ دیگری، و بنابراین فقط با این سوئیچ می توان آن را خاموش کرد. توجه داشته باشید که با استفاده از
-بررسی پیروی -نچک تنها اثر تبدیل این هشدارهای ویژه را دارد
دوباره روشن می شود و تمام چک هایی را که خاموش کرده است بازیابی نمی کند. این هشدارها عبارتند از:

o ماژول حاوی دستورات اجرایی نیست.

o در فرم منبع آزاد، فضای خالی که در آن فضای مورد نیاز است (مثلاً بین a
کلمه کلیدی و یک شناسه) یا فضایی وجود دارد که در آن هیچ یک مجاز نیست (مثلاً در داخل
یک شناسه).

o مشخصات طول صفر یا منفی در اعلان نوع داده فرم
نوع*لن.

o عملوند(های) نامعتبر در یک عبارت.

o آرایه اختصاص داده شده به اسکالر.

o عدم تطابق بین شاخص DO و کرانها را تایپ کنید.

o بلوک مشترک تعریف نشده در عبارت SAVE اعلام شده است.

o تابع ذاتی به صراحت با یک نوع ناسازگار اعلام شده است.

o تابع ذاتی ناشناخته که به صراحت در یک عبارت INTRINSIC اعلام شده است.

o تابع ذاتی که به عنوان آرگومان زیربرنامه ارسال می شود در an اعلان نمی شود
بیانیه ذاتی

o تابع ذاتی یا تابع دستور به اشتباه فراخوانی شده است.

o تابع مقدار بازگشتی را قبل از بیانیه RETURN تنظیم نمی کند.

o مقدار ثابت پارامتر ارزیابی نشده است (این است ftnchekتقصیر است، و این فقط است
شما را از این واقعیت آگاه می کند).

o نقطه ورودی یک زیربرنامه بعداً به عنوان نام یک زیربرنامه دیگر استفاده می شود.

o کلمه کلیدی ناشناخته ای که در دستور I/O استفاده می شود.

o مرجع برچسب غیرقانونی (مثلا GOTO به یک دستور غیرقابل اجرا اشاره دارد؛ I/O
بیانیه به یک عبارت بدون قالب اشاره دارد).

همچنین نگاه کنید به: -خطاها.

-ستون ها=تعداد
حداکثر طول بیانیه را تنظیم کنید تعداد ستون ها. (فراتر از این نادیده گرفته می شود.) این
تنظیم برای بررسی برنامه هایی که ممکن است Fortran را نقض کنند ارائه شده است
حد استاندارد 72 ستون برای طول یک عبارت. بر اساس
استاندارد، تمام کاراکترهای گذشته از ستون 72 نادیده گرفته می شوند. اگر از این تنظیم زمانی استفاده شود
la -f77=خط بلند گزینه در حال اجرا است، برای هر خطی هشدار داده خواهد شد
کدام کاراکترهای گذشته از ستون 72 پردازش می شوند. روشن کردن = حداکثر = 132. پیش فرض = 72.

این تنظیم هشدارهای مربوط به حضور شخصیت‌ها را در خارج از آن سرکوب نمی‌کند
ستون 72. برای پردازش کد با متن برنامه معنی دار فراتر از ستون 72، از این استفاده کنید
تنظیم و مطمئن شوید که -f77 خط طولانی گزینه خاموش است برای پردازش کد با
اعداد دنباله ای در ستون های 73 تا 80، تنظیمات ستون ها را در حالت پیش فرض قرار دهید
ارزش گذاری و استفاده کنید -pretty=بدون خط طولانی پرچم.

همچنین نگاه کنید به: -f77, -بسیار.

-مشترک=فهرست
این تنظیم سختی بررسی بلوک های COMMON را کنترل می کند. به طور پیش فرض، همه
هشدارها به جز فرار روشن هستند

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. از آنجایی که اکثر اینها
هشدارها به طور پیش فرض روشن هستند، شامل یک کلمه کلیدی با پیشوند توسط نه- برای خاموش کردن a
هشدار خاص سه کلمه کلیدی خاص وجود دارد: تمام برای روشن کردن همه
هشدارها ، هیچ برای خاموش کردن همه آنها، و کمک برای چاپ لیست تمام کلمات کلیدی
با توضیح مختصری در مورد هر کدام اگر فهرست حذف شده است، -مشترک برابر است با
مشترک = ابعاد، دقیق، طول، نوعو - غیر معمول برابر است با -common=هیچکدام.
کلمات کلیدی هشدار به همراه معانی آنها به شرح زیر است:

ابعاد:
آرایه های مربوطه در هر اعلان یک بلوک باید در اندازه و
تعداد ابعاد این گزینه فقط در صورت استفاده همراه با آن اثر دارد
دقیق.

دقیق:
مقایسه دو بلوک به جای ساده، متغیر به متغیر انجام می شود
نیاز به توافق بین مکان های ذخیره سازی مربوطه. اگر همه از این استفاده کنید
اعلان های یک بلوک COMMON معین قرار است یکسان باشند، که عبارت است از a
تمرین خوب برنامه نویسی

طول:
اگر اعلان های مختلف یک بلوک از نظر طول کل برابر نیستند هشدار دهید.
استاندارد Fortran 77 به هر بلوک مشترک نامگذاری شده نیاز دارد، اما نه معمولی خالی،
تا در تمام ماژول های برنامه یکسان باشد.

نوع:
در هر اعلان یک بلوک COMMON معین، مکان های حافظه مربوطه
(کلمات یا بایت ها) باید در نوع داده توافق داشته باشند. در صورت استفاده همراه با دقیق، این
مستلزم آن است که متغیرهای مربوطه در نوع داده با هم موافق باشند.

فرار:
فرض کنید بلوک های COMMON فرار هستند.

بسیاری از برنامه نویسان فرترن فرض می کنند که متغیرها، چه محلی و چه در COMMON، هستند
static، یعنی زمانی که یک مقدار اختصاص داده شود، آن مقدار را به طور دائم حفظ می کنند تا زمانی که
مقدار متفاوتی توسط برنامه اختصاص داده شده است. با این حال، در واقع Fortran 77
استاندارد ایجاب نمی کند که این مورد باشد. متغیرهای محلی ممکن است تبدیل شوند
بین فعال سازی های یک ماژول که در آن اعلام شده اند، تعریف نشده است. به همین ترتیب،
اگر هیچ ماژولی که در آن اعلان شده نباشد، بلوک های مشترک ممکن است تعریف نشده باشند
فعال. (اصطلاح فنی برای نهادهایی با این رفتار "خودکار" است، اما
ftnchek از کلمه "فرار" استفاده می کند زیرا برای افراد غیر متخصص واضح تر است.) فقط
بلوک های COMMON در یک عبارت SAVE اعلام شده یا در برنامه اصلی یا در a اعلام شده است
تا زمانی که برنامه در حال اجرا است، زیربرنامه داده بلوک تعریف شده باقی می ماند. متغیرها
و بلوک های متداول که ممکن است در نقطه ای تعریف نشده باشند فرار نامیده می شوند.

اگر -common= فرار پرچم روشن است، ftnchek اگر a را پیدا کرد به شما هشدار می دهد
بلوک COMMON فرار. اگر در همان زمان، -usage=com-block-volatile انتخاب
روشن است (که پیش فرض است)، ftnchek سعی خواهد کرد بررسی کند که آیا چنین بلوکی وجود دارد یا خیر
می تواند وضعیت تعریف شده خود را بین فعال سازی ماژول هایی که در آن قرار دارد از دست بدهد
اعلام کرد ftnchek این کار را خیلی خوب انجام نمی دهد: قانون استفاده شده دیدن است
آیا بلوک در دو زیر درخت جدا شده از درخت فراخوانی اعلام شده است یا خیر. برای
به عنوان مثال، اگر دو ماژول، هر دو از برنامه اصلی فراخوانی شوند، این اتفاق خواهد افتاد.
بلوک COMMON فرار را به اشتراک گذاشت. یک بلوک همچنین می تواند بین دو مورد نامشخص شود
تماس های پی در پی از همان زیربرنامه، اما ftnchek آنقدر باهوش نیست که بگوید
آیا می توان یک زیربرنامه را بیش از یک بار فراخوانی کرد، بنابراین این مورد بررسی نمی شود.

La -common= فرار پرچم راه را تحت تاثیر قرار نمی دهد ftnchek استفاده از محلی را بررسی می کند
متغیرها

برای سازگاری با نسخه های قبلی ftnchek، شکل عددی این است
تنظیم نیز پذیرفته شده است: فهرست با عددی از 0 تا 3 جایگزین می شود
0 همه هشدارها را خاموش می کند، 1 یا بیشتر روشن می شود نوع، 2 یا بیشتر روشن می شود
طول، و 3 روشن می شود ابعاد و دقیق همچنین. فرم عددی نمی تواند روشن شود
la فرار گزینه.

همچنین نگاه کنید به: -برخی, -استفاده.

-crossref=فهرست
جداول متقابل را چاپ می کند. پیش فرض = هیچکدام.

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. کلمات کلیدی با
معانی آنها به شرح زیر است:

تماس:
جدول هر زیربرنامه را لیست می کند و به دنبال آن لیستی از روال هایی که آن را فراخوانی می کنند، ارائه می کند.
این فهرست ماژول های کتابخانه ای را که در درخت فراخوانی اصلی نیستند حذف می کند
برنامه لیست حروف الفبا است.

مشترک:
جدول هر بلوک COMMON را فهرست می کند و سپس لیستی از روتین هایی که به آنها دسترسی دارند را فهرست می کند
آی تی. این روال های فهرست شده آنهایی هستند که در آن برخی از متغیرها در COMMON قرار دارند
بلوک قابل دسترسی است، نه صرفاً روتین هایی که بلوک را اعلام می کنند. (به
ببینید چه روتین هایی یک بلوک COMMON را اعلام می کنند اما از آن استفاده نمی کنند، به قسمت مراجعه کنید
-استفاده پرچم.)

برچسب ها:
جدول هر برچسب را به همراه فهرستی از تمام ارجاعات به آن فهرست می کند. یک برچسب
مرجع با شماره خط و نوع بیانیه ارجاع دهنده نشان داده می شود
بیانیه. لیست برچسب به ترتیب متوالی است. مراجع هستند
به ترتیبی که در برنامه با آنها مواجه می شوند فهرست شده اند.

همچنین نگاه کنید به: -کالتری, -مرجع, -مرتب سازی, -symtab, -vcg.

-اعلام
اگر این پرچم تنظیم شود، همه شناسه هایی که نوع داده آنها در هر ماژول اعلام نشده است
فهرست خواهد شد. این پرچم برای کمک به یافتن نام متغیرهای غلط املایی مفید است.
و غیره. در صورتی که ماژول دارای یک NONE ضمنی باشد، همان فهرست داده خواهد شد
بیانیه. پیش فرض = خیر

همچنین نگاه کنید به: -sixchar, -استفاده.

-تقسیم
این سوئیچ برای کمک به کاربران در تشخیص تقسیم احتمالی بر صفر ارائه شده است. اگر
این سوئیچ انتخاب شده است، هر تقسیم به جز ثابت علامت گذاری می شود. (آی تی
فرض بر این است که کاربر آنقدر باهوش است که نمی تواند بر ثابتی که هست تقسیم کند
برابر با صفر!) پیش فرض = خیر.

همچنین نگاه کنید به: -قابلیت حمل, - بریدن.

-errors=تعداد
حداکثر تعداد پیام های خطا را در یک «آبشار» تنظیم کنید. در حین بررسی
توافق آرگومان های زیربرنامه، اعلامیه های بلوک مشترک و غیره،
گاهی اوقات یک مورد واحد باعث ایجاد یک رشته طولانی از هشدارها می شود. اغلب این به سادگی
نشان دهنده علت دیگری غیر از عدم تطابق واقعی مورد به مورد است، مانند for
به عنوان مثال متغیری که در یک لیست وجود ندارد. بنابراین در چنین مواردی ftnchek چاپ را متوقف می کند
اخطارها پس از رسیدن به حد آبشار، و تریلر "و غیره..." است
چاپ شده تا نشان دهد که خطاهای بیشتری چاپ نشده است. اگر فکر می کنید که
احتمالاً این هشدارها واقعی هستند، از این تنظیم برای مشاهده موارد بیشتر استفاده کنید.
روشن کردن = پیش فرض = 3، حداکثر = 999. مقدار 0 به معنای بدون محدودیت است.

این تنظیم محدودیت کلی برای تعداد پیام های خطای چاپ شده تعیین نمی کند.
فقط تعداد چاپ شده در هر آبشار. اکثر انواع هشدارها و خطاها
پیام ها تحت تأثیر آبشار نیستند و بنابراین تحت تأثیر این اثر قرار نمی گیرند
تنظیمات. برای خاموش کردن هشدارها به طور کلی، از کنترل هشدار فردی استفاده کنید
گزینه ها یا -نچک گزینه.

همچنین نگاه کنید به: -بررسی.

-خارجی
علل ftnchek گزارش دهید که آیا هیچ برنامه فرعی که توسط برنامه فراخوانی شده است یا خیر
تعریف شده است. به طور معمول، اگر ftnchek هر کدام روی یک برنامه کامل اجرا می شود
برنامه فرعی غیر از توابع ذاتی باید در جایی تعریف شود. دور زدن
اگر فقط می خواهید زیرمجموعه ای از فایل ها را که بخشی از a را تشکیل می دهند، بررسی کنید
برنامه کامل بزرگتر آرگومان های زیربرنامه همچنان بررسی خواهند شد
صحت پیش فرض = بله.

La -خارجی پرچم در حال حاضر توسط -usage=ext-undefined گزینه. برای
به خاطر راحتی، -خارجی پرچم حفظ می شود، به طوری که غیر خارجی معادل است
به -usage=no-ext-undefined گزینه. -خارجی سوئیچ ممکن است در نهایت بازنشسته شود.

همچنین نگاه کنید به: -برخی.

-f77=فهرست
از این تنظیم برای دریافت برنامه های افزودنی زبانی که Fortran 77 را نقض می کنند، استفاده کنید
استاندارد. چنین برنامه های افزودنی ممکن است باعث شود برنامه شما قابل حمل نباشد. مثال ها
شامل استفاده از زیرخط در نام متغیرها. نام متغیرهای بلندتر از شش
شخصیت ها؛ خطوط بیانیه بیش از 72 کاراکتر. و اظهارات غیر استاندارد
مانند ساختار DO ... ENDDO. ftnchek در مورد استفاده از
حروف کوچک. به طور پیش فرض، همه هشدارها خاموش هستند.

این تنظیم کنترل دقیقی بر روی هشدارهای مربوط به برنامه های افزودنی پشتیبانی شده ارائه می دهد
به استاندارد Fortran 77. (جزئیات بیشتر در مورد خود پسوندها هستند
در زیر در بخش برنامه های افزودنی ارائه شده است.) فهرست شامل کلمات کلیدی جدا شده است
با کاما یا دو نقطه سه کلمه کلیدی خاص وجود دارد: تمام برای روشن کردن همه
هشدار در مورد برنامه های افزودنی غیر استاندارد، هیچ برای خاموش کردن همه آنها، و کمک برای چاپ
لیست تمام کلمات کلیدی با توضیح مختصری در مورد هر کدام. اگر فهرست حذف شده است،
-f77 برابر است با -f77=همهو -nof77 برابر است با -f77=هیچکدام. اخطار
کلمات کلیدی به همراه معانی آنها به شرح زیر است:

نوع پذیرش:
عبارات I/O را بپذیرید و تایپ کنید.

محدوده های آرایه:
عباراتی که محدوده های آرایه را که حاوی عناصر یا تابع آرایه هستند تعریف می کنند
منابع.

assignment-stmt:
بیانیه های انتساب شامل آرایه ها. در فرترن 90، یک آرایه می تواند باشد
به آرایه دیگری از شکل سازگار اختصاص داده می شود، یا می توان یک اسکالر را به آن اختصاص داد
یک آرایه. هیچ یک از این تکالیف در Fortran 77 مجاز نیستند.

هنگامی که یک آرایه به یک اسکالر اختصاص داده می شود، یک هشدار مرتبط رخ می دهد. از آنجایی که این
همچنین در فرترن 90 غیرقانونی است، بدون در نظر گرفتن این موضوع همیشه در مورد آن هشدار داده می شود
-f77 تنظیم (مگر اینکه تمام بررسی ها با -نچک پرچم).

مبتنی بر ویژگی-decl:
اعلان ها را در سبک جدید مبتنی بر ویژگی Fortran 90 تایپ کنید. این سبک از
اعلان با استفاده از دو نقطه (::) بین
لیست صفات و لیست متغیرهای اعلام شده. این گزینه نیز
اخطارها را برای استفاده از مشخص کننده های طول یا نوع Fortran 90 در نوع کنترل می کند
اعلامیه ها (اگرچه این مشخص کننده ها را می توان در موارد غیر مبتنی بر ویژگی استفاده کرد
اعلامیه ها، آنها توسط این گزینه برای جلوگیری از تکثیر کنترل می شوند
-f77 گزینه ها.)

آرایه خودکار:
آرایه های محلی (نه ساختگی) که اندازه متغیر دارند. اینها مطابقت دارند
آرایه هایی که فضای ذخیره سازی آنها باید به صورت پویا در زمان اجرا تخصیص داده شود.

پشت سر هم:
فرار بک اسلش یونیکس در رشته ها. این هشدار تنها در صورتی داده خواهد شد که
-source=unix-backslash تنظیم برای ایجاد فرار مشخص شده است
تعبیر بک اسلش..

بایت: اعلان نوع داده BYTE.

مورد-ساخت:
ساختار SELECT CASE.

شخصیت:
برنامه های افزودنی استاندارد Fortran 77 در مورد داده های شخصیت. در حال حاضر،
این فقط هشدارهای مربوط به متغیرهای کاراکتر اعلام شده با صفر یا را کنترل می کند
طول منفی در Fortran 77، همه متغیرهای کاراکتر باید مثبت باشند
طول در فرترن 90، طول آنها می تواند صفر باشد، و این را اعلام می کند
مشخص کنید طول های منفی مجاز هستند و برای موارد اعلام شده به صفر تبدیل می شوند
طول توجه: زیرا تعیین کننده های طول منفی ممکن است برنامه ریزی را نشان دهند
خطا، هشدار در مورد آنها داده می شود حتی اگر این گزینه خاموش باشد، و
سرکوب می شود تنها توسط -نچک پرچم.

مشترک-subprog-نام:
بلوک و برنامه فرعی مشترک با همین نام.

نام سازنده:
استفاده از یک نام سازنده برای برچسب زدن یک دستور کنترل.

ادامه:
بیش از 19 خط ادامه متوالی.

cpp: دستورالعمل های پیش پردازنده یونیکس C در کد منبع.

نشانگر کری:
نحو "اشاره گر کرای".

چرخه خروج:
بیانیه های CYCLE و EXIT.

d-کامنت:
اشکال زدایی نظراتی که با D در کد منبع شروع می شوند.

برگه دسامبر:
کد منبع با فرمت تب به سبک DEC Fortran. این هشدار فقط داده خواهد شد
اگر -source=dec-tab تنظیم برای ایجاد تفسیر زبانه ها مشخص شده است
در این سبک

انجام دادن:
پسوندهای حلقه DO: برچسب عبارت ترمینال حذف شده، END DO و WHILE.

دو مجتمع:
نوع داده پیچیده با دقت دوگانه

format-dollarsign:
کد کنترل علامت دلار در بیانیه های FORMAT.

format-edit-descr:
توصیفگرهای ویرایش غیر استاندارد در عبارات FORMAT.

function-noparen:
تعریف تابع بدون پرانتز

ضمنی - هیچ:
بیانیه ضمنی NONE.

شامل:
شامل بیانیه.

نظر درون خطی:
نظرات درون خطی که با علامت تعجب شروع می شوند.

داخلی-list-io:
ورودی/خروجی با فهرست به یا از یک فایل داخلی.

ذاتی:
توابع ذاتی غیر استاندارد

کلمات کلیدی io
کلمات کلیدی غیر استاندارد مورد استفاده در دستورات I/O. اینها به سه گروه تقسیم می شوند.
گروه اول شامل کلمات کلیدی است که در فرترن 90 پذیرفته شده اند:

ACTION PAD READWRITE
اندازه موقعیت پیشرفته
DELIM READ WRITE
EOR
گروه دوم شامل کلمات کلیدی VMS Fortran زیر است:

BLOCKSIZE EXTENDSIZE READONLY
BUFFERCOUNT INITIALSIZE RECORDSIZE
CARRIAGECONTROL MAXREC RECORDTYPE
نام فایل پیش فرض (در حالت باز) به اشتراک گذاشته شده است
DISP NOSPAN BLOCK TYPE
سازمان را از بین ببرید
(کلمه کلیدی NAME فقط در عبارت INQUIRE استاندارد است.) سومین
گروه از کلیدواژه IBM/MVS زیر تشکیل شده است:

NUM
این پرچم همچنین اخطاری در مورد استفاده از ACCESS='APPEND' را کنترل می کند
توسط برخی از کامپایلرها پذیرفته شده است. مقدار "APPEND" برای هیچ ورودی/خروجی معتبر نیست
مشخص کننده در استاندارد Fortran 77 و در Fortran 90 'APPEND' باید استفاده شود
به عنوان مقدار مشخص کننده POSITION، نه ACCESS.

خط طولانی:
عبارات با کد معنادار گذشته از 72 ستون. این هشدار فقط داده می شود
اگر -ستون ها تنظیم برای افزایش عرض فیلد بیانیه استفاده شده است.

نام بلند:
شناسه های بیش از 6 کاراکتر.

مختلط - مشترک:
داده های ترکیبی کاراکتر و بدون کاراکتر در بلوک COMMON.

مخلوط اکسپر:
ترکیبات نوع غیر استاندارد در عبارات، برای مثال DOUBLE PRECISION
با COMPLEX، اختصاص hollerith به عدد صحیح، عملیات منطقی روی اعداد صحیح.

نام-دلار:
علامت دلار به عنوان یک کاراکتر در شناسه ها استفاده می شود.

نام-خط:
خط زیر به عنوان یک کاراکتر در شناسه ها استفاده می شود.

لیست اسامی:
بیانیه NAMELIST.

از نوع param- ضمنی:
تایپ ضمنی یک پارامتر توسط نوع داده مقدار اختصاص داده شده. این
هشدار تنها در صورتی می تواند رخ دهد که تایپ ضمنی پارامتر توسط این فعال باشد
-source=param-implicit-type گزینه، یا اگر عبارت PARAMETER از این باشد
فرم غیر استاندارد بدون پرانتز. اگر این گزینه روشن است، هر کدام
مواردی که تایپ پارامتر ضمنی رخ می دهد در مورد آنها هشدار داده می شود. اگر
شما می خواهید فقط در مواردی که نوع داده ضمنی وجود دارد به شما هشدار داده شود
با نوع پیش فرض متفاوت است، استفاده کنید حمل‌پذیری=param-implicit-type به جای آن.
طبق استاندارد Fortran 77، نوع داده یک پارامتر داده شده است
با همان قوانینی که برای یک متغیر وجود دارد و در صورت لزوم تبدیل نوع است
زمانی انجام می شود که مقدار تخصیص داده شود.

پارامتر ذاتی:
تابع ذاتی یا توان با یک واقعی که برای تعریف مقدار a استفاده می شود
تعریف پارامتر.

param-noparen:
بیانیه PARAMETER بدون پرانتز. کاربر باید بداند که
معنایی این شکل از بیانیه با معنای استاندارد متفاوت است
form: در این فرم، پارامتر نوع داده خود را از مقدار می گیرد
اختصاص داده شده، به جای اینکه نوع داده پیش فرض آن بر اساس حرف اول باشد
از نام پارامتر (این شکل از عبارت PARAMETER معرفی شد
توسط DEC قبل از تعریف استاندارد Fortran 77، و باید از آن اجتناب شود.)

اشارهگر:
نحو استاندارد مرتبط با اشاره گر فرترن 90، از جمله POINTER، TARGET و
اعلان های نوع ALLOCATABLE، عبارت های ALLOCATE، DEALLOCATE و NULLIFY،
و انتساب اشاره گر با استفاده از =>.

چهار ثابت:
ثابت های واقعی چهارگانه، به عنوان مثال از شکل 1.23Q4.

نقل قول:
رشته ها با علامت نقل قول به جای آپستروف مشخص می شوند.

تکرار می کند:
عملگرهای رابطه ای (مقایسه ای) که از علائم نگارشی تشکیل شده اند، یعنی: <= == /=
> >=.

قرمز:
نقطه ویرگول به عنوان جداکننده بیانیه استفاده می شود.

بیانیه-سفارش:
اظهارات خارج از توالی تعیین شده توسط استاندارد. مجاز
توالی در جدول 1 در بخش تفسیر خروجی نشان داده شده است.

بی تایپ-ثابت:
ثابت های بدون نوع، برای مثال Z'19AF'.

اندازه نوع:
اعلان هایی را که یک اندازه را مشخص می کنند تایپ کنید، به عنوان مثال REAL*8.

فرمت متغیر:
مشخصات تکرار متغیر یا اندازه فیلد در FORMAT. اینها از فرم هستند
< صادرات >.

vms-io:
منسوخ شده اکنون همان معنی را دارد کلمات کلیدی io کلمه کلیدی.

همچنین نگاه کنید به: -f90, -f95, -قابلیت حمل, -بسیار, سبک, -اندازه کلمه.

-f90=فهرست
این تنظیم کنترل دقیقی بر روی هشدارهای مربوط به برنامه های افزودنی پشتیبانی شده ارائه می دهد
به استاندارد Fortran 77 که به عنوان بخشی از Fortran 90 پذیرفته نشده است
استاندارد. توجه داشته باشید که ftnchek زبان کامل Fortran 90 را پشتیبانی نمی کند.
با این حال، برخی از برنامه های افزودنی رایج برای Fortran 77 را پشتیبانی می کند
قبل از اینکه Fortran 90 تعریف شود. برخی از این پسوندها بخشی از Fortran شدند
90 استاندارد، اما دیگران این کار را نکردند. در -f90 تنظیمات فقط در مورد دومی هشدار می دهد.
یعنی این پرچم مواردی را پوشش می دهد که نه Fortran 77 قانونی هستند و نه قانونی
Fortran 90. بنابراین، هشدارهای کنترل شده توسط این پرچم اساسا یک زیر مجموعه هستند
از هشدارهای کنترل شده توسط -f77. چند مورد وجود دارد که در زیر توضیح داده شده است
شرایطی که در آن اخطار داده می شود برای این دو کمی متفاوت است
پرچم ها

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. سه تا هستند
کلمات کلیدی خاص: تمام برای روشن کردن همه هشدارها در مورد برنامه های افزودنی غیر استاندارد،
هیچ برای خاموش کردن همه آنها، و کمک برای چاپ لیست تمام کلمات کلیدی با a
توضیح مختصری در مورد هر کدام اگر فهرست حذف شده است، -f90 برابر است با -f90=همهو
-nof90 برابر است با -f90=هیچکدام.

کلمات کلیدی زیر دارای معانی یکسانی هستند -f90 با توجه به -f77. خواننده است
به توضیحات زیر اشاره شده است -f77.

نوع پذیرش دو مجتمع param-noparen
پشت سر هم format-dollarsign نشانگر کری
بایت format-edit-descr چهار ثابت
cpp function-noparen اندازه نوع
d-کامنت نام-دلار فرمت متغیر
برگه دسامبر از نوع param- ضمنی vms-io

کلمات کلیدی که تا حدودی با کلمات مربوطه متفاوت است -f77 کلمات کلیدی به عنوان هستند
دنبال می کند

ادامه:
محدودیت در تعداد خطوط ادامه برای یک عبارت در منبع ثابت
فرم همان است، یعنی 19، در فرترن 90 مانند فرترن 77. برای منبع رایگان
از حد مجاز 39 خط ادامه و یک خط حاوی ادامه است
علامت در غیر این صورت نمی تواند خالی باشد یا فقط حاوی یک نظر باشد.

ذاتی:
این همان است که برای -f77 به جز توابع ذاتی تعریف شده در
MIL-STD 1753، که همگی در Fortran 90 گنجانده شده‌اند، و بنابراین هشدار داده نمی‌شوند.
در باره. (دیدن -ذاتی برای یک لیست.)

کلمات کلیدی io:
این همان است که برای -f77 به جز اینکه هیچ هشداری برای I/O داده نمی شود
کلمات کلیدی استاندارد در Fortran 90.

خط طولانی:
اگرچه استاندارد Fortran 90 به خطوط بیش از 72 کاراکتر اجازه می دهد
فرم منبع رایگان، این محدودیت همچنان برای فرم منبع ثابت اعمال می شود. که در
منبع رایگان از محدودیت طول خط 132 کاراکتر است و بر خلاف ثابت است
فرم، ftnchek اجازه نمی دهد این حد افزایش یابد.

مخلوط اکسپر:
این همان است که برای -f77 به جز عباراتی که دقت گسترده ای را با هم ترکیب می کنند
واقعی با انواع داده های پیچیده، که در فرترن 90 مجاز هستند.

بیانیه-سفارش:
این شبیه به متناظر است -f77 هشدار، اما تا حدودی اعمال می شود
محدودیت‌های ضعیف‌تر در دستور بیانیه استاندارد Fortran 90. که در
به طور خاص، فرترن 90 اجازه می دهد تا عبارات داده و عملکرد بیانیه
تعاریف باید با عبارات مشخصات آمیخته شوند.

بی تایپ-ثابت:
در فرترن 90، ثابت های باینری، اکتال و هگزادسیمال به شکل B'ddd'،
O'ddd' و Z'ddd' به ترتیب مجاز هستند. در اینجا 'ddd' نشان دهنده a است
رشته ارقام ftnchek این اشکال، و همچنین یک نوع از
شکل X'ddd برای یک ثابت هگزا دسیمال، و انواع دیگری که در آنها
نشانگر پایه B، O، Z یا X از رشته رقمی پیروی می کند. این گونه ها بودند
در فرترن 90 پذیرفته نشده است، بنابراین فقط به آنها هشدار داده می شود که چه زمانی این پرچم وجود دارد
روشن شد

همچنین نگاه کنید به: -f77, -f95, -قابلیت حمل, -بسیار, سبک, -اندازه کلمه.

-f95=فهرست
این تنظیم کنترل دقیقی بر هشدارهای مربوط به استاندارد Fortran 77 فراهم می کند
ویژگی هایی که از استاندارد Fortran 95 حذف شدند. بر خلاف -f77 و -f90
تنظیمات، این هشدارها برای نحوی که Fortran 77 قانونی است اعمال می شود
این ویژگی ها از استاندارد حذف شده اند، این امکان وجود دارد که برنامه ها
حاوی آنها برای برخی از کامپایلرهای جدیدتر غیرقابل قبول خواهد بود.

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. سه تا هستند
کلمات کلیدی خاص: تمام برای روشن کردن همه هشدارها در مورد برنامه های افزودنی غیر استاندارد،
هیچ برای خاموش کردن همه آنها، و کمک برای چاپ لیست تمام کلمات کلیدی با a
توضیح مختصری در مورد هر کدام اگر فهرست حذف شده است، -f95 برابر است با -f95=همهو
-nof95 برابر است با -f95=هیچکدام. کلیدواژه های هشدار دهنده به همراه معانی آنها به شرح زیر است
دنبال می کند

انجام واقعی:
یک متغیر DO از هر نوع عددی واقعی.

توقف:
بیانیه PAUSE.

اختصاص دادن:
عبارت ASSIGN، به GOTO اختصاص داده شده، یا فرمت اختصاص داده شده.

h-ویرایش:
توصیفگر ویرایش H در یک قالب.

یکی دیگر از ویژگی های نحوی Fortran 77 وجود دارد که در Fortran 95 حذف شده است.
انشعاب به ENDIF از خارج از بلوک IF. با این حال، ftnchek قادر نیست
جریان برنامه را تجزیه و تحلیل کنید، و بنابراین هشداری برای این موضوع ارائه نمی کند.

همچنین نگاه کنید به: -f77, -f90, -قابلیت حمل, -بسیار, سبک, -اندازه کلمه.

-کمک
فهرستی از تمام گزینه های خط فرمان را با توضیح کوتاهی در مورد هر کدام چاپ می کند
همراه با مقدار پیش فرض آن این دستور از نظر عملکرد یکسان است "؟"
استدلال، و به عنوان یک راحتی برای سیستم هایی که در آنها سوال ارائه شده است
علامت برای مفسر دستور معنای خاصی دارد. پیش فرض = خیر

فهرست راهنما همچنین شماره نسخه و سطح پچ را چاپ می کند ftnchek و یک
اعلامیه حق چاپ

توجه: مقادیر «پیش‌فرض» چاپ شده در براکت مربع در فهرست راهنما عبارتند از:
به طور دقیق، نه پیش‌فرض‌های داخلی، بلکه مقادیر فعلی پس از هر کدام
گزینه های محیطی و هر گزینه خط فرمان قبل از -کمک گزینه دارند
پردازش شده است.

همچنین نگاه کنید به: - تازه کار, -versionو کمک گزینه تمام تنظیماتی که لیستی از
کلید واژه ها.

-identifier-chars=فهرست
کاراکترهای غیر الفبایی را که ممکن است در شناسه ها استفاده شوند، تعریف کنید. به صورت پیش فرض،
ftnchek فقط علامت دلار و خط زیر را به عنوان کاراکترهای غیر الفبایی می پذیرد
در نام های شناسه شخصیت های موجود در فهرست هر مجموعه ای از پذیرفته شده را جایگزین کنید
نویسه‌های غیرالفبایی قبلاً اعمال می‌شدند. بنابراین، اگر دلار علامت یا
خط زیر در لیست گنجانده نشده است، آنها وضعیت خود را به عنوان قابل قبول از دست می دهند
کاراکتر باشد.

این گزینه برای فعال کردن ارائه شده است ftnchek برای رسیدگی به فایل های منبع حاوی غیر
نام‌های شناسه استانداردی که ممکن است به عنوان مثال برای دسترسی به برخی موارد مورد نیاز باشد
خدمات سیستم عامل بخش محدودیت ها و برنامه های افزودنی را ببینید
درمان شناسه های حاوی این کاراکترها در تایپ ضمنی.

با استفاده از -noidentifer-chars پذیرش نویسه های غیر الفبایی را خاموش می کند
به طور کامل

همچنین نگاه کنید به: منبع.

-شامل=مسیر
فهرستی را مشخص می کند که برای فایل های مشخص شده با عبارات INCLUDE جستجو شود.
بر خلاف سایر گزینه های خط فرمان، این تنظیم تجمعی است. یعنی اگر باشد
بیش از یک بار در خط فرمان داده می شود، همه دایرکتوری های مشخص شده هستند
در لیستی قرار می گیرد که به همان ترتیبی که داده شده جستجو می شود. را
ترتیبی که ftnchek جستجو برای فایلی که باید گنجانده شود عبارت است از: فعلی
فهرست راهنما؛ دایرکتوری مشخص شده توسط متغیر محیطی FTNCHEK_INCLUDE در صورت وجود؛
دایرکتوری های مشخص شده توسط هر کدام -عبارتند از گزینه ها؛ دایرکتوری مشخص شده توسط
متغیر محیطی شامل; و در نهایت در یک فهرست استاندارد در سراسر سیستم
(/ usr / شامل برای یونیکس، SYS$LIBRARY برای VMS، و \include برای MSDOS).

همچنین نگاه کنید به: -f77, منبع.

-ذاتی=فهرست
کنترل می کند که آیا ftnchek برخی از توابع ذاتی غیر استاندارد را به عنوان
ذاتی در فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. بعضی از
کلمات کلیدی کنترل می کنند که آیا گروه های خاصی از توابع را تشخیص دهند یا خیر
کلمات کلیدی نحو مورد انتظار را برای فراخوانی برخی از ذاتی غیر استاندارد کنترل می کنند.
شامل یک کلمه کلیدی برای فعال کردن تشخیص مجموعه ذاتی مربوطه یا
برای اجازه دادن به نحو مربوطه. شامل یک کلمه کلیدی با پیشوند نه- خاموش کردن
آن شناخت

سه کلمه کلیدی خاص وجود دارد: تمام تشخیص همه موارد غیر استاندارد را روشن می کند
ذاتی (ذکر شده در زیر) و هر یک از نحو را برای آنهایی که دارای تغییرات هستند می پذیرد.
استفاده کنید هیچ برای غیرفعال کردن تشخیص همه موارد ذاتی غیر استاندارد به جز موارد ذکر شده
زیر استفاده کنید کمک برای چاپ لیست تمام کلمات کلیدی با توضیح مختصری از
هر یک. اگر فهرست حذف شده است، -ذاتی برابر است با -ذاتی=همهو
-غیر ذاتی برابر است با -ذاتی = هیچ.

توابع ذاتی غیراستاندارد مورد نیاز برای پشتیبانی از توسعه یافته غیر استاندارد
انواع داده های دقیق (دقت مختلط دوگانه و دقت چهارگانه) همیشه شناسایی می شوند.
ذاتی برای نوع داده پیچیده دوگانه عبارتند از:

CDABS CDSQRT DREAL ZLOG
CDCOS DCMPLX IMAG ZSIN
CDEXP DCONJG ZABS ZSQRT
CDLOG DIMAG ZEXP ZCOS
CDSIN
ویژگی های ذاتی برای انواع کواد دقیق و کواد کمپلکس عبارتند از:

CQABS QARCOS QEXT QNINT
CQCOS QARSIN QEXTD QPROD
CQEXP QATAN QFLOAT QREAL
CQLOG QATAN2 QSIGN QIMAG
CQSIN QCMPLX QINT QSIN
CQSQRT QCONJG QLOG QSINH
DBLEQ QCOS QLOG10 QSQRT
IQINT QCOSH QMAX1 QTAN
IQNINT QDIM QMIN1 QTANH
QABS QEXP QMOD SNGLQ
کلمات کلیدی کنترل کننده تشخیص سایر توابع ذاتی غیر استاندارد هستند
به شرح زیر است:

اضافی:
ذاتی غیر استاندارد رایج زیر را بشناسید (همه به جز
EXIT و LOC در MIL-STD 1753 تعریف شده اند:

BTEST IBCLR IEOR ISHFTC
از IBITS IOR LOC خارج شوید
IAND IBSET ISHFT نه

یونیکس: این توابع ذاتی مشترک یونیکس را بشناسید:

GMTIME LTIME SRAND را لغو کنید
و IARGC یا سیستم
گترگ ایران ساعت رند
GETENV LSHIFT RSHIFT XOR

vms: این توابع ذاتی متداول VMS خاص را بشناسید:

DATE IDATE SEENDS TIME

ERRSNS RAN SIZEOF

iargc-no-argument:
مشخص کنید که IARGC ممکن است بدون آرگومان فراخوانی شود.

iargc-one-argument:
مشخص کنید که IARGC ممکن است با یک آرگومان فراخوانی شود.

rand-بدون استدلال:
مشخص کنید که RAND و IRAND ممکن است بدون آرگومان فراخوانی شوند.

rand-one-argument:
مشخص کنید که RAND و IRAND ممکن است با یک آرگومان فراخوانی شوند.

La بدون استدلال و یک استدلال کلمات کلیدی به صورت زیر کار می کنند: روشن کردن گزینه
علل ftnchek برای پذیرفتن نحو مربوطه برای فراخوانی تابع،
بدون حذف امکان نحو جایگزین. چرخاندن گزینه
خاموش باعث می شود که نحو مربوطه پذیرفته نشود. اگر هر دو گزینه برگشته باشد
به یکباره روشن (پیش‌فرض)، سپس هر یک از نحوها پذیرفته می‌شود. خاموش کردن هر دو گزینه
یکباره معنی دار نخواهد بود این گزینه ها هیچ تاثیری در صورت شناسایی ندارند
Unix intrinsics خاموش شده است.

توجه داشته باشید که این تنظیم کنترلی نمی کند که آیا هشدارهای غیر استاندارد صادر می شود
در مورد این توابع کنترل می کند که آیا توابع فرض می شوند یا خیر
ذاتی یا نه، که تعیین می کند چگونه استفاده از آنها بررسی شود. هنگامی که توابع در
هر یک از این مجموعه ها گنجانده شده است، فراخوانی آنها مطابق با بررسی خواهد شد
قوانین برای توابع ذاتی؛ در غیر این صورت آنها به طور عادی بررسی می شوند (کاربر-
نوشته شده) توابع خارجی. هشدارهای غیر استاندارد توسط
-f77=ذاتی گزینه.

مقدار پیش فرض این تنظیم معادل است -ذاتی=همه و پس از آن
-intrinsic=no-vms برای نسخه یونیکس، -intrinsic=بدون یونیکس برای نسخه VMS و
-intrinsic=no-unix,no-vms برای نسخه های دیگر

توجه: در نسخه های ftnchek قبل از 2.10، -ذاتی پرچم یک عدد گرفت
آرگومان به جای لیستی از گزینه ها. به خاطر کاربرانی که ممکن است نوشته باشند
فراخوانی اسکریپت ها ftnchek به این ترتیب، شکل عددی همچنان پذیرفته می شود. را
شکل عددی تنظیم شامل سه رقم است. رقم یکان را انتخاب می کند
مجموعه ای از توابع ذاتی که باید پشتیبانی شوند. رقم 0 فقط Fortran 77 را انتخاب می کند
ذاتی استاندارد به علاوه موارد مورد نیاز برای پشتیبانی از دقت گسترده غیر استاندارد
انواع داده ها رقم 1 معادل است اضافی، 2 معادل است اضافی، یونیکسو
3 معادل است اضافی، vms. رقم ده ها این تنظیم، نحو را کنترل می کند
از تابع ذاتی RAND، و رقم صدها نحوی را کنترل می کند
عملکرد IARGC. برای این ارقام، 0 را برای احضار با شماره مشخص کنید
آرگومان، 1 برای نیاز به یک آرگومان، و 2 برای اجازه دادن به هر شکل.

همچنین نگاه کنید به: -f77.

-برخی
این سوئیچ زمانی استفاده می شود که تعدادی زیربرنامه در یک فایل وجود داشته باشد، اما نه
همه آنها توسط برنامه استفاده می شود. به طور معمول، ftnchek در صورت وجود به شما هشدار می دهد
زیربرنامه ها تعریف می شوند اما هرگز استفاده نمی شوند. این سوئیچ این هشدارها را سرکوب می کند.
پیش فرض = خیر

این سوئیچ همچنین کنترل می کند که کدام فراخوان های زیربرنامه و اعلان های بلوک COMMON هستند
بررسی شد. اگر فایلی با -برخی پرچم در عمل، زیربرنامه فراخوانی می کند
و اعلان‌های COMMON موجود در یک روال در آن فایل فقط در صورتی بررسی می‌شوند که
آن روال در درخت فراخوانی برنامه اصلی است. از سوی دیگر، اگر
-برخی سوئیچ خاموش است، سپس ftnchek تماس های هر روتین را بررسی می کند
هر روال دیگری، صرف نظر از اینکه آیا آن روال ها واقعاً می توانند باشند یا خیر
در زمان اجرا فراخوانی می شود، و به همین ترتیب تمام اعلان های بلوک COMMON با آن مقایسه می شوند
توافق.

تفاوت بین این سوئیچ و -usage=no-ext-unused گزینه برای
زیربرنامه ها این است که دومی فقط هشدار در مورد روتین ها را سرکوب می کند
اعلام شده اما استفاده نشده است. در -برخی سوئیچ فراتر می رود و استفاده نشده را حذف می کند
روال پردازش در حالی که از همه بررسی های متقابل آرگومان ها و
اعلامیه های بلوک مشترک نیز.

(اگر هیچ برنامه اصلی در جایی از مجموعه فایل ها وجود نداشته باشد که ftnchek خوانده است، بنابراین
که درخت فراخوانی وجود ندارد، پس ftnchek به دنبال هر روال غیرکتابخانه ای خواهد بود
که توسط هیچ روال دیگری فراخوانی نمی شوند و از آنها به عنوان جایگزین اصلی استفاده کنید
برنامه در ساخت درخت فراخوانی و تصمیم گیری در مورد اینکه چه چیزی را بررسی کنید. اگر چنین بالایی وجود ندارد -
روال‌های غیرکتابخانه‌ای سطح، سپس همه تماس‌های بین ماژول‌ها و همه COMMON یافت می‌شوند
اظهارنامه ها بررسی خواهد شد.)

همچنین نگاه کنید به: -استدلال ها, -کالتری, -مشترک, -خارجی, -استفاده.

فهرست
مشخص می کند که فهرستی از برنامه فرترن باید با خط چاپ شود
شماره. اگر ftnchek خطا را تشخیص می دهد، پیام خطا از خط برنامه پیروی می کند
با علامت (^) که محل خطا را مشخص می کند. اگر لیست منبعی وجود نداشت
درخواست کرد، ftnchek همچنان هر خط حاوی خطا را چاپ می کند تا به آن کمک کند
کاربر در تعیین محل وقوع خطا. پیش فرض = خیر

همچنین نگاه کنید به: -خروجی، \fB-symtab, fB-آرام.

-makedcls=فهرست
یک فایل با فرمت منظم از اعلان های متغیرها، بلوک های رایج و
لیست های نام، برای ادغام احتمالی در کد منبع. اعلامیه ها هستند
در فایلی با همان نام کد منبع، اما با پسوند ذخیره می شود
تغییر یافته است به .dcl. اگر هیچ اظهارنامه ای در فایل نوشته نشده باشد، در آن حذف می شود
کاهش شلوغی فایل های خالی

اگر ورودی به جای یک فایل با نام از ورودی استاندارد باشد، اعلان ها هستند
روی خروجی استاندارد نوشته شده است.

متغیرها به ترتیب حروف الفبا در هر کلاس اعلان و
نوع، ابتدا با متغیرهای عدد صحیح، به دلیل استفاده بعدی از آنها در آرایه
ابعاد

عبارات PARAMETER یک استثنا از قانون ترتیب حروف الفبا هستند، زیرا
Fortran 77 Standard مستلزم این است که عباراتی که مقادیر پارامتر را تعریف می کنند اشاره کنند
فقط برای ثابت ها و نام پارامترهای از قبل تعریف شده. این امر اصلی را مجبور می کند
ترتیب فایل منبع چنین اظهاراتی در پرونده های اظهارنامه حفظ شود.

اعلام صریح تمام متغیرها برنامه نویسی مدرن خوبی در نظر گرفته می شوند
تمرین. با استفاده از گزینه های کامپایلر برای رد متغیرهای اعلام نشده، غلط املایی
نام متغیرها (یا نام هایی که از ستون 72 گذشته است) را می توان در زمان کامپایل گرفت.
اعلامیه های صریح نیز تغییر دقت ممیز شناور را تا حد زیادی تسهیل می کند
با فیلترهایی مانند dtoq(1 لیتر)، dtos(1 لیتر)، fd2s(1 لیتر)، fs2d(1 لیتر)، qtod(1 لیتر)، و
ایستاد(1 لیتر). این برنامه ها قادر به تغییر انواع ممیز شناور صریح هستند
اعلان ها، توابع ذاتی و ثابت ها را تایپ کنید، اما به این دلیل که اینطور نیست
تحلیل واژگانی و دستوری دقیق کد منبع فرترن را انجام دهید،
آنها نمی توانند اعلان های نوع اصلاح شده را برای متغیرهای اعلام نشده ارائه کنند. پیش فرض
تنظیم = 0، روشن کردن = 1.

گزینه های مختلف برای فرم فایل اعلامیه ها توسط فهرست,
که شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. سه تا خاص وجود دارد
کلید واژه ها: تمام برای روشن کردن همه گزینه ها، هیچ برای خاموش کردن همه آنها، و کمک به
لیست تمام کلمات کلیدی را با توضیح مختصری در مورد هر کدام چاپ کنید. اگر فهرست is
حذف شده، -makedcls برابر است با -makedcls=اعلامیه ها (یعنی تولید
فایل declarations با استفاده از گزینه های پیش فرض)، و nomakedcls برابر است با
-makedcls=هیچ.

برای سازگاری با نسخه های قبلی ftnchek، شکل عددی این تنظیم است
نیز پذیرفته شده است: فهرست با عددی جایگزین می شود که مجموع اعداد است
در پرانتز در کنار کلمات کلیدی در لیست زیر. کلمات کلیدی هشدار دهنده
با معانی آنها به شرح زیر است:

اعلامیه ها (1):
یک فایل اظهارنامه بنویسید. (این توسط هر یک از گزینه های دیگر دلالت دارد، و
در صورت ارائه گزینه های دیگر، می توان آن را حذف کرد.)

فقط اعلام نشده (2):
به طور پیش فرض، همه متغیرها در فایل اعلامیه گنجانده شده اند. با این
گزینه، شامل فقط اعلام نشده متغیرها این تنظیم برای شما مفید است
می خواهید متغیرهای اعلام نشده را بررسی کنید، زیرا فایل های منبع فرترن با همه
متغیرهایی که به درستی اعلام شده باشند منجر به الف نمی شوند .dcl فایل. با این
گزینه، بلوک های رایج و لیست های نام در آن گنجانده نمی شود
پرونده اظهارنامه، زیرا طبیعتاً نمی توان آنها را اعلام نکرد.

جمع و جور (4):
اعلان‌ها معمولاً زیبا چاپ می‌شوند تا به‌طور منظم در یک ردیف قرار گیرند
ستون‌ها، مانند فایل‌های اعلامیه خروجی توسط Extended PFORT Verifier،
pfort(1 لیتر). این مقدار گزینه به جای خروجی فشرده، بدون ستون انتخاب می کند
هم ترازی.

استفاده-ادامه-خطوط (8):
باعث می شود که در جاهایی که مجاز است از خطوط ادامه استفاده شود. پیش فرض به است
یک اعلامیه جدید در هر خط شروع کنید. این گزینه برای استفاده مناسب است
با جمع و جور.

کلمات کلیدی - حروف کوچک (16):
کلمات کلیدی Fortran را به جای حروف بزرگ پیش فرض با حروف کوچک خارج کنید.

vars-and-consts-کوچک (32):
متغیرها و ثابت های خروجی را به جای پیش فرض با حروف کوچک
حروف بزرگ ثابت های رشته کاراکتر تحت تأثیر این گزینه قرار نمی گیرند.

exclude-sftran3 (64):
اعلان های متغیرهای عدد صحیح داخلی تولید شده توسط SFTRAN3 را حذف کنید
پیش پردازنده، xsf3(1L)، به عنوان بخشی از ترجمه Fortran ساختاریافته
اظهارات به فرترن معمولی این متغیرها دارای نام شش کاراکتری هستند
فرم NPRddd, NXdddd, N2ddddو N3dddd، که در آن d یک رقم اعشاری است
زیرا در کد منبع SFTRAN3 نامرئی هستند و در صورت وجود تغییر خواهند کرد
کد SFTRAN3 اصلاح شده است، چنین متغیرهایی نباید به صراحت اعلام شوند.
در عوض، آنها فقط باید نوع داده پیش‌فرض Fortran INTEGER را بر اساس آن فرض کنند
در نامه اولیه آنها، N.

ستاره-نظر (128):
از یک ستاره به عنوان کاراکتر نظر استفاده کنید. پیش فرض در غیر این صورت 'C' است.

نظر - کاراکتر - حروف کوچک (256):
از «c» به جای «C» یا «*» به عنوان کاراکتر نظر استفاده کنید.

suppress-array-dimensions (512):
کاهش ابعاد آرایه ها در اعلان های تولید شده. این گزینه
برای استفاده با کد فاقد اعلان نوع، اجازه دادن به اعلان است
فایل ها بدون تغییر در کد درج شوند. از آنجایی که کد خواهد داشت
عبارات ابعاد در حال حاضر، ابعاد متغیرهای آرایه در نوع
بیانیه های پرونده اظهارنامه اضافی است. این گزینه باید استفاده شود
فقط در رابطه با گزینه 2 = فقط اعلام نشده زیرا در غیر این صورت هر کدام
آرایه هایی که در یک عبارت type ابعاد داده شده اند، خود را از دست خواهند داد
ابعاد.

فرم رایگان (1024):
اعلامیه ها را به صورت منبع رایگان تهیه کنید. این حالت به طور خودکار استفاده می شود اگر
منبع ورودی فرم آزاد است. از این گزینه برای تولید اعلانات استفاده کنید
فرم آزاد حتی اگر ورودی به صورت ثابت باشد. اظهارنامه های فرم آزاد هستند
به جای 2 ستون فقط 6 ستون فرورفته است، از علامت تعجب به عنوان نظر استفاده کنید
کاراکتر، و خطوط ادامه را با علامت علامت در انتهای علامت نشان دهید
خط ادامه دارد

فایل های اعلامیه حاوی نظرات متمایزی هستند که شروع و پایان آن را مشخص می کنند
اعلانات برای هر واحد برنامه، برای تسهیل استفاده از ماکروهای ویرایشگر متن برای
ادغام مجدد اعلامیه ها در کد منبع.

La ftnchek توزیع شامل یک برنامه است، dcl2inc، که اعلان را پردازش می کند
فایل‌هایی برای تولید فایل‌هایی که حاوی اعلان‌های تمام بلوک‌های مشترک، در یک فرم هستند
مناسب برای استفاده به عنوان فایل شامل. را ببینید dcl2inc(1L) صفحه مرد برای جزئیات
استفاده از آن

همچنین نگاه کنید به: -mkhtml.

-mkhtml=فهرست
مستندات HTML را از منبع تولید کنید. فایل های HTML فردی را از ftnchek ایجاد می کند
تجزیه و تحلیل و نظرات کد. همه نظرات بلافاصله قبل و بعد از
تعریف تابع یا زیر روال در فایل HTML ثبت می شود. بدون تغییر فرمت
نظرات منبع به غیر از حذف کاراکترهای نظر FORTRAN انجام می شود.
علاوه بر این، فایل HTML متغیرهای محلی اعلام شده، بلوک مشترک را فهرست می کند
متغیرهای مورد استفاده، توابع و برنامه های فرعی نامیده شده، استفاده از واحد I/O و غیره
اطلاعات در مورد هر زیر برنامه معمولاً شما نیز می خواهید مشخص کنید
فراخوان = درخت برای ایجاد فایل HTML ریشه CallTree.html. (شاید این فایل باید
index.html نامگذاری شود.)

گزینه های مختلف برای فرم فایل های HTML توسط فایل کنترل می شود فهرست، که
شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. سه تا خاص وجود دارد
کلید واژه ها: تمام برای روشن کردن همه گزینه ها، هیچ برای خاموش کردن همه آنها، و کمک به
لیست تمام کلمات کلیدی را با توضیح مختصری در مورد هر کدام چاپ کنید. اگر فهرست is
حذف شده، -mkhtml برابر است با -mkhtml= اسناد (یعنی سند HTML را تولید کنید
فایل ها با استفاده از گزینه های پیش فرض)، و -nomkhtmls برابر است با -mkhtml=هیچکدام.

به خاطر سادگی، گزینه هایی برای -mkhtml همان کسانی هستند که برای
-makedcls به جز مواردی که قابل اجرا نیستند. به همین ترتیب، یک شکل عددی از
این تنظیم را می توان استفاده کرد، به عنوان مجموع اعداد داخل پرانتز در
لیست پایین. کلمات کلیدی هشدار به همراه معانی آنها به شرح زیر است:

اسناد و مدارک (1):
اسناد HTML را ایجاد کنید. (این توسط هر یک از گزینه های دیگر دلالت دارد، و
در صورت ارائه گزینه های دیگر، می توان آن را حذف کرد.)

جمع و جور (4):
اعلان‌ها معمولاً زیبا چاپ می‌شوند تا به‌طور منظم در یک ردیف قرار گیرند
ستون ها. این مقدار گزینه به جای خروجی فشرده، بدون ستون انتخاب می کند
هم ترازی.

استفاده-ادامه-خطوط (8):
باعث می شود به جای شروع یک اعلان جدید از خطوط ادامه دهنده استفاده شود
در هر خط این گزینه برای استفاده همراه با آن مناسب است جمع و جور.

کلمات کلیدی - حروف کوچک (16):
کلمات کلیدی Fortran را به جای حروف بزرگ پیش فرض با حروف کوچک خارج کنید.

vars-and-consts-کوچک (32):
متغیرها و ثابت های خروجی را به جای پیش فرض با حروف کوچک
حروف بزرگ ثابت های رشته کاراکتر تحت تأثیر این گزینه قرار نمی گیرند.

exclude-sftran3 (64):
اعلان های متغیرهای عدد صحیح داخلی تولید شده توسط SFTRAN3 را حذف کنید
پیش پردازنده، xsf3(1 لیتر). (دیدن -makedcls برای بحث.)

suppress-array-dimensions (512):
کاهش ابعاد آرایه ها در اعلان های تولید شده. این هست
به طور معمول نامطلوب است، اما اگر به دلایلی نمی خواهید در دسترس است
ابعاد آرایه برای نمایش در HTML.

فرم رایگان (1024):
اعلان های متغیر را به صورت منبع رایگان تولید کنید. این حالت است
اگر منبع ورودی فرم آزاد باشد، به طور خودکار استفاده می شود. این عمدتا بر روی
در صورت استفاده از خطوط ادامه دهنده.

همچنین نگاه کنید به: -کالتری, -makedcls.

- تازه کار
این پرچم برای ارائه خروجی مفیدتر برای مبتدیان در نظر گرفته شده است. دوتا داره
اثرات:

(الف) یک پیام اضافی به این مضمون ارائه می دهد که تابعی استفاده می شود اما نه
تعریف شده در هر نقطه ممکن است آرایه ای باشد که کاربر فراموش کرده است آن را در a اعلام کند
عبارت DIMENSION (از آنجایی که نحو یک مرجع آرایه همان است
از یک مرجع تابع).

(ب) شکل پیام های خطا و هشدارها را اصلاح می کند. اگر پرچم چرخانده شود
خاموش توسط - تازه کار، این پیام ها به سبکی بیشتر شبیه یونیکس چاپ می شوند
خط.

پیش فرض = بله.

-خروجی=نام فایل
این تنظیم برای راحتی در سیستم هایی که اجازه آسانی را نمی دهد ارائه شده است
تغییر مسیر خروجی از برنامه ها وقتی این تنظیم داده می شود، خروجی که
به طور معمول در صفحه ظاهر می شود به جای آن به فایل نامگذاری شده ارسال می شود. توجه داشته باشید،
با این حال، که خطاهای عملیاتی ftnchek خودش (به عنوان مثال خارج از فضا یا نمی تواند
فایل باز) همچنان به صفحه نمایش ارسال می شود. پسوند برای نام فایل است
اختیاری است، و اگر پسوند داده نشد، پسوند .lis استفاده خواهد شد.

-pointersize=تعداد
اندازه متغیر «نشانگر کری» را مشخص می‌کند تعداد بایت ها پیش فرض = نوبت
روشن = 4 بایت.

اندازه نشانگر برای اطلاع رسانی هشدارهای عدم تطابق دقیق مربوط به اشاره گر استفاده می شود
متغیرها، برای مثال زمانی که به یک اشاره گر مقداری از یک تخصیص اختصاص داده می شود
روتین یا به عنوان پارامتر زیربرنامه ارسال می شود.

همچنین نگاه کنید به: -f77, -قابلیت حمل, - بریدن, -اندازه کلمه.

-قابلیت حمل =فهرست
ftnchek برای انواع استفاده های غیرقابل حمل هشدار می دهد. مثالها عبارتند از
استفاده از زبانه ها به جز در نظرات یا داخل رشته ها، استفاده از Hollerith
ثابت ها و معادل سازی متغیرهای انواع داده های مختلف. این گزینه
برای برنامه های افزودنی پشتیبانی شده برای استاندارد Fortran 77 هشدار ایجاد نمی کند،
که ممکن است باعث مشکلات حمل و نقل نیز شود. برای گرفتن آن ها، از -f77 تنظیم می باشد.
به طور پیش فرض، همه هشدارها خاموش هستند.

این تنظیم کنترل دقیقی بر روی هشدارهای مربوط به قابلیت حمل احتمالی فراهم می کند
چالش ها و مسائل. فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. وجود دارد
سه کلمه کلیدی خاص: تمام برای روشن کردن همه هشدارها در مورد استفاده های غیرقابل حمل،
هیچ برای خاموش کردن همه آنها، و کمک برای چاپ لیست تمام کلمات کلیدی با a
توضیح مختصری در مورد هر کدام اگر فهرست حذف شده است، -قابلیت حمل برابر است با
-قابلیت حمل = همهو -عدم حمل و نقل برابر است با -قابلیت حمل = هیچ.
کلمات کلیدی هشدار دهنده به همراه معانی آنها به شرح زیر است:

پشت سر هم:
کاراکتر بک اسلش در رشته ها. از آنجایی که برخی از کامپایلرها بک اسلش را به عنوان
یک کاراکتر فرار، وجود آن می تواند مشکلاتی ایجاد کند حتی اگر از آن استفاده شود
به روشی مطابق با استاندارد

هم ترازی مشترک:
متغیرهای بلوک COMMON به ترتیب نزولی اندازه ذخیره سازی نیستند. مقداری
کامپایلرها به دلیل نیاز به تراز ذخیره سازی به این ترتیب نیاز دارند.

هولریث:
ثابت های هولریث (غیر از مشخصات FORMAT). هولریث
نوع داده یکی از ویژگی های Fortran IV است که در Fortran 77 حذف شده است
استاندارد با نوع داده کاراکتر جایگزین می شود. ذخیره سازی هولریث
داده های موجود در متغیرهای یک نوع داده عددی یا منطقی به دلیل غیرقابل انتقال هستند
اندازه کلمات متفاوت

رشته بلند:
ثابت های رشته ای، متغیرها یا عبارات بیش از 255 کاراکتر.

معادل مخلوط:
متغیرهای انواع داده های مختلف معادل سازی شدند.

سایز مختلط:
متغیرهایی که با دقت پیش‌فرض اعلام می‌شوند با متغیرهایی که صریح هستند استفاده می‌شوند
دقت، در عبارات، تکالیف، یا به عنوان استدلال. به عنوان مثال، اگر الف
متغیر اعلام شده به عنوان REAL*8 معادل با دقت دو برابر می شود.

انجام واقعی:
شاخص و کران حلقه DO غیر صحیح. اینها می توانند باعث شوند که نتایج یک برنامه به نتیجه برسد
به ویژگی های سخت افزاری کامپیوتر خاص مورد استفاده بستگی دارد.

از نوع param- ضمنی:
تایپ ضمنی یک پارامتر توسط نوع داده مقدار تخصیص داده شده، در صورت وجود
با نوع پیش فرض متفاوت است. این اخطار فقط در صورت ضمنی ممکن است رخ دهد
تایپ پارامتر توسط این فعال شده است -source=param-implicit-type
گزینه، یا اگر عبارت PARAMETER به شکل غیراستاندارد بدون باشد
پرانتز. اگر این گزینه روشن باشد، پس هر نمونه ای به طور ضمنی وجود دارد
تایپ پارامتر اتفاق می افتد و در جایی که نوع ضمنی آن با پارامتر متفاوت است
نوع پیش فرض بر اساس حرف اول نام پارامتر، هشدار داده می شود
در باره. تایپ پارامتر ضمنی می تواند معنای عبارات را تغییر دهد
جایی که پارامتر مورد استفاده قرار می گیرد و باعث مشکلات حمل و نقل می شود.

برگ: زبانه ها در کد منبع. زبانه ها به صورت متفاوتی توسط متفاوت تفسیر می شوند
کامپایلرها این اخطار فقط یک بار در انتهای فایل داده خواهد شد.

همچنین نگاه کنید به: -f77, -f90, -f95, -بسیار, سبک, -اندازه کلمه.

- زیبا =فهرست
پیام های خاص مربوط به ظاهر کد منبع را کنترل می کند. اینها هشدار می دهند
در مورد چیزهایی که ممکن است یک برنامه را کمتر خوانا کند یا برای خواننده فریبنده باشد.
به طور پیش فرض، همه هشدارها روشن هستند.

این تنظیم کنترل دقیقی بر روی هشدارهای ظاهری ارائه می دهد. در
فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. از آنجایی که همه هشدارها روشن است
به طور پیش فرض، یک کلمه کلیدی با پیشوند قرار دهید نه- برای خاموش کردن یک هشدار خاص
سه کلمه کلیدی خاص وجود دارد: تمام برای روشن کردن همه هشدارهای گمراه کننده
ظواهر، هیچ برای خاموش کردن همه آنها، و کمک برای چاپ لیست همه
کلمات کلیدی با توضیح مختصری در مورد هر کدام. اگر فهرست حذف شده است، -بسیار is
معادل -pretty=همهو -خوشگل برابر است با -pretty=هیچکدام.
کلمات کلیدی هشدار دهنده به همراه معانی آنها به شرح زیر است:

جایگزین بازگشت:
یک دستور RETURN دارای یک ثابت است که یک نقطه بازگشت جایگزین را مشخص می کند
بین 0 و تعداد آرگومان های ساختگی که برچسب هستند نیست. این هست
قانونی است و همان اثر بازگشت بدون بازگشت جایگزین را دارد
بیان می کند، اما نشان می دهد که برنامه نویس قصد داشته از یک جایگزین استفاده کند
برچسب برگشتی که ارائه نشده است.

فضای تعبیه شده:
فضای تعبیه شده در نام متغیرها یا در عملگرهای چند کاراکتری مانند **.

ادامه:
علامت ادامه پس از خط نظر.

خط طولانی:
خطوط (به جز نظرات) بیش از 72 ستون در عرض (به طور معمول فراتر از 72 است
نادیده گرفته شده توسط کامپایلر).

فضای از دست رفته:
عدم وجود فاصله بین متغیر و کلمه کلیدی قبلی

چندگانه مشترک:
بلوک COMMON در چند عبارت اعلام شده است. هیچ هشداری داده نمی شود اگر
عبارات متوالی هستند به جز برای خطوط نظر.

فهرست چند نامی:
NAMELIST در چند عبارت اعلام شده است. هیچ هشداری داده نمی شود اگر
عبارات متوالی هستند به جز برای خطوط نظر.

پرانتز:
پرانتز در اطراف یک متغیر به تنهایی. به عنوان یک استدلال زیربرنامه، این
آرگومان را تبدیل به یک عبارت می کند که توسط زیربرنامه قابل تغییر نیست.

توجه داشته باشید که در فرم منبع آزاد، فضای اضافی و فضای خالی توسط آن ممنوع است
Fortran 90 Standard، و صرفاً نقض سبک نیستند. در این مورد هشدارها
با پیام های خطای نحوی جایگزین می شوند و فقط با استفاده از آن می توان آن را خاموش کرد
-نچک.

همچنین نگاه کنید به: -f77, -قابلیت حمل, سبک.

-پروژه=فهرست
ftnchek یک فایل پروژه از هر فایل منبعی که در این هنگام وارد می شود ایجاد می کند
گزینه روشن است فایل پروژه به همان نام ورودی داده می شود
فایل، اما با پسوند .f or .برای جایگزین توسط .prj. (اگر ورودی از
ورودی استاندارد، فایل پروژه نامگذاری شده است ftnchek.prj.) پیش فرض = هیچ.

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. سه تا هستند
کلمات کلیدی خاص: تمام برای روشن کردن همه گزینه ها، هیچ برای خاموش کردن همه آنها، و
کمک برای چاپ لیست تمام کلمات کلیدی با توضیح مختصری در مورد هر کدام. اگر
فهرست حذف شده است، پروژه برابر است با -پروژه=همهو -بدون پروژه is
معادل -پروژه=هیچ. کلمات کلیدی به همراه معانی آنها به شرح زیر است:

ایجاد:
یک فایل پروژه تولید کنید. پیش فرض این است که فایل پروژه تولید نشود. اگر
این گزینه روشن نیست، بقیه گزینه ها تاثیری ندارند.

کوتاه کردن تماس ها:
مقدار اطلاعات ذخیره شده در فایل پروژه در مورد برنامه فرعی را کاهش دهید
اعلامیه ها و تماس ها این پیش فرض است. این گزینه را فقط در خاموش کنید
موقعیت های نادر (به بحث زیر مراجعه کنید.) میزان پیرایش متفاوت است
بسته به -برخی پرچم. اگر آن پرچم وجود داشته باشد، اطلاعات بیشتر بریده می شود
روشن شد

trim-common:
تعداد اعلان‌های بلوک رایج ذخیره شده در فایل پروژه را کاهش دهید.
این پیش فرض است. این گزینه را فقط در شرایط نادر خاموش کنید. (دیدن
بحث زیر.) این گزینه تاثیری ندارد اگر -برخی پرچم چرخانده شده است
خاموش: وقتی در حالت کتابخانه نیست، اعلان‌های بلوک معمولی حذف نمی‌شوند
بدون توجه به این گزینه انجام می شود.

یک فایل پروژه حاوی خلاصه ای از اطلاعات فایل منبع، برای استفاده در آن است
بررسی توافق بین استفاده‌های FUNCTION، SUBROUTINE و COMMON در فایل‌های دیگر.
این امکان بررسی تدریجی را فراهم می کند، که هر زمان که مجموعه بزرگی دارید، در زمان صرفه جویی می کند
فایل های حاوی برنامه های فرعی مشترک که اکثر آنها به ندرت تغییر می کنند. می توانید بدوید
ftnchek یک بار در هر فایل با پروژه مجموعه پرچم، ایجاد فایل های پروژه.
معمولا شما هم تنظیم می کنید -برخی و غیر خارجی پرچم در این زمان، به
سرکوب پیام های مربوط به سازگاری با فایل های دیگر. فقط پیام های خطا
مربوط به هر فایل به تنهایی در این زمان چاپ خواهد شد. پس از آن، اجرا کنید
ftnchek بدون این پرچم ها روی همه فایل های پروژه با هم، برای بررسی سازگاری
در میان فایل های مختلف همه پیام‌های داخلی فایل‌های فردی اکنون خواهند بود
حذف شود. تنها زمانی که یک فایل تغییر می کند، باید یک فایل پروژه جدید ساخته شود
برای آن است.

به طور طبیعی، زمانی که پروژه گزینه روشن است، ftnchek پروژه را نخواهد خواند
فایل ها به عنوان ورودی

معمولاً زمانی که می‌خواهید پروژه ایجاد کنید، گزینه‌های اصلاح باید روشن باقی بماند
فایل ها برای ورودی های آینده به ftnchek. از آنجایی که برش به طور پیش فرض روشن است، این بدان معناست
که به سادگی دستور می دهد پروژه بدون لیست گزینه توصیه می شود
حالت گزینه های تریم فقط به عنوان یک راحتی برای کسانی که می خواهند ارائه می شود
از فایل های پروژه برای اهدافی غیر از بررسی برنامه استفاده کنید
ftnchek. برای استفاده از فایل های پروژه برای هدف مورد نظر خود، گزینه های برش باید
خاموش نشود

فایل های پروژه فقط حاوی اطلاعات مورد نیاز برای بررسی توافق بین فایل ها هستند.
این بدان معنی است که اگر همه ماژول های برنامه کامل باشد، یک فایل پروژه فایده ای ندارد
در یک فایل واحد قرار دارند.

بحث مفصل تر در بخش استفاده از فایل های پروژه ارائه شده است.

-خالص
فرض کنید توابع «خالص» هستند، یعنی با اصلاح، عوارض جانبی نخواهند داشت
آرگومان ها یا متغیرهای آنها در یک بلوک COMMON. هنگامی که این پرچم در حال اجرا است،
ftnchek تعیین وضعیت مجموعه و استفاده شده از آرگومان های واقعی را پایه گذاری خواهد کرد
با این فرض که آرگومان های ارسال شده به یک تابع تغییر نمی کنند. خواهد شد
همچنین در صورتی که تابعی برای تغییر هر یک از آرگومان های خود یا هر یک از آن ها یافت شود، هشدار صادر می کند
متغیرهای مشترک پیش فرض = بله.

وقتی این پرچم خاموش است، آرگومان های واقعی ارسال شده به توابع مدیریت می شوند
همان روشی که آرگومان های واقعی به زیر روال ها منتقل می شوند. این به این معنی است که ftnchek
فرض می کند که آرگومان ها ممکن است توسط توابع اصلاح شوند. هیچ هشداری نخواهد بود
اگر مشخص شود عملکردی دارای عوارض جانبی است، داده می شود. زیرا بررسی دقیق تر است
اگر توابع خالص فرض شوند ممکن است، شما باید این پرچم را خاموش کنید فقط اگر
برنامه شما در واقع از توابع با عوارض جانبی استفاده می کند.

-ساکت
این گزینه مقدار خروجی مربوط به عملکرد عادی را کاهش می دهد، به طوری که
پیام های خطا آشکارتر هستند. این گزینه برای راحتی ارائه شده است
کاربرانی که مجموعه بزرگی از فایل ها را بررسی می کنند. خروجی حذف شده شامل
نام فایل‌های پروژه و پیامی که گزارش می‌دهد هیچ خطای نحوی پیدا نشد.
همچنین برخی از خطوط خالی را که معمولاً برای وضوح درج می شوند حذف می کند. (مقداری
این خروجی دوباره توسط فهرست و -symtab گزینه ها.) پیش فرض = خیر.

توجه: راه به خاطر سپردن تفاوت بین -ساکت و -مختصر است که
-ساکت هیچ اطلاعات مربوط به هشدار را سرکوب نمی کند، در حالی که -مختصر انجام می دهد.

همچنین نگاه کنید به: -مختصر.

-مرجع
مشخص می کند که جدول who calls- who چاپ شود. این جدول هر زیر برنامه را فهرست می کند
به دنبال آن فهرستی از روتین هایی که فراخوانی می کند. این سوئیچ معادل است
-calltree=مرجع. پیش فرض = خیر

فهرست مرجع روال هایی را که توسط ماژول های کتابخانه استفاده نشده فراخوانی می شوند حذف می کند. بنابراین آن را
حاوی همان اطلاعاتی است که برای قالب درخت فراخوانی، یعنی سلسله مراتب
برنامه فرعی تماس می گیرد، اما به روشی متفاوت چاپ می شود. این ابتدا یک وسعت چاپ می کند
پیمایش درخت تماس در حالی که -calltree=درخت ابتدا یک عمق چاپ می کند
پیمایش

همچنین نگاه کنید به: -کالتری, -صفحه متقاطع, -برخی, -مرتب سازی, -symtab, -vcg.

منابع
مقدار منابع استفاده شده را چاپ می کند ftnchek در پردازش برنامه این
فهرست ممکن است در تجزیه و تحلیل اندازه و پیچیدگی یک برنامه مفید باشد. می تواند
همچنین در انتخاب سایزهای بزرگتر برای ftnchekجداول داخلی اگر آنها هم باشند
کوچک برای تجزیه و تحلیل یک برنامه خاص. پیش فرض = خیر

در این فهرست، عبارت "اندازه تکه" اندازه بلوک های حافظه است
تخصیص داده شده برای ذخیره اقلام مورد نظر، در واحدهای اندازه یک مورد، نه
لزوما در بایت هنگامی که فضای اختصاص داده شده اولیه پر شد، حافظه بیشتر می شود
در تکه های این اندازه اختصاص داده شده است. در ادامه توضیحاتی در مورد موارد ارائه شده است
چاپ شده:

منبع خطوط فرآوری شده:
تعداد کل خطوط کد، با مجموع مجزا برای خطوط بیانیه و
خطوط نظر خطوط نظر شامل خطوط با 'C' یا '*' در ستون 1 نیز می باشد
به عنوان خطوط خالی و خطوطی که فقط حاوی یک نظر درون خطی هستند. خطوط بیانیه
همه خطوط دیگر هستند، از جمله خطوطی که یک نظر درونی به دنبال برخی دارند
کد خطوط ادامه به عنوان خطوط جداگانه محاسبه می شود. خطوط در شامل
هر بار که فایل درج می شود، فایل ها شمارش می شوند.

جمع قابل اجرا بیانیه:
تعداد عبارات در برنامه، به غیر از مشخصات، داده ها، بیانیه-
دستورات تابع، FORMAT، ENTRY و END.

جمع عدد of ماژول ها:
ماژول هر زیربرنامه خارجی است، از جمله برنامه اصلی، زیر روال ها،
توابع، و واحدهای داده را مسدود می کند. این تعداد ماژول های تعریف شده در داخل است
منبع، نه به ماژول ها ارجاع داده شده است. توابع بیانیه گنجانده نشده است. آ
زیربرنامه با چندین نقطه ورودی فقط یک بار شمارش می شود.

جمع بیانیه برچسب ها مشخص
تعداد برچسب‌های متصل به عبارات (که اغلب به آنها اعداد بیانیه گفته می‌شود). در
تعداد کل برچسب برای کل برنامه و همچنین حداکثر داده شده است
عدد در هر زیربرنامه

حداکثر شناسه نام کاراکترها:
تعداد کاراکترهای مورد استفاده برای ذخیره نام های شناسه. یک شناسه a است
نام متغیر، زیربرنامه یا بلوک رایج اسامی محلی نامهای محلی هستند
متغیرها در یک زیربرنامه، در حالی که نام های سراسری به زیربرنامه و مشترک اشاره دارند
نام های بلوک، و همچنین نام آرگومان ساختگی و نام متغیرهای رایج. واقعی
متن آرگومان (حداکثر 15 کاراکتر برای هر آرگومان) نیز در اینجا گنجانده شده است.
فضای مورد استفاده برای نام های محلی در پایان هر ماژول بازیابی نمی شود، بنابراین
این عدد، مانند فضای جهانی، تا زمانی که کل برنامه تحلیل شود، افزایش می یابد.
متأسفانه، این رقم ممکن است شامل متنی باشد که بیش از یک بار ذخیره شده است.
اگرچه از یک اکتشافی استفاده می شود که در بسیاری از موارد از تکرار جلوگیری می کند.

حداکثر رمز متن کاراکترها:
یک نشانه کوچکترین واحد نحوی زبان FORTRAN بالاتر از سطح است
از شخصیت های فردی به عنوان مثال یک نشانه می تواند یک نام متغیر باشد، a
ثابت عددی، یک رشته متن نقل قول، یا یک کاراکتر نقطه گذاری. رمز
متن در حالی که یک ماژول در حال پردازش است ذخیره می شود. به دلایل فنی،
توکن های تک کاراکتری در این کل گنجانده نمی شوند. مواردی که نیستند
نشان داده شده در جدول نماد ممکن است تکراری باشد. فضای متن نشانه است
در پایان هر ماژول بازیابی می شود، بنابراین این رقم حداکثر برای را نشان می دهد
هر یک از ماژول ها

حداکثر محلی نمادها:
این بیشترین تعداد ورودی در جدول نمادهای محلی برای هر ماژول است.
ورودی های جدول نمادهای محلی شامل تمام متغیرها و پارامترها، بلوک مشترک است
نام ها، توابع بیانیه، زیربرنامه های خارجی و توابع ذاتی
توسط ماژول ارجاع شده است. ثابت های تحت اللفظی در نماد محلی ذخیره نمی شوند
جدول.

حداکثر جهانی نمادها:
این تعداد ورودی‌های جدول نماد جهانی در پایان است
در حال پردازش. ورودی های جدول نماد جهانی شامل زیربرنامه خارجی و مشترک است
نام های بلوک توابع ذاتی و توابع بیانیه گنجانده نشده است.

حداکثر عدد of لیست نشانه ها:
فهرست نشانه‌ها، دنباله‌ای از نشانه‌ها است که آرگومان واقعی یا ساختگی را نشان می‌دهد
لیست یک زیربرنامه یا لیستی از متغیرها در یک بلوک یا لیست نام مشترک.
بنابراین این عدد نشان دهنده بزرگترین مجموع COMMON، CALL، NAMELIST و
عبارات ENTRY و فراخوانی عملکرد برای هر ماژول. فضا است
در پایان هر ماژول بازیابی می شود.

حداکثر رمز فهرست/درخت فضا:
این بیشترین تعداد توکن در تمام لیست‌های نشانه و درختان نشانه است
هر یک از ماژول ها هنگام تجزیه و تحلیل یک عبارت، یک درخت نشانه تشکیل می شود: هر کدام
عملوند برگ درخت است و عملگرها گره ها هستند. بنابراین این
عدد معیاری از حداکثر پیچیدگی یک ماژول است. برای
به عنوان مثال، یک ماژول با عبارات حسابی طولانی، مقدار بالایی خواهد داشت
عدد. توجه داشته باشید که بر خلاف متن توکن که در بالا توضیح داده شد، تعداد توکن ها برابر است
مستقل از طول نام متغیرها یا ثابت های تحت اللفظی در
اصطلاحات.

شماره of زیر برنامه فراخوان ها:
این مجموع تعداد دستورات CALL و تابع همه ماژول ها است
فراخوانی ها (به جز توابع ذاتی و توابع بیانیه).

شماره of مشترک مسدود کردن حذف می کند:
این مجموع تعداد اعلامیه های بلوک رایج در تمام ماژول ها است.
یعنی هر اعلان یک بلوک در یک ماژول متفاوت شمارش می شود
بطور جداگانه. (استاندارد اجازه می دهد چندین اعلان یک بلوک در داخل
همان ماژول؛ اینها فقط به عنوان یک اظهارنامه حساب می شوند زیرا هستند
معادل یک اعلامیه طولانی است.)

شماره of صف خورشید & پارامتر ptrs:
این مجموع تعداد ابعاد و پارامتر آرایه بر روی همه ماژول ها است
رشته های متن تعریف ذخیره شده برای استفاده توسط -makedcls گزینه. طول از
رشته های متن شمارش نمی شود. هر بعد از یک آرایه چند بعدی است
جداگانه شمرده می شود

این اعداد بدیهی است که وقتی از فایل های پروژه به جای آن استفاده می شود، یکسان نیستند
کد منبع اصلی حتی اعداد برای نهادهای جهانی ممکن است متفاوت باشد،
زیرا برخی از اطلاعات اضافی در فایل های پروژه حذف می شوند.

-sixchar
یکی از اهداف ftnchek این برنامه برای کمک به کاربران برای نوشتن Fortran قابل حمل است
برنامه ها. یکی از منابع بالقوه غیر قابل حمل استفاده از نام متغیرهایی است که
بیش از شش کاراکتر هستند. برخی از کامپایلرها فقط کاراکترهای اضافی را نادیده می گیرند.
این رفتار به طور بالقوه می تواند منجر به در نظر گرفتن دو متغیر متفاوت شود
همان به عنوان مثال، متغیرهایی با نام AVERAGECOST و AVERAGEPRICE یکسان هستند
در شش کاراکتر اول اگر می خواهید چنین درگیری های احتمالی را بگیرید، استفاده کنید
این پرچم پیش فرض = خیر

استفاده از -f77 = نامهای بلند اگر می خواهید لیست کنید تمام متغیرهای بیشتر از شش
شخصیت ها، نه فقط آن جفت هایی که در شش نفر اول یکسان هستند.

همچنین نگاه کنید به: -f77, -قابلیت حمل.

-مرتب سازی
مشخص می کند که یک لیست مرتب شده از همه ماژول های استفاده شده در برنامه چاپ شود. این
لیست به ترتیب "پیش نیاز" است، یعنی هر ماژول فقط بعد از همه چاپ می شود
ماژول هایی که از آنها فراخوانی شده است چاپ شده است. به آن a نیز می گویند
"مرتب سازی توپولوژیکی" درخت فراخوانی. هر ماژول فقط یک بار لیست می شود. کارهای روزمره
که در درخت فراخوانی برنامه اصلی نیستند حذف می شوند. اگر وجود دارد
چرخه ها در گراف تماس (غیر قانونی در فرترن استاندارد) آنها شناسایی خواهند شد و
تشخیص داده شد. پیش فرض = خیر

همچنین نگاه کنید به: -کالتری, -صفحه متقاطع, -مرجع, -symtab, -vcg.

منبع =فهرست
این تنظیم گزینه های خاصی را در مورد فرم کد منبع فرترن کنترل می کند.
La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. سه تا هستند
کلمات کلیدی خاص: تمام برای روشن کردن همه گزینه ها، هیچ برای خاموش کردن همه آنها، و
کمک برای چاپ لیست تمام کلمات کلیدی با توضیح مختصری در مورد هر کدام. اگر
فهرست حذف شده است، منبع برابر است با منبع = همهو منبع معادل است
به منبع = هیچ.

برای سازگاری با نسخه های قبلی ftnchek، شکل عددی این تنظیم است
نیز پذیرفته شده است: فهرست با عددی جایگزین می شود که مجموع اعداد است
در پرانتز در کنار کلمات کلیدی در لیست زیر. ( ثابت و رایگان
گزینه ها مقادیر عددی ندارند.) کلیدواژه های هشدار دهنده به همراه معانی آنها هستند
به شرح زیر است:

ثابت:
منبع را به صورت ثابت تفسیر کنید (با پسوندهای پشتیبانی شده مانند
علامت تعجب برای نظرات). عبارات باید در ستون های 7 تا 72 باشد
(مگر اینکه -کلاس تنظیمات برای تغییر این مورد استفاده شده است)، و خالی ها نیستند
زمینه شخصیت خارجی قابل توجه (اما در مورد زیر هشدار داده شده است -بسیار
گزینه). این حالت پیش فرض است مگر اینکه پسوند فایل منبع باشد f90
or .F90. این گزینه را نمی توان با هم داد منبع = رایگان.

رایگان: منبع را به صورت آزاد تفسیر کنید. عبارات ممکن است در هر نقطه از ستون 1 باشد
تا 132، نظرات فقط می توانند با علامت تعجب شروع شوند، و جاهای خالی هستند
در برخی مکان ها مانند بین شناسه ها و کلمات کلیدی مورد نیاز است. این هست
حالت پیش فرض اگر پسوند فایل منبع باشد f90 or .F90. این گزینه
نمی توان با هم داد منبع = ثابت شد or -source=dec-tab

برگه دسامبر (1):
منبع با فرمت تب به سبک DEC را بپذیرید. خطی که با یک برگه اولیه شروع می شود
به عنوان یک خط دستور جدید در نظر گرفته می شود مگر اینکه کاراکتر بعد از برگه باشد
یک رقم غیر صفر، در این صورت به عنوان یک خط ادامه در نظر گرفته می شود. در
ستون بعدی بعد از برگه یا علامت ادامه به عنوان ستون 7 گرفته می شود
اخطار در موردی که خط ادامه است داده می شود، اگر
-f77=dec-tab در عمل است

vms-include (2):
عبارات INCLUDE به سبک VMS را بپذیرید. اینها از نحو معمولی پیروی می کنند، اما
با ویژگی های اضافی زیر: (1) پسوند فایل، اگر داده نشده باشد،
به طور پیش فرض مانند پسوند فایل منبع معمولی است. و (2) گزینه
/LIST یا /NOLIST را می توان برای کنترل فهرست به نام فایل include اضافه کرد
از محتویات آن

unix-backslash (4):
کنترل بک اسلش به سبک یونیکس در رشته کاراکترها. فرار
دنباله پس از اسلش بر اساس ANSI ارزیابی خواهد شد
استاندارد برای رشته ها در C: حداکثر سه رقم نشان دهنده یک مقدار هشتگانه، یک x است
نشان دهنده شروع یک ثابت هگزادسیمال، هر یک از حروف abfnrt است
نشان دهنده کدهای کنترل ویژه و هر کاراکتر دیگری (از جمله خط جدید)
خود شخصیت را نشان می دهد. وقتی این گزینه کد منبع فعال است، الف
اخطار داده خواهد شد در صورتی که -f77 = بک اسلش تنظیم مشخص شده است.

رفتار پیش‌فرض این است که با اسلش مانند هر حالت عادی دیگری رفتار کنیم
کاراکتر، اما در صورتی که
-قابلیت حمل پرچم تنظیم شده است به دلیل این واقعیت که برخی از کامپایلرها با آن برخورد می کنند
بک اسلش به روشی غیراستاندارد، برای مطابقت با استاندارد امکان پذیر است
اگر برنامه ها از کاراکتر بک اسلش در رشته ها استفاده می کنند غیر قابل حمل باشند.

پس از ftnchek کار زیادی با رشته تفسیر شده انجام نمی دهد، به ندرت است
برای استفاده از این گزینه ضروری است. به منظور جلوگیری از کاذب مورد نیاز است
فقط در صورتی هشدار می دهد که (الف) برنامه در حال بررسی از بک اسلش برای جاسازی یک استفاده کند
آپستروف یا علامت نقل قول در یک رشته به جای استفاده از مکانیسم استاندارد
دوبرابر کردن مرز. (ب) از بک اسلش برای فرار از پایان استفاده می شود
خط به منظور ادامه یک رشته در بین خطوط منبع متعدد. یا (ج) الف
تعریف PARAMETER از یک تابع رشته ذاتی مانند LEN با چنین استفاده می کند
یک رشته به عنوان آرگومان، و بعداً از آن مقدار برای تعریف آرایه استفاده می شود
ابعاد و غیره

از نوع param- ضمنی (8):
تایپ ضمنی یک پارامتر توسط نوع داده مقدار اختصاص داده شده. مقداری
کامپایلرهای غیراستاندارد ممکن است به نوع داده مقدار اجازه لغو آن را بدهند
Fortran 77 نوع پیش فرض پارامتری است که بر اساس حرف اول است
نام پارامتر این گزینه فقط در مورد عبارات PARAMETER کاربرد دارد
فرم استاندارد که دارای پرانتز است. پارامتری که به صراحت مشخص شده است
اعلام شده در یک دستور type قبل از دستور PARAMETER تحت تأثیر قرار نمی گیرد
توسط این گزینه در زیر اخطار داده خواهد شد -f77=پارام-از نوع ضمنی
or حمل‌پذیری=param-implicit-type گزینه.

توجه داشته باشید که این تایپ ضمنی معادل یک نوع صریح در نظر گرفته می شود
اعلامیه برای پارامتر بنابراین، اگر استفاده کنید
-makedcls=فقط اعلام نشده برای ایجاد اعلانات فقط اظهار نشده
متغیرها، این پارامترها خواهد بود نه گنجانده شود

dec-param-standard-type (16):
از قانون Fortran 77 برای تایپ داده پارامترهای سبک DEC Fortran پیروی کنید.
اینها با استفاده از یک فرم غیر استاندارد از عبارت PARAMETER که
فاقد پرانتز با توجه به DEC Fortran، پارامترهای تعریف شده توسط این فرم
از بیانیه نوع داده خود را با نوع داده مقدار داده شده است
اختصاص داده. از این گزینه برای گفتن استفاده کنید ftnchek از این قاعده پیروی نکنید اما
در عوض از همان قانون برای دستورات استاندارد PARAMETER استفاده کنید. این
گزینه برای دستورات PARAMETER فرم استاندارد اعمال نمی شود.

به‌طور پیش‌فرض، همه این گزینه‌های کد منبع غیرفعال هستند، به جز گزینه
vms-include گزینه ای که به طور پیش فرض در نسخه VMS روشن است..

همچنین نگاه کنید به: -f77, -عبارتند از, -قابلیت حمل.

-style=فهرست
هشدارهای دقیقی در مورد برنامه های منسوخ یا قدیمی ارائه می دهد
ساخت و سازها این گزینه برای تلاش برای دنبال کردن یک برنامه نویسی مدرن مفید است
سبک. (بیشتر مواردی که تحت این گزینه مورد شکایت قرار می گیرند، در آن ممنوع است
F زیرمجموعه زبان.) By پیش فرض، تمام هشدارها هستند تبدیل خاموش

La فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. سه تا هستند
کلمات کلیدی خاص: تمام برای روشن کردن همه گزینه ها، هیچ برای خاموش کردن همه آنها، و
کمک برای چاپ لیست تمام کلمات کلیدی با توضیح مختصری در مورد هر کدام. اگر
فهرست حذف شده است، سبک برابر است با -style=همهو -نواستایل برابر است با
-style=هیچکدام. کلمات کلیدی هشدار به همراه معانی آنها به شرح زیر است:

بلوک اگر:
از عبارت IF حسابی شکایت کنید. بلوک IF یا منطقی IF (که
یک عبارت واحد را کنترل می کند).

نام سازنده:
از ساختارهای بلوک بدون نام شکایت کنید: IF، DO، و SELECT CASE. توجه داشته باشید که
اگر نام ساختاری در دستور ابتدایی یک ساختار وجود داشته باشد، آنگاه
لازم است در تمام عبارات مؤلفه دیگر وجود داشته باشد (ELSE، END IF،
و غیره) سازه. در آن صورت یک نام ساختار گم شده در آن ها
دستورات بدون توجه به این گزینه یک خطای نحوی ایجاد می کند. هدف
از این گزینه برای هشدار دادن در صورتی است که ساختار کاملاً گزینه اختیاری را ندارد
نام.

متمایز انجام:
اگر دو حلقه DO یک عبارت پایان دهنده مشترک دارند، شکایت کنید.

انجام ساختن:
اگر پایان دهنده یک حلقه DO چیزی غیر از END DO یا است، شکایت کنید
ادامه بیانیه این لازمه برای برآورده شدن حلقه است
تعریف فرترن 90 از do-construct.

انجام دادن:
اگر پایان دهنده یک حلقه DO چیزی غیر از یک END DO است، شکایت کنید
بیانیه. (این گزینه را لغو می کند انجام ساختن گزینه، یکنواخت بودن
سخت تر.)

نام پایانی:
از نبود نام زیربرنامه در END ساختاریافته شکایت کنید
بیانیه.

format-stmt:
از وجود عبارات FORMAT شکایت کنید. فقط عبارات FORMAT
خودشان پرچم گذاری می شوند، نه ارجاع به آنها در لیست های ورودی/خروجی.

رفتن به: از وجود GOTO بدون قید و شرط، محاسبه شده یا اختصاص داده شده شکایت کنید
بیانیه. همچنین از بازده های جایگزین شکایت کنید (اما نه در مورد برچسب ها به عنوان
آرگومان های زیربرنامه).

با برچسب-stmt:
شکایت از وجود برچسب (اعداد) در اظهارات غیر از
بیانیه های FORMAT. (از آنجایی که عبارات FORMAT مسلماً راحت هستند و نیستند
به راحتی مورد سوء استفاده قرار می گیرد، شکایات در مورد آنها توسط مجزا کنترل می شود
format-stmt کلمه کلیدی.)

program-stmt:
از نبود بیانیه PROGRAM در راس اصلی شکایت کنید
برنامه است.

ساختار یافته:
در مورد استفاده از عبارت END ساده برای پایان دادن به یک برنامه فرعی، شکایت کنید
از یک دستور END ساخت یافته (END PROGRAM، END SubROUTINE، END FUNCTION،
یا END BLOCK DATA).

همچنین نگاه کنید به: -f77, -f90, -f95, -بسیار, -قابلیت حمل.

-symtab
یک جدول نماد برای هر ماژول چاپ می شود که همه شناسه ها را فهرست می کند
در ماژول ذکر شده است. این جدول نام هر متغیر، نوع داده آن را می دهد.
و تعداد ابعاد آرایه ها. ستاره (*) نشان می دهد که
متغیر به جای نامگذاری در یک نوع صریح به طور ضمنی تایپ شده است
بیانیه اعلامیه جدول همچنین تمام زیربرنامه های فراخوانی شده توسط ماژول را فهرست می کند.
همه بلوک های COMMON اعلام شده و غیره. پیش فرض = خیر.

همچنین برای هر ماژول یک جدول لیبل چاپ خواهد شد. جدول هر برچسب را فهرست می کند
تعریف شده در ماژول؛ خطی که برچسب عبارت گفته شده روی آن تعریف شده است. و
نوع بیانیه (قابل اجرا، قالب یا مشخصات). برچسب ها در فهرست شده اند
ترتیب ترتیبی

همچنین جدولی چاپ شده است که واحدهای ورودی/خروجی استفاده شده توسط ماژول را به همراه توصیف می کند
اطلاعات در مورد نحوه استفاده از آنها: چه عملیاتی انجام می شود، آیا
دسترسی متوالی یا مستقیم است، و اینکه آیا I/O فرمت شده است یا بدون قالب.

همچنین نگاه کنید به: -کالتری, -صفحه متقاطع, فهرست, -مرجع, -مرتب سازی, -vcg.

- بریدن =فهرست
در مورد خطاهای احتمالی کوتاه کردن (یا دور زدن) هشدار دهید. بیشتر اینها مربوط به
حسابی اعداد صحیح به طور پیش فرض، همه هشدارها روشن هستند.

این تنظیم کنترل دقیقی بر هشدارهای مربوط به کوتاه شدن احتمالی فراهم می کند
خطاها در فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. از آنجایی که همه
هشدارها به طور پیش فرض روشن هستند، شامل یک کلمه کلیدی با پیشوند توسط نه- برای خاموش کردن a
هشدار خاص سه کلمه کلیدی خاص وجود دارد: تمام برای روشن کردن همه
هشدار در مورد کوتاه کردن، هیچ برای خاموش کردن همه آنها، و کمک برای چاپ لیست
تمامی کلمات کلیدی با توضیح مختصری در مورد هر کدام. اگر فهرست حذف شده است، - بریدن
برابر است با -truncation=همهو -نداشتن برابر است با
-truncation=هیچکدام. کلمات کلیدی هشدار به همراه معانی آنها به شرح زیر است:

int-div-exponent:
استفاده از نتیجه تقسیم اعداد صحیح به عنوان توان. این نشان می دهد که الف
ضریب واقعی در نظر گرفته شده است. یک مثال نوشتن X**(1/3) برای ارزیابی است
ریشه مکعب X. عبارت صحیح X**(1./3.) است.

int-div-real:
تبدیل یک عبارت شامل یک تقسیم عدد صحیح به واقعی. این
نشان می دهد که یک ضریب واقعی در نظر گرفته شده است.

int-div-zero:
تقسیم در یک عبارت ثابت عدد صحیح که نتیجه صفر را به دست می دهد.

قدرت درونی منفی:
توان یک عدد صحیح با یک عدد صحیح منفی (که صفر می دهد مگر اینکه
عدد صحیح پایه قدر 1 است). این نشان می دهد که یک پایگاه واقعی است
مورد نظر.

ترویج:
تبدیل خودکار کمیت با دقت کمتر به مقدار بالاتر
دقت، درستی. از دست دادن دقت برای متغیرهای واقعی در این فرآیند است
قابل مقایسه با تنزل رتبه مربوطه هیچ اخطاری برای ارتقا داده نمی شود
از مقادیر صحیح به واقعی چون این معمولاً دقیق است.

شاخص واقعی:
استفاده از یک شاخص DO غیر صحیح در یک حلقه با کران های عدد صحیح. یک عدد صحیح DO
ایندکس با کران واقعی همیشه بدون توجه به این تنظیم هشدار داده می شود.

زیرنویس واقعی:
استفاده از زیرنویس آرایه غیر صحیح

ارقام قابل توجه:
تعیین بیش از حد یک ثابت دقیق. این ممکن است نشان دهد که دو
ثابت دقت در نظر گرفته شده بود.

کاهش اندازه:
تبدیل خودکار کمیت با دقت بالاتر به مقدار با دقت پایین تر
از همان نوع این اخطار فقط زمانی رخ می دهد که از یک اندازه صریح استفاده شود
اعلان نوع یک یا هر دو عملوند در یک انتساب. به عنوان مثال، یک
زمانی که یک متغیر REAL*8 به یک متغیر REAL اختصاص داده شود، هشدار داده می شود.
اگر اندازه کلمات پیش فرض 4 در کار باشد. اخطار نیز صادر می شود اگر الف
عدد صحیح long به یک عدد کوتاه تر اختصاص داده می شود، برای مثال، اگر یک عدد صحیح باشد
عبارت به یک متغیر INTEGER*2 اختصاص داده می شود. یک استثنا وجود دارد
این مورد آخر، یعنی اگر سمت راست تکلیف کوچک باشد
ثابت تحت اللفظی (کمتر از 128). تنزل نوع: تبدیل خودکار a
مقدار دقت بالاتر به یکی از دقت کمتر از انواع مختلف. این
هشدار شامل تبدیل مقادیر واقعی به عدد صحیح با دقت مضاعف است
به تک دقیق واقعی، و انتساب یک رشته کاراکتر طولانی تر به a
کوتاه تر

هشدارهای مربوط به ترفیع و تنزل رتبه در مورد ثابت های پیچیده نیز اعمال می شود.
با در نظر گرفتن دقت قسمت واقعی یا خیالی. هشدارها در مورد
تبلیغات و تنزیل ها فقط زمانی انجام می شود که تبدیل به صورت خودکار انجام شود،
به عنوان مثال در عبارات با دقت ترکیبی یا در بیانیه انتساب. اگر ذاتی باشد
توابعی مانند INT برای انجام تبدیل استفاده می شود، هیچ هشداری داده نمی شود.

همچنین نگاه کنید به: -قابلیت حمل, -اندازه کلمه.

-usage=فهرست
اخطار در مورد متغیرهای استفاده نشده یا احتمالی بدون مقدار اولیه، بلوک های مشترک استفاده نشده،
برچسب های عبارت تعریف نشده یا استفاده نشده و زیربرنامه های استفاده نشده یا تعریف نشده. توسط
به طور پیش فرض، همه هشدارها روشن هستند.

این تنظیم کنترل دقیقی بر هشدارهای مربوط به استفاده احتمالی فراهم می کند
خطاها در فهرست شامل کلمات کلیدی است که با کاما یا دو نقطه از هم جدا شده اند. از آنجایی که همه
هشدارها به طور پیش فرض روشن هستند، شامل یک کلمه کلیدی با پیشوند توسط نه- برای خاموش کردن a
هشدار خاص سه کلمه کلیدی خاص وجود دارد: تمام برای روشن کردن همه
هشدار در مورد استفاده، هیچ برای خاموش کردن همه آنها، و کمک برای چاپ لیست همه
کلمات کلیدی با توضیح مختصری در مورد هر کدام. اگر فهرست حذف شده است، -استفاده is
معادل -usage=allو -نووساژ برابر است با -usage = هیچاست. اینها
هشدارها چهار دسته اصلی از اشیاء را پوشش می‌دهند: آرگومان‌های ساختگی زیربرنامه، مشترک
بلوک ها و متغیرها، زیربرنامه ها و توابع و متغیرهای محلی. هشدارها
شامل موارد تعریف نشده، ضرب موارد تعریف شده، موارد استفاده نشده، و غیره. هشدار
کلمات کلیدی به همراه معانی آنها به شرح زیر است:

arg-alias:
یک آرگومان ساختگی اسکالر در واقع همان آرگومان دیگر است و (یا ممکن است باشد)
اصلاح شده. استاندارد Fortran 77 (بخش 15.9.3.6) اصلاح یک
آرگومان دیگری که نام مستعار دارد.

arg-array-alias:
آرگومان ساختگی که یک آرایه یا عنصر آرایه است در همان آرایه است
دیگری و اصلاح شده است. این پرچم مشابه است arg-alias اما فراهم می کند
کنترل جداگانه روی آرگومان های آرایه تشخیص اینکه آیا نام مستعار است یا نه سخت تر است
در مورد آرایه ها اتفاق می افتد، بنابراین اگر ftnchek هشدارهای نادرست زیادی می دهد،
این پرچم اجازه می دهد تا آرایه های مرتبط بدون سرکوب خاموش شوند
هشدارها برای اسکالرها

arg-common-alias:
آرگومان ساختگی اسکالر همان متغیر رایج در زیربرنامه است،
و هر کدام اصلاح شده است. این نیز توسط استاندارد Fortran 77 ممنوع است.
اگر بررسی رایج دقیق نیست (به -مشترک تنظیم)، سخت تر است
بگویید آیا نام مستعار رخ می دهد، بنابراین در صورت وجود متغیر، هشدار داده می شود
در هر نقطه از یک بلوک مشترک که توسط زیربرنامه اعلام شده است.

arg-common-array-alias:
یک آرگومان ساختگی که یک آرایه یا عنصر آرایه است در همان آرایه a است
متغیر مشترک، و هر کدام اصلاح شده است. اگر بررسی رایج دقیق نباشد،
متغیر می تواند در هر جایی از یک بلوک مشترک باشد که توسط اعلان می شود
زیر برنامه

arg-const-modified:
یک زیربرنامه آرگومان ثابت یا یک عبارت را تغییر می دهد. چنین
یک عمل می تواند باعث رفتار غیرعادی برنامه شود.

arg-استفاده نشده:
یک آرگومان ساختگی اعلام می شود اما هرگز استفاده نمی شود. این شبیه به
var-استفاده نشده کلمه کلیدی که در زیر توضیح داده شده است، اما فقط برای آرگومان ها اعمال می شود.

com-block-unused:
یک بلوک مشترک اعلام شده است اما هیچ یک از متغیرهای موجود در آن توسط هیچ کدام استفاده نمی شود
زیر برنامه اگر تنظیم سختگیری رایج باشد، این هشدار سرکوب می شود
0.

com-block-volatile:
یک بلوک مشترک ممکن است تعریف محتویات خود را در صورت وجود بلوک های رایج از دست بدهد
فرار. این گزینه فقط در صورتی اثر دارد که -common= فرار پرچم در
اثر بحث را ببینید -مشترک تنظیم بالا

com-var-set-unused:
به یک متغیر مشترک یک مقدار اختصاص داده می شود، اما مقدار آن توسط هیچ کدام استفاده نمی شود
زیر برنامه اگر تنظیم سختگیری رایج باشد، این هشدار سرکوب می شود
0.

com-var-uninitialized:
مقدار یک متغیر مشترک در برخی از برنامه های فرعی استفاده می شود، اما تنظیم نشده است
هر جا. متاسفانه، ftnchek به اندازه کافی تجزیه و تحلیل کامل انجام نمی دهد
دنباله فراخوانی برای دانستن اینکه کدام روال قبل از دیگران فراخوانی می شوند. بنابراین
هشدار در مورد این نوع خطا فقط برای مواردی داده می شود که الف
متغیر در برخی از روال ها استفاده می شود اما در هیچ روال دیگری تنظیم نمی شود. چک کردن
تک تک متغیرهای COMMON تنها در صورتی انجام می شود که -مشترک تنظیم 3 است
(متغیر با توافق متغیر). در صورت رایج بودن این اخطار سرکوب می شود
تنظیم سختگیری 0 است.

com-var-unused:
یک متغیر مشترک اعلام شده است اما توسط هیچ زیربرنامه ای استفاده نمی شود. این هشدار
اگر تنظیم سختگیری رایج 0 باشد، سرکوب می شود.

do-index-modified:
متغیری که شاخص یک حلقه DO است توسط برخی دستورات اصلاح می شود
در محدوده حلقه استاندارد به متغیر DO فعال اجازه می دهد
فقط با مکانیسم افزایشی عبارت DO اصلاح شود.

ext-multiply-defined:
یک خارجی (یک زیر برنامه یا تابع) بیش از یک بار تعریف شده است. تعریف
یک خارجی به معنای ارائه متن کد منبع آن است.

فقط اعلام شده قبلی:
یک نام در یک عبارت EXTERNAL در برخی از ماژول ها اعلام می شود، اما اینطور نیست
تعریف شده یا در هر جایی استفاده می شود.

تعریف نشده:
یک خارجی استفاده می شود (فراخوانی می شود) اما در جایی تعریف نشده است. این گزینه است
معادل -خارجی پرچم. اگر زیربرنامه بیش از
یک بار، آن فراخوان ها همچنان از نظر سازگاری بررسی می شوند.

استفاده نشده:
خارجی تعریف شده است (بدنه زیربرنامه آن موجود است) اما استفاده نمی شود.
یک زیربرنامه بدون استفاده در نظر گرفته می شود حتی اگر توسط برنامه دیگری فراخوانی شود
زیربرنامه، در صورتی که نتوان آن را از هیچ رشته اجرایی که با آن شروع می شود فراخوانی کرد
برنامه اصلی موافقت استدلال های زیربرنامه با آن
حتی اگر این هشدار خاموش باشد، فراخوان ها همچنان بررسی می شود. اگر وجود دارد
بدون برنامه اصلی، پس این اخطار فقط در صورتی صادر می شود که زیربرنامه نباشد
در هر جایی احضار شده است. این هشدار در حالت کتابخانه، اما کتابخانه، سرکوب شده است
حالت اثر اضافی سرکوب کردن بررسی آرگومان برای استفاده نشده را دارد
کارهای روزمره.

برچسب تعریف نشده:
یک عبارت به برچسبی اشاره دارد که تعریف نشده است.

برچسب استفاده نشده:
یک برچسب عبارت تعریف شده است، اما هرگز به آن اشاره نمی شود.

var-set-unused:
به یک متغیر محلی یک مقدار اختصاص داده می شود، اما از آن مقدار استفاده نمی شود.

var-unitialized:
مقدار یک متغیر محلی ممکن است قبل از تخصیص استفاده شود. گاهی
ftnchek در هشدارهای مربوط به استفاده از متغیر محلی اشتباه می کند. معمولا
در مواردی که مشکلی وجود ندارد، اما در موارد نادر، هشدار می دهد
در مواردی ممکن است در جایی که مشکل وجود دارد هشدار ندهد. بخش مربوطه را ببینید
اشکالات برای مثال اگر متغیرها هم ارز هستند، قاعده استفاده شده توسط ftnchek
این است که ارجاع به هر متغیر دلالت بر همان ارجاع به همه دارد
متغیرهایی که معادل آن است. برای آرایه ها، قانون این است که ارجاع به
هر عنصر آرایه به عنوان یک مرجع به تمام عناصر آرایه در نظر گرفته می شود.

var-استفاده نشده:
یک متغیر محلی اعلام شده است (مثلاً در یک اعلان نوع) اما اینطور نیست
در ماژول استفاده شده است. در مورد استدلال های ساختگی صدق نمی کند: هشدارهایی در مورد آنها
توسط کلمه کلیدی کنترل می شوند arg-استفاده نشده در بالا توضیح داده شد.

توجه: در نسخه های ftnchek قبل از 2.10، -استفاده flag یک آرگومان عددی گرفت
به جای لیستی از گزینه ها به خاطر کاربرانی که ممکن است اسکریپت نوشته باشند
استناد ftnchek به این ترتیب، شکل عددی همچنان پذیرفته می شود. عددی
تنظیم از سه رقم تشکیل شده است. رقم اول (صدها مکان) کنترل می کند
هشدار در مورد زیربرنامه ها (توابع و برنامه های فرعی)، رقم دوم (ده ها
مکان) هشدارهای مربوط به بلوک های رایج و متغیرهای مشترک، و رقم سوم
هشدارهایی در مورد متغیرهای محلی. هر رقم هشدارها را کنترل می کند
طبق قراردادی که 1 به معنای هشدار در مورد موارد و متغیرهای تعریف نشده است
که قبل از تنظیم استفاده می شود، علامت 2 در مورد موارد استفاده نشده هشدار می دهد و 3 به معنی هشدار می دهد
در مورد هر دو نوع هشدار دهید. این اعداد اکنون به مقادیر مناسب تبدیل می شوند
برای کلمات کلیدی ذکر شده در بالا، به جز برای com-block-volatile، که تحت تأثیر قرار نمی گیرد
توسط آرگومان عددی

همچنین نگاه کنید به: -مشترک, -اعلام, -خارجی, -برخی.

-vcg
نمودار تماس را در قالب یک توضیح گراف VCG تولید کنید. این توصیف است
در یک فایل جداگانه، با همان ریشه فایل حاوی اصلی نوشته شده است
برنامه و پسوند vcg. این فایل را می توان به طور مستقیم به xvcg(1 لیتر) به
نمودار تماس را تجسم کنید (اگر ورودی از ورودی استاندارد باشد، نمودار
توضیحات به خروجی استاندارد ارسال می شود.) این سوئیچ معادل است
-calltree=vcg. پیش فرض = خیر

توضیحات VCG همانطور که ایجاد شده است پیچیده تر از آن چیزی است که لازم است. VCG اجازه می دهد تا نمودارها
و زیرگراف های تو در تو: هر زیربرنامه به عنوان یک زیرگراف تو در تو در داخل خود ایجاد می شود
روال های تماس این به شما امکان می دهد به صورت تعاملی زیرگراف ها را نمایش دهید یا خلاصه کنید
آنها.

La -vcg گزینه برای ftnchek توسط دکتر فیلیپ روبینی از کرانفیلد نوشته شده است
دانشگاه، انگلستان

xvcg یک ابزار تجسم گراف است که تحت سیستم ویندوز X اجرا می شود. این است
به صورت رایگان از ftp.cs.uni-sb.de در دسترس است. این توسط G. Sander نوشته شده است
دانشگاه زارلند آلمان

همچنین نگاه کنید به: -کالتری, -صفحه متقاطع, -مرجع, -مرتب سازی.

-version
این گزینه باعث می شود ftnchek برای چاپ خطی با شماره نسخه، تاریخ انتشار،
و سطح پچ برنامه اگر هیچ فایلی داده نشود، خارج می شود. اگر فایل ها
داده شده است، اثر این گزینه شامل سطح پچ (به طور معمول
حذف شده) در اطلاعات نسخه چاپ شده در شروع پردازش. پیش فرض =
نه.

همچنین نگاه کنید به: -کمک.

-فرار
فرض کنید بلوک های COMMON فرار هستند. پیش فرض = خیر

این پرچم جایگزین شده است -common= فرار، و دیگر نباید استفاده شود. ممکن است
در نسخه بعدی حذف شود ftnchek.

همچنین نگاه کنید به: -مشترک, -استفاده.

-wordsize=تعداد
اندازه پیش فرض کلمه را مشخص می کند تعداد بایت ها این اندازه منطقی و
متغیرهای عددی تک دقیقی که دقت صریحی به آنها داده نشده است.
(دقت های صریح برای متغیرهای غیر کاراکتری، توسعه ای برای Fortran 77 است.
استاندارد، و با اعلان‌های نوع مانند REAL*8 X داده می‌شوند.) دقت دوگانه
و متغیرهای مختلط دو برابر این مقدار و متغیرهای مختلط دو برابر چهار خواهند بود
بار. ثابت های چهارگانه دقیق و نتایج تابع ذاتی چهار برابر خواهد بود
این مقدار توجه داشته باشید که متغیرهای اعلام شده به عنوان REAL*16 به عنوان quad در نظر گرفته می شوند
دقت فقط در صورتی که اندازه کلمه 4 بایت باشد. پیش فرض = روشن کردن = 4 بایت.

مقدار اندازه کلمه برای بررسی برنامه های منطبق با استاندارد مهم نیست
دقت صریح را برای متغیرهای غیر کاراکتری اعلام نکنید یا Hollerith را ذخیره نکنید
داده ها در متغیرها این تنظیم همچنین بر اندازه پیش فرض کاراکتر تأثیر نمی گذارد
متغیرها که همیشه 1 بایت است. ثابت‌های هولریث نیز در نظر گرفته می‌شوند که اشغال می‌کنند
1 بایت در هر کاراکتر

کلمه اندازه برای تعیین اینکه آیا کوتاهی در انتساب رخ می دهد یا خیر استفاده می شود
عبارات، و برای گرفتن عدم تطابق دقیق در لیست آرگومان های زیربرنامه و
لیست های بلوک رایج اخطارهای دقیقی که صادر می شود به وضعیت بستگی دارد
از پرچم های دیگر زیر هر دو -قابلیت حمل = سایز مختلط و -nowordsize پرچم،
هرگونه اختلاط اشیاء صریح با دقیق پیش‌فرض (عبارات کاراکتر نیست
شامل) در مورد هشدار داده شده است. این در مورد عبارات حسابی که هر دو را شامل می شود صدق می کند
انواع اشیاء و آرگومان های زیربرنامه و متغیرهای COMMON. تحت کنترل
از - بریدن = تنزل دادن و ترویج گزینه ها، هشدار داده می شود
انتساب یک عبارت به یک متغیر کوتاهتر از همان نوع یا for
ارتقای یک مقدار دقت کمتر به دقت بالاتر در یک حساب
بیان یا بیانیه انتساب

دادن اندازه کلمه 0 یا معادل آن با استفاده از -nowordsize یعنی بدون پیش فرض
ارزش در نظر گرفته خواهد شد. این معادل مشخص کردن است -قابلیت حمل = سایز مختلط.
از آن برای یافتن موارد اختلاط پیش‌فرض و دقت صریح، به عنوان مثال برای پرچم‌گذاری استفاده کنید
مکان هایی که REAL*8 معادل دقت دو برابری در نظر گرفته می شود.

همچنین نگاه کنید به: نشانگر اندازه, -قابلیت حمل, - بریدن.

-wrap=گردنه
بسته بندی پیام های خطا را کنترل می کند. پیغام های خطایی طولانی که می گذرد
ستون مشخص شده به خطوط جداگانه بین کلمات the شکسته می شود
پیام برای خوانایی بهتر در صورت خاموش شدن با -nowrap، هر یک از خطاهای جداگانه
پیام در یک خط چاپ می‌شود و آن را به نمایشگر می‌گذارد تا آن را بپیچد
پیام دهید یا آن را کوتاه کنید. پیش فرض = روشن کردن = 79.

در حال تغییر L' پیش فرض ها


ftnchek شامل دو مکانیسم برای تغییر مقادیر پیش فرض همه گزینه ها است: توسط
تعریف متغیرهای محیطی یا با ایجاد یک فایل ترجیحی. چه زمانی ftnchek راه اندازی می شود،
در محیط خود به دنبال متغیرهایی می گردد که نام آنها با پیشوند ایجاد شده است
FTNCHEK_ را روی نسخه بزرگ نام گزینه قرار دهید. اگر چنین متغیری باشد
پیدا شد، مقدار آن برای تعیین پیش‌فرض سوئیچ یا تنظیمات مربوطه استفاده می‌شود.
در مورد تنظیمات (به عنوان مثال، -مشترک تنظیم سختی) مقدار
متغیر محیطی به عنوان مقدار تنظیم پیش فرض خوانده می شود. در مورد سوئیچ ها،
سوئیچ پیش فرض به عنوان درست یا بله در نظر گرفته می شود مگر اینکه متغیر محیطی دارای مقدار باشد
0 یا خیر

توجه داشته باشید که نام متغیر محیطی باید با گزینه full-length ساخته شود
نام، که باید با حروف بزرگ باشد. مثلا درست کردن ftnchek چاپ فهرست منبع توسط
به طور پیش فرض، متغیر محیطی FTNCHEK_LIST را روی 1 یا YES یا هر چیزی غیر از 0 یا
نه نام‌های FTNCHEK_LIS (نه نام کامل گزینه) یا ftnchek_list (حروف کوچک)
شناخته نشود

در اینجا چند نمونه از نحوه تنظیم متغیرهای محیطی در سیستم های مختلف آورده شده است. برای
سادگی، همه مثال ها پیش فرض را تنظیم می کنند فهرست به بله تغییر دهید

1. یونیکس، پوسته Bourne: $ FTNCHEK_LIST=YES
FTNCHEK_LIST را صادر کنید

2. UNIX, C shell: % setenv FTNCHEK_LIST بله

3. VAX/VMS: $ DEFINE FTNCHEK_LIST بله

4. MSDOS: $ SET FTNCHEK_LIST=YES

پس از پردازش هر متغیر محیطی، ftnchek به دنبال یک فایل ترجیحی می گردد
حاوی گزینه ها و تنظیمات با استفاده از فقط به ترتیب زیر جستجو می کند
اولین فایل پیدا شد: (1) .ftnchekrc در فهرست فعلی، (2) ftnchek.ini در حال حاضر
دایرکتوری، (3) .ftnchekrc در فهرست اصلی کاربر، (4) ftnchek.ini در خانه
فهرست راهنما. در صورت یافتن چنین فایلی، از گزینه های تعریف شده در آن به عنوان پیش فرض استفاده می شود
محل پیش‌فرض‌های داخلی و نادیده گرفتن هرگونه پیش‌فرض تنظیم‌شده در محیط..

هر گزینه یا تنظیمات در فایل تنظیمات باید در یک خط جداگانه باشد. داده می شوند
به همان شکل خط فرمان، به جز بدون خط تیره اولیه. ترجیحات
فایل می تواند حاوی خطوط خالی و نظرات باشد. نظرات در هر نقطه از یک خط معرفی می شوند
توسط یک کاراکتر فاصله (خالی یا برگه) یا کاراکتر '#'، و در پایان به پایان می رسند
خط

گزینه های خط فرمان، پیش فرض های تنظیم شده در محیط یا تنظیمات برگزیده را لغو می کنند
فایل، به همان روشی که پیش‌فرض‌های داخلی را لغو می‌کنند.

استفاده كردن پروژه فایل ها


این بخش حاوی اطلاعات دقیق در مورد نحوه استفاده مؤثرتر از فایل های پروژه است.
و چگونه می توان از برخی از دام ها جلوگیری کرد.

می توان چک ها را تقسیم کرد ftnchek به دو دسته محلی و جهانی تقسیم می شود. محلی
چک کردن به یک روال محدود می شود و مواردی مانند غیر اولیه را می گیرد
متغیرها، از دست دادن ناخواسته دقت در عبارات حسابی، و غیره
بررسی را می توان در هر زیربرنامه به طور مستقل انجام داد. علاوه بر این، بررسی محلی a
وقتی زیربرنامه دیگری تغییر می کند، نیازی به تکرار نیست. جهانی
بررسی مواردی مانند فراخوانی یک زیربرنامه با انواع آرگومان اشتباه یا
عدم توافق در اعلامیه های بلوک مشترک این نیاز به نگاه کردن به کل مجموعه دارد
زیربرنامه هایی که با یکدیگر تعامل دارند.

هدف فایل های پروژه این است که به مراحل بررسی محلی و بررسی سراسری اجازه دهند
جدا شود با فرض اینکه هر زیربرنامه در فایل منبع خودش باشد، می توانید اجرا کنید
ftnchek یک بار برای انجام بررسی محلی و در عین حال سرکوب بررسی سراسری. سپس
ftnchek می توان یک بار روی تمام فایل های پروژه با هم اجرا کرد تا بررسی سراسری انجام شود. در
نمونه ساخت فایل زیر نحوه خودکار کردن این کار را نشان می دهد. به روز رسانی هدف ".f.prj" a
فایل پروژه برای یک فایل خاص هر زمان که فایل منبع تغییر کند. اطلاعات
مورد نیاز برای بررسی سراسری در فایل پروژه ذخیره می شود. هدف "بررسی" این کار را انجام می دهد
بررسی ترکیبی جهانی به طور معمول، "بررسی کردن" "ftnchek -project" را تکرار می کند.
فقط روی فایل های منبع تغییر یافته گام بردارید، سپس بررسی سراسری را انجام دهید. این بدیهی است که بزرگ است
مزیت برای برنامه های بزرگ، زمانی که بسیاری از زیربرنامه ها به ندرت تغییر می کنند.

بهتر است هنگام استفاده از فایل های پروژه، هر زیربرنامه را در یک فایل منبع جداگانه قرار دهید.
اگر هر فایل منبع ممکن است حاوی بیش از یک زیربرنامه باشد، تعریف را پیچیده می کند
بررسی "محلی" و "جهانی" زیرا برخی از بررسی های بین ماژول وجود دارد
موجود در یک فایل ftnchek سعی می کند در این مورد کار درست را انجام دهد، اما وجود دارد
برخی از عوارض (زیر توضیح داده شده) به دلیل مبادله بین اجتناب از انجام مجدد متقاطع
بررسی و حفظ اطلاعات مربوط به ساختار برنامه.

معمولاً برای انجام کمترین میزان بررسی مجدد، فایل های پروژه باید با آن ساخته شوند
la -برخی پرچم در حال اجرا و پیرایش روشن است. در این حالت، اطلاعات ذخیره می شود
در فایل پروژه شامل تمام اعلان های زیربرنامه، همه فراخوان های زیربرنامه است
با اعلان های موجود در یک فایل و یک نمونه از هر بلوک COMMON حل نمی شود
اعلام. این حداقل مقدار اطلاعات مورد نیاز برای بررسی توافق بین است
فایل های.

اگر فایل منبع حاوی بیش از یک روال باشد، مشکلات احتمالی وجود دارد که
می تواند از ایجاد فایل پروژه در حالت کتابخانه ناشی شود، زیرا سلسله مراتب فراخوانی
در بین روتین های تعریف شده در فایل گم می شود. همچنین، اگر روال های موجود در فایل را انجام دهند
استفاده از بلوک های COMMON که با روتین ها در فایل های دیگر به اشتراک گذاشته شده اند، وجود نخواهد داشت
اطلاعات کافی برای بررسی صحیح وضعیت تنظیم و استفاده بلوک های COMMON ذخیره شده است
و متغیرهای COMMON با توجه به -استفاده تنظیمات. بنابراین اگر قصد استفاده دارید
فایل های پروژه وقتی -استفاده بررسی روشن است (که وضعیت پیش فرض است)، و اگر
چندین روال در یک فایل پروژه بلوک های مشترک را با روال های موجود در فایل های دیگر به اشتراک می گذارند،
فایل های پروژه باید با -برخی پرچم خاموش شد در این حالت،
ftnchek علاوه بر اطلاعات ذکر شده در بالا، یک فراخوانی از هر زیربرنامه را ذخیره می کند
هر زیربرنامه دیگری در همان فایل، و همه اعلامیه های بلوک COMMON. این به این معنی است که
فایل پروژه بزرگتر از حد لازم خواهد بود، و زمانی که در آن خوانده شود، ftnchek ممکن است
برخی از بررسی های بین ماژول را که قبلاً هنگام ایجاد فایل پروژه انجام داده بود، تکرار کنید. اگر
هر فایل پروژه فقط شامل یک ماژول است، هیچ گونه از دست دادن اطلاعات در ایجاد وجود ندارد
فایل های پروژه در حالت کتابخانه

به دلیل از دست دادن احتمالی اطلاعات ناشی از ایجاد یک فایل پروژه با
-برخی flag در عمل، هر زمان که فایل پروژه بعدا خوانده شود، با آن برخورد خواهد شد
به عنوان یک فایل کتابخانه بدون توجه به تنظیمات فعلی -برخی پرچم. از سوی دیگر
دست، یک فایل پروژه ایجاد شده با حالت کتابخانه خاموش می تواند در بعد در هر دو خوانده شود
حالت.

بحث فوق فرض می کند که گزینه های پیرایش از پروژه تنظیم هستند
هنگام ایجاد فایل پروژه روشن می شود. این وضعیت عادی است. در بدون تریم
گزینه های پروژه در صورتی که کسی بخواهد از فایل های پروژه استفاده کند، تنظیمات ارائه شده است
برای اهدافی غیر از بررسی برنامه با ftnchek. به عنوان مثال، می توان نوشت
یک اسکریپت پرل برای تجزیه و تحلیل فایل های پروژه برای اطلاعات در مورد چگونگی متفاوت
زیر برنامه ها نامیده می شوند. شما نباید استفاده کنید بدون تریم گزینه هایی برای مقابله با مسائل
از دست دادن اطلاعات در بالا مورد بحث قرار گرفت، زیرا آنها باعث اطلاعات بیشتر از حد لازم می شوند
ذخیره شده است. این باعث می‌شود فایل‌های پروژه بزرگ‌تر شوند و باعث شوند ftnchek برای انجام کارهای بیشتر بعداً
آنها را می خواند تا برنامه کامل شما را بررسی کند. به طور معمول، شما باید استفاده کنید -برخی
گزینه ای برای کنترل میزان اطلاعات ذخیره شده برای استفاده بعدی ftnchek در بررسی شما
برنامه است.

در اینجا مثالی از نحوه استفاده از یونیکس آورده شده است ساخت ابزاری برای ایجاد خودکار جدید
فایل پروژه هر بار که فایل منبع مربوطه تغییر می‌کند، و مجموعه آن را بررسی کنید
فایل ها برای سازگاری این خطوط را به میکفایل خود اضافه کنید. در مثال فرض می شود که الف
ماکرو OBJS تعریف شده است که تمام نام فایل های شی را که باید پیوند داده شوند را فهرست می کند
با هم یک برنامه اجرایی کامل را تشکیل می دهند. (در این فایل میک، خطوط فرورفته
هر کدام باید با یک برگه شروع شوند، نه خالی.) اگر فایل منبع حاوی چندین روال باشد
که بلوک های مشترک را بین خود به اشتراک می گذارند، سپس گزینه no-com-\* باید حذف شود
از NOGLOBAL، و/یا پرچم کتابخانه را رها کنید.
# بگو پسوند فایل پروژه چیست
پسوندها: .prj

# این گزینه ها چک های سراسری را سرکوب می کنند.
NOGLOBAL=-usage=no-ext-undefined,no-com-\*

# به make بگویید چگونه یک فایل .prj را از یک فایل f. ایجاد کنیم
.f.prj:
ftnchek -project $(NOGLOBAL) -کتابخانه $

# PRJS ماکرو حاوی نام فایل های پروژه را راه اندازی کنید
PRJS= $(OBJS:.o=.prj)

# "make check" همه چیزهایی را که تغییر کرده است بررسی می کند.
چک: $(PRJS)
ftnchek $(PRJS)

هنگامی که یک برنامه از روال های زیادی استفاده می کند که در تعداد زیادی فایل منبع مختلف تعریف شده اند
دایرکتوری های مختلف، مشخص کردن همه فایل های مختلف پروژه می تواند دشوار باشد
برای بررسی صحیح برنامه مورد نیاز است. برای مقابله با چنین مواردی، ftnchek پروژه اجازه می دهد
فایل هایی که باید در یک فایل بزرگ ادغام شوند. سپس می توان این فایل واحد را به آن داد
ftnchek برای ارائه اطلاعات برای بررسی استفاده از هر یک یا همه روال ها
در فایل های پروژه ترکیبی تعریف شده است. هنگام استفاده از چنین فایل پروژه "کتابخانه"، شما
ممکن است بخواهند ftnchek's خطا گزارش می دهد تا دقیقاً نام فایلی که در آن وجود دارد را مستند کند
تابع خاصی تعریف شده است. اگر فایل های منبع مختلف در چندین دایرکتوری هستند، یک
گزارش خطایی که فقط نام فایل را می دهد ممکن است مبهم باشد و باید شامل آن باشد
مسیر فایل راه حل این است که هر یک از فایل های پروژه جداگانه ایجاد کنید
دادن مسیر کامل به فایل منبع سپس این مسیر کامل در قسمت ظاهر می شود
گزارش های خطا برای مثال، فرض کنید که همه فایل‌های منبع زیربرنامه کتابخانه هستند
در زیر شاخه های یک دایرکتوری به نام /util/lib. سپس فایل های پروژه فردی می توانند
ابتدا با دستوری مانند
find /util/lib -name '*.f' -exec ftnchek -project '{}' ';'
(احتمالاً گزینه های دیگری ارائه می شود ftnchek همانطور که در بالا بحث شد. همچنین این مرحله
به جای آن می‌توان با یک قانون اصلاح شده makefile که منبع کامل را ارائه می‌کند، مدیریت کرد
مسیر فایل به جای فقط نام محلی هنگام فراخوانی ftnchek.) سپس، همه را به هم متصل کنید
این فایل های پروژه به صورت دستی
/util/lib -name '*.prj' -exec cat '{}' ';' > ourlib.prj
سپس یک فایل منبع برنامه را می توان با استفاده از دستور بررسی کرد
ftnchek prog.f ... -lib ourlib.prj
و یک پیغام خطا مربوط به هر روال کتابخانه شامل مسیر کامل به
فایل منبع روتین

در حال حاضر، هیچ ابزار بایگانی مانند وجود ندارد ar برای مدیریت محتویات یک پیوست
فایل پروژه مانند تصویر بالا. اگر تغییراتی در یکی از
روتین های کتابخانه، تنها راه برای به روز رسانی فایل های پروژه ترکیبی، به هم پیوستن همه است
یک بار دیگر فایل های پروژه فردی نوشتن چنین ابزاری بسیار آسان است.
کسی باید این کار را انجام دهد و به آن کمک کند ftnchek تلاش.

AN مثال


برنامه ساده فرترن زیر پیام های داده شده توسط را نشان می دهد ftnchek.
برنامه برای پذیرش مجموعه ای از نمرات آزمون و سپس محاسبه میانگین برای آن در نظر گرفته شده است
سری.

C نویسندگان: مایک مایرز و لوسیا اسپاگنوئولو
تاریخ C: 8 مه 1989

متغیرهای C:
C SCORE -> آرایه ای از نمرات آزمون
C SUM -> مجموع نمرات آزمون
C COUNT -> شمارنده نمرات خوانده شده در
CI -> حلقه شمارنده

COMPAV تابع واقعی (نمره، تعداد)
جمع صحیح، COUNT، ج،SCORE(5)

30 I = 1، COUNT را انجام دهید
SUM = SUM + SCORE (I)
30 ادامه دهید
COMPAV = SUM/COUNT
END

برنامه AVENUM
C
C برنامه اصلی
C
C نویسنده: لویس بیگی
تاریخ C: 15 مه 1990
C
متغیرهای C:
C MAXNOS -> حداکثر تعداد مقادیر ورودی
C NUMS -> آرایه ای از اعداد
C COUNT -> تعداد دقیق مقادیر ورودی
C AVG -> میانگین برگردانده شده توسط COMPAV
CI -> حلقه شمارنده
C

PARAMETER(MAXNOS=5)
INTEGER I، COUNT
REAL NUMS (MAXNOS)، AVG
COUNT = 0
DO 80 I = 1,MAXNOS
READ (5,*,END=100) NUMS(I)
COUNT = COUNT + 1
80 ادامه دهید
100 AVG = COMPAV (NUMS، COUNT)
END

هنگام کامپایل شدن این برنامه، کامپایلر هیچ پیام خطایی نمی دهد. با این حال اینجا چیست
هنگام اجرا اتفاق می افتد:

میانگین اجرای دلار
70
90
85

$

چی شد؟ چرا برنامه کاری انجام نداد؟ در زیر خروجی از
ftnchek زمانی که برای اشکال زدایی برنامه فوق استفاده می شود:

$ ftnchek -list -symtab میانگین

FTNCHEK نسخه 3.3 نوامبر 2004

فایل average.f:

1 C نویسندگان: MIKE MYERS و LUCIA SPAGNUOLO
2 C تاریخ: 8 مه 1989
3
4 متغیر C:
5 C SCORE -> مجموعه ای از نمرات آزمون
6 C SUM -> مجموع نمرات آزمون
7 C COUNT -> شمارنده نمرات خوانده شده در
8 CI -> حلقه شمارنده
9
10 COMPAV تابع واقعی (امتیاز، تعداد)
11 جمع صحیح، COUNT، ج،SCORE(5)
12
13 DO 30 I = 1, COUNT
14 SUM = SUM + SCORE(I)
15 30 ادامه
16 COMPAV = SUM/COUNT
^
هشدار نزدیک به خط 16، ستون 20: ضریب عدد صحیح expr SUM/COUNT تبدیل به
واقعی
17 پایان

ماژول COMPAV: تابع: واقعی

متغیرها:

نوع نام Dims نوع نام Dims نوع نام Dims نوع نام Dims
COMPAV واقعی COUNT intg I intg* J intg
SCORE intg 1 SUM intg

* متغیر اعلام نشده است. نوع به طور ضمنی تعریف شده است.

هشدار در ماژول COMPAV: متغیرهای اعلام شده اما هرگز ارجاع داده نشده اند:
J در خط 11 اعلام شد

هشدار در ماژول COMPAV: متغیرها ممکن است قبل از تنظیم استفاده شوند:
SUM در خط 14 استفاده شده است
SUM در خط 14 تنظیم شده است

برچسب های بیانیه تعریف شده:

Label Line StmtType
<30> 15 اجرایی

18
19
20 PROGRAM AVENUM
21 C
22 C برنامه اصلی
23 C
24 C نویسنده: لویس بیگی
25 C تاریخ: 15 مه 1990
26 C
27 متغیر C:
28 C MAXNOS -> حداکثر تعداد مقادیر ورودی
29 C NUMS -> آرایه ای از اعداد
30 C COUNT -> تعداد دقیق مقادیر ورودی
31 C AVG -> میانگین برگردانده شده توسط COMPAV
32 CI -> حلقه شمارنده
33 C
34
35 PARAMETER(MAXNOS=5)
36 عدد صحیح I، COUNT
37 REAL NUMS (MAXNOS)، AVG
38 COUNT = 0
39 DO 80 I = 1,MAXNOS
40 READ (5,*,END=100) NUMS(I)
41 COUNT = COUNT + 1
42 80 ادامه
43 100 AVG = COMPAV (NUMS، COUNT)
44 پایان

ماژول AVENUM: prog

زیربرنامه های خارجی ارجاع شده:

COMPAV: واقعی*

متغیرها:

نوع نام Dims نوع نام Dims نوع نام Dims نوع نام Dims
AVG واقعی COUNT intg I intg MAXNOS intg*
NUMS واقعی 1

* متغیر اعلام نشده است. نوع به طور ضمنی تعریف شده است.

هشدار در ماژول AVENUM: متغیرها تنظیم شده اند اما هرگز استفاده نشده اند:
AVG در خط 43 تنظیم شده است

عملیات I/O:

شماره واحد شناسه واحد. خط عملیات فرم دسترسی
5 SEQ FMTD READ 40

برچسب های بیانیه تعریف شده:

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

0 خطای نحوی در فایل average.f شناسایی شد
6 اخطار در فایل average.f

هشدار: عدم تطابق نوع داده آرگومان فرعی COMPAV در موقعیت 1:
SCORE ساختگی arg در ماژول COMPAV خط 10 فایل average.f از نوع intg است
arg NUMS واقعی در ماژول AVENUM خط 43 فایل average.f از نوع real است

مطابق با ftnchek، برنامه حاوی متغیرهایی است که ممکن است قبل از آنها استفاده شوند
یک مقدار اولیه و متغیرهایی که مورد نیاز نیستند اختصاص داده شده است. ftnchek همچنین هشدار می دهد
کاربر که یک ضریب عدد صحیح به واقعی تبدیل شده است. این ممکن است به کاربر کمک کند
گرفتن یک خطای گردآوری ناخواسته از آنجا که -symtab پرچم داده شد، ftnchek چاپ
یک جدول حاوی شناسه های ماژول محلی و نوع داده مربوط به آنها را تهیه کنید
و تعداد ابعاد سرانجام، ftnchek هشدار می دهد که تابع COMPAV استفاده نمی شود
با نوع مناسب آرگومان ها

با ftnchekبه کمک ما می توانیم برنامه را اشکال زدایی کنیم. می بینیم که موارد زیر وجود دارد
خطاها:

1. SUM و COUNT باید قبل از انجام تقسیم به واقعی تبدیل می شدند.

2. SUM باید قبل از ورود به حلقه به 0 مقداردهی شده باشد.

3. AVG پس از محاسبه هرگز چاپ نشد.

4. NUMS باید به جای REAL INTEGER اعلام می شد.

همچنین می‌بینیم که I، نه J، باید در تابع COMPAV، INTEGER اعلام می‌شد. همچنین،
MAXNOS به عنوان INTEGER و COMPAV به عنوان REAL در برنامه AVENUM اعلان نشد. اینها نیستند
اشتباهات، اما ممکن است نشان دهنده بی دقتی باشد. همانطور که اتفاق افتاد، نوع پیش فرض اینها بود
متغیرها با نوع مورد نظر منطبق بودند.

در اینجا برنامه اصلاح شده و خروجی آن هنگام اجرا آمده است:

C نویسندگان: مایک مایرز و لوسیا اسپاگنوئولو
تاریخ C: 8 مه 1989
C
متغیرهای C:
C SCORE -> آرایه ای از نمرات آزمون
C SUM -> مجموع نمرات آزمون
C COUNT -> شمارنده نمرات خوانده شده در
CI -> حلقه شمارنده
C
COMPAV تابع واقعی (نمره، تعداد)
جمع صحیح، COUNT، I،SCORE(5)
C
جمع = 0
30 I = 1، COUNT را انجام دهید
SUM = SUM + SCORE (I)
30 ادامه دهید
COMPAV = شناور (جمع)/FLOAT (COUNT)
END
C
C
برنامه AVENUM
C
C برنامه اصلی
C
C نویسنده: لویس بیگی
تاریخ C: 15 مه 1990
C
متغیرهای C:
C MAXNOS -> حداکثر تعداد مقادیر ورودی
C NUMS -> آرایه ای از اعداد
C COUNT -> تعداد دقیق مقادیر ورودی
C AVG -> میانگین برگردانده شده توسط COMPAV
CI -> حلقه شمارنده
C
C
MAXNOS صحیح
PARAMETER(MAXNOS=5)
INTEGER I، NUMS(MAXNOS)، COUNT
REAL AVG، COMPAV
COUNT = 0
DO 80 I = 1,MAXNOS
READ (5,*,END=100) NUMS(I)
COUNT = COUNT + 1
80 ادامه دهید
100 AVG = COMPAV (NUMS، COUNT)
WRITE(6,*) 'AVERAGE =',AVG
END
میانگین اجرای دلار
70
90
85

میانگین = 81.66666
$

با ftnchekبه کمک، برنامه ما موفقیت آمیز است!

تفسیر کردن L' OUTPUT


پیام های داده شده توسط ftnchek شامل نه تنها خطاهای نحوی بلکه هشدارها و
پیام های اطلاعاتی در مورد چیزهایی که Fortran قانونی هستند اما ممکن است نشان دهنده خطا یا خطا باشد
سهل انگاری - بی دقتی. اکثر این پیام ها را می توان با گزینه های خط فرمان خاموش کرد. کدام
گزینه کنترل هر پیام بستگی به ماهیت شرایطی دارد که در مورد آن هشدار داده شده است.
توضیحات پرچم های خط فرمان را در بخش های قبلی و در مورد فردی مشاهده کنید
پیام های زیر هر پیام با یک کلمه یا عبارت پیشوندی دارد که ماهیت آن را نشان می دهد
وضعیت و شدت آن

"خطا" به معنای یک خطای نحوی است. ساده ترین نوع خطاهای نحوی، تایپی هستند
خطاها، به عنوان مثال پرانتز نامتعادل یا غلط املایی یک کلمه کلیدی. این نوع از
خطا توسط تجزیه کننده تشخیص داده می شود و با توضیحات "خطای تجزیه" یا "syntax" ظاهر می شود.
خطا" (بسته به نسخه مولد تجزیه کننده و اینکه آیا آن GNU است گاومیش کوهان دار امریکایی or
UNIX yacc). این نوع پیام خطا را نمی توان سرکوب کرد. توجه داشته باشید که این نوع از
خطا اغلب به این معنی است ftnchek بیانیه ای که در آن خطا وجود دارد را به درستی تفسیر نکرده است
رخ می دهد، به طوری که عملیات بررسی بعدی آن به خطر می افتد. تو باید
قبل از شروع به تفسیر پیام های دیگر، تمام خطاهای نحوی را حذف کنید ftnchek
می دهد

"هشدار: نحو غیر استاندارد" یک افزونه برای Fortran را نشان می دهد که ftnchek پشتیبانی از
اما این مطابق استاندارد Fortran 77 نیست. پسوندهایی که ftnchek قبول می کند
در بخش افزونه ها در زیر توضیح داده شده است. یک مثال DO ... ENDDO است
ساخت و ساز. اگر برنامه ای از این پسوندها استفاده کند، اخطارهایی مطابق با آن داده می شود
مشخصات تحت -f77 تنظیمات. رفتار پیش فرض این است که هیچ هشداری ارائه نشود.

«هشدار» در موارد دیگر به معنای حالتی است که مشکوک است اما ممکن است باشد یا نباشد
یک خطای برنامه نویسی اغلب این شرایط تحت استاندارد قانونی هستند. برخی هستند
غیر قانونی است اما تحت عنوان خطاهای نحوی قرار نمی گیرند. خطاهای استفاده یک مثال است.
اینها به احتمال استفاده از یک متغیر قبل از تخصیص a اشاره دارند
مقدار (به طور کلی یک خطا)، یا اینکه یک متغیر اعلام شده است اما هرگز استفاده نمی شود (مضر نیست اما
ممکن است نشان دهنده بی احتیاطی باشد). مقدار بررسی برای خطاهای استفاده توسط کنترل می شود
-استفاده flag، که حداکثر مقدار بررسی را به طور پیش فرض مشخص می کند.

هشدارهای برش موقعیت هایی را پوشش می دهد که در آنها ممکن است به طور ناخواسته دقت از بین برود
به عنوان مثال زمانی که یک مقدار دقت مضاعف به یک متغیر واقعی اختصاص داده می شود. این هشدارها هستند
کنترل شده توسط - بریدن تنظیم، که به طور پیش فرض روشن است.

"استفاده غیر قابل حمل" در مورد برخی از ویژگی هایی که ممکن است توسط برخی از کامپایلرها پذیرفته نشود هشدار می دهد
حتی اگر مغایر با استاندارد Fortran 77 نباشد، یا ممکن است باعث ایجاد برنامه شود
برای اجرای متفاوت در پلتفرم های مختلف. به عنوان مثال، معادل سازی واقعی و
متغیرهای عدد صحیح معمولاً یک روش غیرقابل حمل است. استفاده از پسوندها به
زبان استاندارد، البته، منبع دیگری از غیرقابل حمل بودن است، اما به این صورت مدیریت می شود
یک مورد جداگانه برای بررسی یک برنامه برای قابلیت حمل واقعی، هر دو -قابلیت حمل و
-f77 باید از پرچم استفاده شود. هر دو به طور پیش فرض خاموش هستند. در -اندازه کلمه تنظیم است
فقط برای بررسی موارد استفاده غیرقابل حمل که به یک ماشین خاص بستگی دارد، ارائه شده است
واژه سازی

"ظاهر احتمالی گمراه کننده" برای ساخت و سازهای قانونی استفاده می شود که ممکن است معنایی نداشته باشد
به نظر می رسد که در نگاه اول معنی دارند. به عنوان مثال، فرترن به فضای خالی حساس نیست،
بنابراین فضای اضافی در نام متغیرها یا عدم وجود فاصله بین کلمه کلیدی و a
متغیر می تواند تصور اشتباهی را به خواننده منتقل کند. این پیام ها را می توان سرکوب کرد
با خاموش کردن -بسیار flag که به طور پیش فرض روشن است.

پیام های دیگری که پس از پردازش همه فایل ها داده می شود و مربوط به آن است
توافق بین ماژول ها، از کلمه "هشدار" استفاده نکنید اما به طور کلی در آن قرار می گیرید
دسته بندی. به عنوان مثال می توان به عدم تطابق نوع بین متغیرهای متناظر در موارد مختلف اشاره کرد
اعلان‌های بلوک متداول یا بین آرگومان‌های ساختگی و واقعی یک زیربرنامه. اینها
هشدارها توسط -مشترک و -استدلال ها تنظیمات به ترتیب به صورت پیش فرض
هر دو برای حداکثر شدت بررسی تنظیم شده اند.

گروه دیگری از هشدارها در مورد شرایطی که اغلب بی ضرر هستند به مواردی اشاره دارد که
خصوصیات آرایه متغیری که به عنوان آرگومان زیربرنامه ارسال می شود بین این دو متفاوت است
کارهای روزمره. به عنوان مثال، یک عنصر آرایه ممکن است به زیربرنامه ای ارسال شود که انتظار دارد a
کل آرایه این یک تکنیک رایج برای پردازش سطرها یا ستون‌های منفرد است
آرایه های دو بعدی با این حال، می تواند یک خطای برنامه نویسی را نیز نشان دهد. در -آرایه
تنظیمات به کاربر اجازه می‌دهد تا درجه سختی مورد استفاده در بررسی این مورد را تنظیم کند
نوعی توافق بین آرگومان های آرایه واقعی و ساختگی. به طور پیش فرض سختگیری است
بیشترین.

"اوه" یک مشکل فنی را نشان می دهد، به این معنی که یک اشکال وجود دارد ftnchek یا اینکه آن
از منابع فراتر رفته است.

پیام های خطای نحوی و هشدارها شامل نام فایل به همراه شماره خط و
شماره ستون ftnchek دو گزینه مختلف برای ظاهر این خطا دارد
پیام ها. اگر - تازه کار در واقع است، که پیش فرض است، پیام ها در یک سبک هستند
تقریب انگلیسی معمولی (در سبک پیش فرض، نام فایل در پیام ها چاپ نمی شود
در داخل بدنه برنامه اگر فهرست در حال اجرا است.) سبک دیگر پیام های خطا
انتخاب شده است - تازه کار گزینه. در این سبک ظاهر پیام ها می باشد
مشابه یونیکس خط برنامه است.

ftnchek هنوز نسبت به برخی از انواع خطاهای نحوی کور است. دو مورد از مهمترین آنها هستند
بررسی دقیق عبارات FORMAT، و تقریباً هر چیزی که به کنترل مربوط می شود
جریان اجرا با استفاده از دستورات IF، DO و GOTO: یعنی تودرتو صحیح کنترل
ساختارها، تطبیق عبارات آغازین مانند IF ... THEN با دستورات پایانی
مانند ENDIF، و استفاده مناسب از برچسب های دستورات (اعداد). اکثر کامپایلرها این کار را خواهند کرد
این خطاها را بگیرید برای بحث دقیق تر به بخش محدودیت ها مراجعه کنید.

If ftnchek در صورتی که کامپایلر این کار را نمی کند، یک پیام خطای نحوی به شما می دهد، ممکن است به این دلیل باشد
برنامه شما حاوی پسوندی برای Fortran استاندارد است که توسط کامپایلر پذیرفته شده است
اما نه توسط ftnchek. (به بخش افزونه ها مراجعه کنید.) در سیستم VAX/VMS، می توانید استفاده کنید
گزینه کامپایلر /STANDARD باعث می شود که کامپایلر فقط Fortran استاندارد را بپذیرد. بر
اکثر سیستم های یونیکس یا یونیکس مانند، این را می توان با تنظیم پرچم انجام داد -ansi.

بسیاری از پیام های داده شده توسط ftnchek خود توضیحی هستند. آنهایی که به مقداری نیاز دارند
توضیحات تکمیلی در زیر به ترتیب حروف الفبا ذکر شده است.

مشترک مسدود کردن نام: داده ها نوع عدم هماهنگی at موقعیت n
La n-ام متغیر در بلوک COMMON از نظر نوع داده به دو صورت متفاوت است
اعلامیه های بلوک COMMON به صورت پیش فرض (-مشترک سختگیری سطح 3) ftnchek
در مورد بلوک های COMMON بسیار حساس است: متغیرهای فهرست شده در آنها باید دقیقاً مطابقت داشته باشند
بر اساس نوع داده و ابعاد آرایه یعنی جفت قانونی اظهارنامه در
ماژول های مختلف:
مشترک /COM1/ A,B
و
مشترک /COM1/ A(2)
باعث خواهد شد ftnchek برای دادن هشدار در سطح سختگیری 3. این دو اعلامیه
در فرترن قانونی هستند زیرا هر دو دو متغیر واقعی را اعلام می کنند. در سخت گیری
سطح 1 یا 2، هیچ هشداری در این مثال داده نمی شود، اما هشدار داده می شود
به عنوان مثال، اگر نوع داده ناهماهنگی وجود داشته باشد، اگر B INTEGER اعلام شود، داده می شود.
کنترل شده توسط -مشترک تنظیم می باشد.

مشترک مسدود کردن نام است طولانی داده ها نوع پیروی کوتاه داده ها نوع
برخی از کامپایلرها به ترازبندی آیتم های چند بایتی نیاز دارند به طوری که هر آیتم با یک شروع شود
آدرسی که مضربی از اندازه مورد است. بنابراین اگر کوتاه (مثلاً تک
آیتم precision real) با یک آیتم طولانی (مثلا با دقت دو برابر واقعی) دنبال می شود
دومی ممکن است به درستی تراز نشده باشد. کنترل شده توسط -قابلیت حمل = همسویی مشترک
گزینه.

مشترک مسدود کردن نام است مخلوط شخصیت و غیر شخصیتی متغیرها
استاندارد ANSI ایجاب می کند که اگر هر متغیری در یک بلوک COMMON از نوع باشد
CHARACTER، سپس همه متغیرهای دیگر در همان بلوک COMMON نیز باید از نوع باشند
شخصیت. کنترل شده توسط -f77=مختلط-معمول گزینه.

مشترک مسدود کردن نام: متفاوت است طول
برای -مشترک با تنظیم سطح 2، این پیام به این معنی است که یک بلوک COMMON به اعلام شده است
تعداد کلمات متفاوتی در دو زیربرنامه متفاوت دارند. یک کلمه مقدار است
فضای ذخیره سازی اشغال شده توسط یک عدد صحیح یا متغیر واقعی. برای -مشترک تنظیم سطح 3،
به این معنی است که دو اعلان دارای تعداد متغیرهای متفاوتی هستند که در آن a
آرایه با هر اندازه ای یک متغیر در نظر گرفته می شود. این لزوما یک خطا نیست،
اما ممکن است نشان دهد که متغیری در یکی از لیست ها گم شده است. توجه داشته باشید که
طبق استاندارد Fortran 77، این یک خطا برای بلوک های نامگذاری شده COMMON است (اما
نه خالی COMMON) از نظر تعداد کلمات در اعلان ها در موارد مختلف متفاوت باشد
ماژول ها داده شده برای -مشترک تنظیم 2 یا 3

خطا: بد تشکیل منطقی / رابطه ای اپراتور or ثابت

خطا: بد تشکیل واقعی ثابت
تحلیلگر نحو شروع یکی از کلمات خاصی را پیدا کرده است که شروع و
با یک نقطه (به عنوان مثال .EQ.)، یا شروع یک ثابت عددی پایان می یابد، اما اینطور نیست
در یافتن یک مورد کامل از این نوع موفق شوید.

خطا: نمی توان be تنظیم پذیر اندازه in واحد نام
یک متغیر کاراکتری را نمی توان با اندازه ای که ستاره است اعلام کرد
پرانتز مگر اینکه یک آرگومان ساختگی، یک پارامتر یا نام تابع باشد
در ماژول تعریف شده است.

خطا: نمی توان be اظهار شده in صرفه جویی بیانیه in واحد نام
فقط متغیرهای محلی و بلوک های رایج را می توان در یک عبارت SAVE اعلام کرد.

خطا: نه مسیر به این بیانیه
ftnchek عباراتی را شناسایی می کند که نادیده گرفته می شوند یا از آن عبور می کنند زیرا وجود ندارد
مسیر قابل پیش بینی به بیانیه به عنوان مثال، یک عبارت بدون شماره (الف
بیانیه بدون برچسب بیانیه)، بلافاصله پس از بیانیه GOTO،
نمی توان اجرا کرد

خطا: تجزیه خطا
این بدان معنی است که تجزیه کننده که برنامه فرترن را به عبارات تجزیه و تحلیل می کند،
اظهارات و غیره نتوانسته است برای برخی از بخش ها تفسیر معتبری پیدا کند
بیانیه ای در برنامه اگر کامپایلر شما یک خطای نحوی را در
در همان مکان، رایج ترین توضیحات عبارتند از: (1) استفاده از یک پسوند به ANSI
Fortran استاندارد که توسط آن شناسایی نمی شود ftnchek، یا (2) بیانیه ایجاب می کند
بیشتر به آینده نگاه می کند ftnchek استفاده می کند (به بخش اشکالات مراجعه کنید).

توجه: این پیام به این معنی است که عبارت تحت تأثیر تفسیر نشده است.
بنابراین، این امکان وجود دارد که ftnchekپردازش بعدی خطا خواهد بود، اگر
بستگی به هر موضوعی دارد که تحت تأثیر این بیانیه قرار می گیرد (اعلامیه نوع و غیره).

خطا: نحو خطا
این همان «خطا: خطای تجزیه» است (به بالا مراجعه کنید). اگر شما تولید می شود
نسخه ftnchek با استفاده از یونیکس ساخته شد yacc مولد تجزیه کننده به جای گنو
گاومیش کوهان دار امریکایی.

شناسه که هستند نه منحصر به فرد in اول شش تانک ها
هشدار می دهد که دو شناسه که بیشتر از 6 کاراکتر هستند، تفاوتی با یکدیگر ندارند
6 کاراکتر اول این برای قابلیت حمل است: آنها ممکن است متمایز در نظر گرفته نشوند
توسط برخی از کامپایلرها کنترل شده توسط -sixchar گزینه.

غیر قابل حمل استفاده: استدلال دقت ممکن است نه be اصلاح برای ذاتی تابع
دقت آرگومان ارسال شده به یک تابع ذاتی ممکن است نادرست باشد
برخی از کامپیوترها زمانی صادر می شود که یک متغیر عددی با دقت صریح اعلام شود
(به عنوان مثال REAL*8 X) به یک تابع ذاتی خاص (به عنوان مثال DSQRT(X)) منتقل می شود.
کنترل شده توسط -قابلیت حمل = سایز مختلط و -اندازه کلمه.

غیر قابل حمل استفاده: شخصیت ثابت/متغیر طول بیش از 255
برخی از کامپایلرها از رشته های کاراکتری با طول بیش از 255 کاراکتر پشتیبانی نمی کنند.
کنترل شده توسط -قابلیت حمل = رشته طولانی.

غیر قابل حمل استفاده: پرونده شامل زبانه ها
ftnchek برگه ها را تا ستون بعدی که a برابر است، گسترش می دهد
مضرب 8. برخی از کامپایلرها با تب ها متفاوت رفتار می کنند و همچنین ممکن است که
فایل‌هایی که از طریق پست الکترونیکی ارسال می‌شوند، برگه‌ها را به نوعی به خالی تبدیل می‌کنند.
بنابراین فایل‌های حاوی برگه‌ها ممکن است پس از تبدیل شدن به درستی کامپایل نشوند
منتقل شده. ftnchek اگر برگه‌ها فقط در نظرات وجود داشته باشند، این پیام را نمی‌دهد
یا ثابت های کاراکتر کنترل شده توسط -قابلیت حمل = تب.

غیر قابل حمل استفاده: غیر صحیح DO حلقه مرزها
این اخطار فقط زمانی داده می شود که شاخص DO و کران ها غیر صحیح باشند. استفاده از
کمیت های غیر صحیح در یک دستور DO ممکن است باعث خطاهای غیرمنتظره یا متفاوت شوند
نتایج در ماشین های مختلف، به دلیل اثرات دور. کنترل شده توسط
-قابلیت حمل = انجام واقعی.

احتمالا it is an صف که بود نه اظهار شده
این پیام به اخطارهای مربوط به فراخوانی یک تابع یا به یک ضمیمه شده است
عدم تطابق نوع آرگومان، که این احتمال وجود دارد که آنچه به نظر می رسد a است
تابع در واقع یک آرایه است. اگر برنامه نویس فراموش کرد که بعد
یک آرایه، ارجاعات به آرایه به عنوان فراخوانی تابع تفسیر خواهند شد.
اگر نام مورد نظر در یک یا EXTERNAL ظاهر شود، این پیام سرکوب می‌شود
بیانیه ذاتی کنترل شده توسط - تازه کار گزینه.

احتمالا گمراه کننده ظاهر: کاراکتر گذشته 72 ستون ها
برنامه با عرض فیلد بیانیه در مقدار استاندارد خود در حال پردازش است
از 72، و برخی از نویسه های غیر خالی پس از ستون 72 یافت شده است. در این مورد،
ftnchek کاراکترهای گذشته از ستون 72 را پردازش نمی کند و به کاربر اطلاع می دهد
که این عبارت ممکن است معنایی را که به نظر می رسد نداشته باشد. اینها
ممکن است برنامه نویس در نظر داشته باشد که کاراکترها مهم باشند، اما اینطور خواهد بود
توسط کامپایلر نادیده گرفته شده است. کنترل شده توسط -pretty=خط بلند.

احتمالا گمراه کننده ظاهر: مشترک مسدود کردن اظهار شده in بیش نسبت به یک بیانیه
چنین اعلامیه های متعدد قانونی هستند و اثری مشابه ادامه آن دارند
اعلامیه اصلی بلوک این اخطار فقط در صورت این دو داده می شود
اعلامیه ها با یک یا چند بیانیه مداخله گر از هم جدا می شوند. کنترل شده توسط
-pretty=چند-مشترک.

احتمالا گمراه کننده ظاهر: ادامه به دنبال آن است توضیح or سفید خط
ftnchek این پیام اخطار را صادر می کند تا به کاربر هشدار دهد که ادامه a
بیانیه با نظرات در هم آمیخته است و نادیده گرفتن آن را آسان می کند. کنترل شده توسط
-pretty=ادامه.

احتمالا گمراه کننده ظاهر: خارجی پرانتز
در مورد پرانتزهایی که یک متغیر را به خودی خود در یک عبارت احاطه می کنند، هشدار می دهد. وقتی یک
متغیر پرانتز شده به عنوان یک آرگومان به یک برنامه فرعی ارسال می شود، به عنوان با آن رفتار می شود
یک عبارت، نه به عنوان یک متغیر که مقدار آن را می توان با روال فراخوانی شده تغییر داد.
کنترل شده توسط -pretty=پرانتز.

زیر برنامه نام: استدلال داده ها نوع عدم هماهنگی at موقعیت n
زیربرنامه n-امین آرگومان واقعی (در CALL یا استفاده از یک تابع)
در نوع داده یا دقت با آن متفاوت است n-امین آرگومان ساختگی (در SUBROUTINE یا
اعلان تابع). به عنوان مثال، اگر کاربر یک زیربرنامه را توسط
SUBROUTINE SUBA(X)
REAL X
و در جاهای دیگر SUBA توسط فراخوانی می کند
زنگ زدن SUBA(2)
ftnchek خطا را تشخیص خواهد داد. دلیلش این است که عدد 2 عدد صحیح است،
غیرواقعی. کاربر باید می نوشت
CALL SUBA (2.0)

هنگام بررسی یک آرگومان که یک برنامه فرعی است، ftnchek باید بتواند تعیین کند
چه یک تابع یا یک برنامه فرعی. قوانین استفاده شده توسط ftnchek برای انجام این کار هستند
به صورت زیر: اگر زیربرنامه علاوه بر اینکه به عنوان یک آرگومان واقعی ارسال می شود، نیز باشد
مستقیماً در جای دیگری در همان ماژول فراخوانی می شود، سپس نوع آن با آن مشخص می شود
استفاده اگر نه، پس اگر نام زیربرنامه به صورت واضح ظاهر نشود
اعلان نوع، فرض می شود که یک برنامه فرعی است. اگر صریحاً تایپ شده باشد همینطور است
به عنوان یک تابع گرفته شده است. بنابراین، زیربرنامه‌ها فقط به عنوان آرگومان‌های واقعی نیاز دارند
توسط یک عبارت EXTERNAL در ماژول فراخوانی اعلام شود، در حالی که توابع باید
همچنین برای جلوگیری از ایجاد این پیام خطا به صراحت تایپ شود.
کنترل شده توسط -استدلال ها تنظیم می باشد.

زیر برنامه نام: استدلال آرایه عدم هماهنگی at موقعیت n
مشابه وضعیت قبلی، اما آرگومان ساختگی زیربرنامه با آن متفاوت است
آرگومان واقعی مربوطه در تعداد ابعاد یا تعداد آن
عناصر. کنترل شده توسط -آرایه با -استدلال ها تنظیمات می پردازیم.

زیر برنامه نام: استدلال عدم هماهنگی at موقعیت n
یک آرگومان ساختگی کاراکتر بزرگتر از آرگومان واقعی مربوطه است، یا a
آرگومان ساختگی هولریث بزرگتر از آرگومان واقعی مربوطه است.
کنترل شده توسط -استدلال ها تنظیم می باشد.

زیر برنامه نام: استدلال استفاده عدم هماهنگی
ftnchek تعارض احتمالی بین روشی که یک زیربرنامه از آرگومان استفاده می کند را تشخیص می دهد
و روشی که در آن آرگومان به زیربرنامه ارائه می شود. درگیری می تواند
یکی از دو نوع باشد، همانطور که در زیر ذکر شده است.

ساختگی ارگ is اصلاح شده، واقعی ارگ is طراح or صادرات
آرگومان ساختگی آرگومانی است که در یک دستور SUBROUTINE یا FUNCTION و نامگذاری شده است
در زیر برنامه استفاده می شود. آرگومان واقعی آرگومانی است که به a منتقل شده است
زیر برنامه یا عملکرد توسط تماس گیرنده. ftnchek می گوید که یک استدلال ساختگی است
اصلاح شده توسط زیربرنامه، به این معنی که مقدار آن در فراخوانی تغییر می کند
مدول. آرگومان واقعی مربوطه نباید یک ثابت یا عبارت باشد،
بلکه یک متغیر یا عنصر آرایه است که می تواند به طور قانونی به آن اختصاص داده شود.
کنترل شده توسط -usage=arg-const-modified گزینه.

ساختگی ارگ استفاده قبل از تنظیم، واقعی ارگ نه تنظیم
در اینجا ممکن است یک آرگومان ساختگی در زیربرنامه قبل از تخصیص مقدار استفاده شود
به آن توسط زیربرنامه. آرگومان واقعی مربوطه باید یک مقدار داشته باشد
قبل از فراخوانی زیربرنامه توسط تماس گیرنده به آن اختصاص داده شده است. کنترل شده توسط
-usage=var-uninitialized گزینه.

این هشدار تحت تاثیر قرار نمی گیرد -استدلال ها تنظیم می باشد.

زیر برنامه نام استناد کرد ناسازگار
در اینجا عدم تطابق بین نوع داده خود زیربرنامه همانطور که استفاده می شود و as است
تعریف شده است. به عنوان مثال، اگر کاربر اعلام کند
تابع صحیح COUNT(A)
و COUNT را در ماژول دیگری به عنوان فراخوانی می کند
N = COUNT(A)
بدون اعلام نوع داده آن، بر اساس اولی، به طور پیش فرض به نوع واقعی تبدیل می شود
حرف اسمش ماژول فراخوان باید شامل اعلامیه باشد
عدد صحیح

داده شده برای -استدلال ها تنظیم 2 یا 3

زیر برنامه نام: متفاوت است طول استدلال لیست ها:
ناسازگاری بین تعداد آرگومان های ساختگی (پارامترها) پیدا شده است.
یک زیربرنامه و تعداد آرگومان های واقعی که در یک فراخوانی به آن داده شده است.
ftnchek همه فراخوانی های زیربرنامه ها را ردیابی می کند (عبارات CALL و
عبارات با استفاده از توابع) و آنها را با تعاریف مقایسه می کند
برنامه های فرعی در جای دیگر کد منبع. کامپایلر فرترن معمولا این کار را نمی کند
این نوع خطا را بگیرید داده شده برای -استدلال ها تنظیم 1 یا 3

متغیر نه اعلام کرد نوع است بوده ضمنی مشخص
هنگام چاپ جدول نمادها برای یک ماژول، ftnchek همه را با ستاره پرچم گذاری خواهد کرد
شناسه هایی که به صراحت تایپ نشده اند و نوع داده ای را که بوده نشان می دهند
از طریق تایپ ضمنی اختصاص داده شده است. این برای کاربرانی که مایلند پشتیبانی می کند
همه متغیرها را همانطور که در پاسکال یا برخی از زبان های دیگر لازم است، اعلام کنید. این
پیام تنها زمانی ظاهر می شود که -symtab گزینه در حال اجرا است متناوبا، استفاده کنید
-اعلام اگر می‌خواهید فهرستی از همه متغیرهای اعلام‌نشده را دریافت کنید، پرچم‌گذاری کنید.

متغیر اظهار شده اما هرگز اشاره کرد
هر شناسه ای را که در برنامه شما اعلام شده اما هرگز استفاده نشده است را شناسایی می کند.
یا به آنها یک مقدار اختصاص داده شود یا به مقدار آنها دسترسی پیدا شود. متغیرها در COMMON
مستثنی هستند. کنترل شده توسط -usage=var-unused گزینه.

متغیر تنظیم اما هرگز استفاده
ftnchek زمانی که به یک متغیر یک مقدار اختصاص داده شده است، به کاربر اطلاع می دهد
متغیر دیگر در برنامه استفاده نمی شود. معمولا این نتیجه از یک
نظارت. کنترل شده توسط -usage=var-set-unused گزینه.

متغیر استفاده قبل از تنظیم
این پیام نشان می دهد که یک شناسه برای محاسبه مقدار قبل از آن استفاده می شود
مقداردهی اولیه. چنین استفاده ای ممکن است منجر به محاسبه مقدار نادرست شود، زیرا
مقدار اولیه آن کنترل نمی شود. کنترل شده توسط -usage=var-uninitialized
گزینه.

متغیر ممکن است be استفاده قبل از تنظیم
مشابه قبل از تنظیم استفاده می شود به جز آن ftnchek قادر به تعیین وضعیت آن نیست
با اطمینان. ftnchek فرض می کند که اگر متغیر اول باشد، ممکن است قبل از تنظیم استفاده شود
استفاده از متغیر قبل از تخصیص آن در متن برنامه اتفاق می افتد.
کنترل شده توسط -usage=var-uninitialized گزینه.

هشدار: DO شاخص is نه عدد صحیح
این هشدار فقط زمانی داده می شود که کران های DO عدد صحیح باشند، اما شاخص DO اینطور نیست.
ممکن است نشان دهنده عدم موفقیت در اعلام ایندکس به عنوان یک عدد صحیح باشد. کنترل شده توسط
-truncation=واقعی گزینه.

هشدار: عدد صحیح عیار صادرات ... مبدل به واقعی
ضریب دو عدد صحیح منجر به یک عدد صحیح می شود که در آن عدد
قسمت کسری رها شده است. اگر چنین عبارت عدد صحیحی که شامل تقسیم است
بعداً به یک نوع داده واقعی تبدیل شد، ممکن است یک تقسیم نوع واقعی باشد
مورد نظر. کنترل شده توسط -truncation=int-div-real گزینه.

هشدار: عدد صحیح عیار صادرات ... استفاده in نماینده
ضریب دو عدد صحیح منجر به یک عدد صحیح می شود که در آن عدد
قسمت کسری رها شده است. اگر چنین عبارت عدد صحیحی به عنوان یک توان استفاده شود،
کاملا محتمل است که یک تقسیم نوع واقعی در نظر گرفته شده باشد. کنترل شده توسط
-truncation=int-div-exponent گزینه.

هشدار: نام نه تنظیم چه زمانی برگشت مواجه شده
روشی که توابع در فرترن یک مقدار را برمی گرداند با تخصیص مقدار به the است
نام تابع این پیام نشان می دهد که تابع a اختصاص داده نشده است
مقدار قبل از نقطه ای که عبارت RETURN پیدا شد. بنابراین چنین است
این امکان وجود دارد که تابع بتواند یک مقدار تعریف نشده برگرداند.

هشدار: غیر استاندارد نحو: تنظیم پذیر اندازه نمی توان be به هم پیوسته اینجا کلیک نمایید
استاندارد Fortran 77 (بخش 6.2.2) الحاق متغیرهای کاراکتر را ممنوع می کند.
که اندازه آن یک ستاره در داخل پرانتز است، به جز در یک عبارت انتساب.
کنترل شده توسط -f77=mixed-expr.

هشدار: غیر استاندارد نحو : قابل توجه کاراکتر گذشته 72 ستون ها
این هشدار تحت عنوان داده شده است -f77=خط بلند تنظیم اگر -ستون ها تنظیم دارد
برای افزایش عرض فیلد بیانیه استفاده شده است و یک عبارت معنادار است
متن برنامه فراتر از ستون 72. فرترن استاندارد تمام متن های آن ستون ها را نادیده می گیرد.
اما برخی از کامپایلرها این کار را نمی کنند. بنابراین ممکن است برنامه به طور متفاوتی توسط
کامپایلرهای مختلف

هشدار: غیر استاندارد نحو : بیانیه خارج of سفارش.
ftnchek عباراتی را که خارج از توالی مشخص شده برای ANSI هستند شناسایی می کند
استاندارد Fortran 77. جدول 1 توالی مجاز عبارات را نشان می دهد
زبان فرترن اظهاراتی که خارج از نظم هستند با این حال توسط تفسیر می شوند
ftnchek، برای جلوگیری از "آبشار" پیام های خطا. شمارنده سکانس نیز هست
برای جلوگیری از تکرار پیام خطا برای یک بلوک مشابه، به عقب برگشت
بیانیه. کنترل شده توسط -f77 = دستور- بیانیه گزینه.

-------------------------------------------------- ------
| | ضمنی
| پارامتر |---------------------
| | مشخصات دیگر
قالب |---------------|---------------------
و | | بیانیه-عملکرد
ورود | داده ها |--------------------
| | قابل اجرا
-------------------------------------------------- ------

جدول 1

هشدار: ممکن بخش by صفر
این پیام در هر کجا که تقسیم انجام شود چاپ می شود (به جز تقسیم بر a
مقدار ثابت). از آن برای کمک به تعیین محل تقسیم زمان اجرا بر مسئله صفر استفاده کنید. کنترل شده است
by -تقسیم گزینه.

هشدار: واقعی کوتاه شده به intg
ftnchek یک دستور انتساب را شناسایی کرده است که یک عبارت واقعی روی آن دارد
سمت راست، اما یک متغیر عدد صحیح در سمت چپ. بخش کسری از ارزش واقعی
گم خواهد شد. اگر به صراحت عبارت واقعی را با استفاده از عبارت به عدد صحیح تبدیل کنید
عملکرد ذاتی INT یا NINT، هیچ هشداری چاپ نخواهد شد. یک پیام مشابه است
اگر یک عبارت با دقت دوگانه به یک دقت اختصاص داده شود چاپ می شود
متغیر و غیره کنترل شده توسط - بریدن = تنزل دادن گزینه.

هشدار: اشتراک is نه عدد صحیح
از آنجایی که زیرنویس های آرایه معمولاً کمیت های صحیح هستند، استفاده از یک عدد غیر صحیح است
عبارت در اینجا ممکن است نشان دهنده یک خطا باشد. کنترل شده توسط -truncation = زیرنویس واقعی
گزینه.

هشدار: ناشناخته ذاتی تابع
این پیام به کاربر هشدار می دهد که یک نام اعلام شده در یک عبارت InTRINSIC است
ناشناخته به ftnchek. احتمالاً این یک تابع ذاتی غیر استاندارد است و بنابراین
برنامه قابل حمل نخواهد بود تابع توسط ftnchek به عنوان یک کاربر-
تابع تعریف شده این هشدار توسط هیچ گزینه ای سرکوب نمی شود، زیرا تأثیر می گذارد
ftnchekتحلیل برنامه با این حال، اگر تابع ذاتی در یکی از
مجموعه های پشتیبانی شده از ذاتی غیر استاندارد، شما می توانید استفاده کنید -ذاتی تنظیم به
سبب می شود ftnchek برای تشخیص آن

محدودیت ها و حرکات


ftnchek برنامه های استاندارد ANSI Fortran-77 را با محدودیت های جزئی و متعدد می پذیرد
پسوندهای رایج

محدودیت ها:
آرگومان های ساختگی در توابع دستور مانند متغیرهای معمولی رفتار می شوند
برنامه. یعنی دامنه آنها کل زیربرنامه است، نه فقط بیانیه
تعریف تابع

بررسی عبارات FORMAT سهل است و جداکننده های گمشده را تحمل می کند (کاما،
و غیره) بین توصیفگرهای قالب در مکان هایی که استاندارد به آنها نیاز دارد و
اجازه می دهد .d فیلدهایی در توصیفگرهایی که نباید آنها را داشته باشند. در زیر هشدار می دهد
-f77=format-edit-descr در مورد انواع توصیفگر غیر استاندارد (مانند O) و پشتیبانی می شود
پسوند ها

برخی پسوندهای نحوی و عناصر فرترن 90 وجود دارد که ftnchek قبول می کند
اما خیلی کم بررسی می کند. به عنوان مثال، استفاده از نشانگر (خواه
نحو غیراستاندارد Cray یا نحو Fortran 90) به غیر از مجموعه بررسی نمی شود
و وضعیت استفاده شده امید است روزی بررسی دقیق تری انجام شود
اجرا شده است، اما در حال حاضر کاربر باید به پذیرش این نحو توجه کند
ویژگی های آن به سادگی به عنوان یک راحتی برای فعال کردن بررسی سایر جنبه های کد است
آنها را شامل می شود. برای جزئیات بیشتر درباره ویژگی‌ها، بخش برنامه‌های افزودنی را ببینید
پذیرفته شده است اما به طور کامل بررسی نشده است.

اگر یک زیربرنامه ارائه شده توسط کاربر هم نام یکی از برنامه های ذاتی غیر استاندارد باشد
توابع شناسایی شده توسط ftnchek، باید در یک عبارت EXTERNAL در اعلام شود
هر روتینی که آن را فراخواند. در غیر این صورت به طور معمول مشمول بررسی خواهد شد
به عملکرد ذاتی داده می شود. از آنجایی که ذاتی های غیر استاندارد نیستند
استاندارد، این عبارت EXTERNAL توسط استاندارد Fortran 77 مورد نیاز نیست.
با استفاده از -ذاتی = هیچ تنظیم، شناخت بیشتر ذاتی های غیر استاندارد
(به جز موارد مورد نیاز برای پشتیبانی از نوع داده پیچیده دوگانه) را می توان تبدیل کرد
خاموش لیست توابع ذاتی غیر استاندارد پشتیبانی شده را در زیر ببینید
بحث از -ذاتی تنظیم بالا

گسترش دهنده ها:
همه این برنامه‌های افزودنی (به جز نویسه‌های کوچک) هشدارهایی را ایجاد می‌کنند
وابسته -f77 گزینه تنظیم شده است. برخی از افزونه های ذکر شده در زیر بخشی از آن هستند
استاندارد Fortran-90 اینها با علامت (F90) نشان داده می شوند.

برگه ها مجاز هستند و به جاهای خالی معادل با تب ترجمه می شوند
هر 8 ستون متوقف می شود. استاندارد برگه ها را نمی شناسد. توجه داشته باشید که برخی
کامپایلرها به برگه ها اجازه می دهند، اما با آنها متفاوت رفتار می کنند. درمان تعریف شده برای DEC
FORTRAN را می توان با استفاده از -source=dec-tab تنظیم می باشد.

رشته ها ممکن است با علامت نقل قول یا آپاستروف مشخص شوند. دنباله ای از دو
کاراکترهای جداکننده به عنوان یک کاراکتر جداکننده تعبیه شده تفسیر می شوند.
(F90)

رشته ها ممکن است حاوی توالی فرار بک اسلش به سبک یونیکس باشند. آنها خواهند بود
چنین تفسیر می شود اگر -source=unix-backslash تنظیم داده شده است. در غیر این صورت
کاراکتر بک اسلش به عنوان یک کاراکتر چاپی معمولی در نظر گرفته می شود.

کد منبع می تواند در قالب فرترن 90 آزاد یا فرمت ثابت سنتی باشد.
(F90)

نقطه ویرگول به عنوان جداکننده بیانیه مجاز است. (F90)

حروف کوچک مجاز هستند و به صورت داخلی به حروف بزرگ تبدیل می شوند
به جز در رشته کاراکترها استاندارد فقط حروف بزرگ را مشخص می کند، به جز in
نظرات و رشته ها (F90)

ثابت های هولریث، مطابق با استاندارد فرترن 77 مجاز هستند،
ضمیمه C. آنها نباید در عبارات استفاده شوند یا با نوع داده اشتباه گرفته شوند
شخصیت.

حرف 'D' (حروف بزرگ یا کوچک) در ستون 1 به عنوان شروع a در نظر گرفته می شود
اظهار نظر. هیچ گزینه ای برای تلقی چنین خطوطی به جای اظهار نظر به عنوان بیانیه وجود ندارد.

عبارات ممکن است بیشتر از 72 ستون باشد مشروط بر اینکه تنظیم باشد -ستون ها بود
برای افزایش حد استفاده می شود. طبق استاندارد، تمام متن از ستون 73
از طریق 80 نادیده گرفته می شود و هیچ خطی نباید بیشتر از 80 ستون باشد.

نام متغیرها ممکن است بیش از شش کاراکتر باشد. استاندارد شش را به عنوان مشخص می کند
حداکثر. ftnchek اجازه نام تا 31 کاراکتر (F90) را می دهد.

نام متغیرها ممکن است حاوی زیرخط و علامت دلار (یا غیر الفبایی باشد
کاراکترهای مشخص شده توسط -کاراکترهای شناسه گزینه). این شخصیت ها هستند
مانند حروف الفبا رفتار می شود. نوع پیش فرض برای شروع متغیرها
با این شخصیت ها واقعی است. در عبارات نوع IMPLICIT محدوده ای از
علامت دلار پس از Z و زیر خط به دنبال آن می آید. (هر دیگری
با کاراکترهای تعریف شده توسط کاربر مانند علامت دلار رفتار می شود.) Fortran 90
زیرخط در نام متغیرها را مجاز می کند.

نسخه یونیکس حضور دستورالعمل های پیش پردازنده، یعنی خطوط را تحمل می کند
با علامت پوند (#) شروع می شود. این‌ها به‌جز #خط، به‌عنوان نظر در نظر گرفته می‌شوند
دستورالعمل ها، که تفسیر می شوند و برای تنظیم شماره خط و منبع استفاده می شوند
نام فایل برای هشدارها و پیام های خطا. توجه داشته باشید که #include دستورالعمل ها نیستند
پردازش شده توسط ftnchek. برنامه هایی که از آنها برای گنجاندن فایل های منبع استفاده می کنند باید باشند
قبل از ورود به پیش پردازنده از طریق پیش پردازنده عبور می کند ftnchek. همانطور که در بالا ذکر شد،
ftnchek دستورات INCLUDE را پردازش می کند که نحو متفاوتی دارند. یک
برنامه اختیاری، ftnpp(1L) (به طور جداگانه موجود است) پیش پردازش آن را فراهم می کند
به درستی فایل های INCLUDE را مدیریت می کند.

ساختار کنترلی Fortran 90 DO ... ENDDO مجاز است. CYCLE و EXIT
اظهارات پذیرفته می شود همه اینها ممکن است یک نام do-construct اختیاری داشته باشند، اما
نام سازه ها از نظر سازگاری بررسی نمی شوند. (F90)

ساختار Fortran 90 SELECT CASE پذیرفته شده است. (F90)

نام‌های ساختار در IF، THEN، ELSE، ENDIF و SELECT CASE نیز پذیرفته می‌شوند.
بیانیه. (F90)

دستورات ACCEPT و TYPE (برای ورودی/خروجی ترمینال) با همین موارد مجاز هستند
نحو به صورت PRINT.

نحو به اصطلاح "اشاره گر کرای" قابل تحمل است. این یکسان نیست
بیانیه Fortran 90 POINTER. هیچ بررسی واقعی بیانیه دیگری وجود ندارد
نسبت به نحو اولیه شکل این بیانیه است
اشاره گر (اشارهگر, اشاره گر) [،(اشارهگر, اشاره گر)]
به متغیرهای اشاره گر یک نوع داده INTEGER *4 اختصاص داده شده است. بررسی استفاده از
متغیرهای pointee سرکوب می شوند، زیرا در عمل به طور غیر مستقیم به آنها دسترسی پیدا می شود
از طریق اشاره گرها

نحوهای مربوط به اشاره گر فرترن 90 زیر پذیرفته می شوند: ALLOCATABLE،
عبارات POINTER و TARGET و همان ویژگی ها در اعلان های نوع.
دستورات اجرایی ALLOCATE، DEALLOCATE و NULLIFY. انتساب اشاره گر با استفاده از
=> اپراتور؛ و توابع ذاتی ALLOCATED و ASSOCIATED. کمی معنایی
بررسی متغیرهای اشاره گر و عملیات فراتر از مجموعه اولیه و استفاده می شود
وضعیت به عنوان مثال، هیچ بررسی برای خطاهایی مانند نشانگرهای آویزان وجود ندارد.
یا استفاده از آرایه های تخصیص نشده.

بیانیه ها ممکن است هر تعداد خط ادامه داشته باشند. Fortran 77 و Fortran
90 استاندارد حداکثر 19 استاندارد را به صورت منبع ثابت مجاز می دانند. استاندارد فرترن 90
حداکثر 39 در فرم منبع رایگان اجازه می دهد.

عملگرهای رابطه ای (مقایسه ای) که از علائم نگارشی تشکیل شده اند، یعنی: <= == /= > >=
مجاز. (F90)

نظرات درون خطی که با علامت تعجب شروع می شوند، مجاز هستند. (F90)

NAMELIST I/O پشتیبانی می شود. سینتکس مانند Fortran 90 است.

بیانیه های FORMAT می توانند حاوی یک علامت دلار برای نشان دادن توقف حمل و نقل باشند.
برگشت. یک عبارت عدد صحیح محصور در پرانتزهای زاویه ای را می توان در هر نقطه از a استفاده کرد
عبارت FORMAT که در آن استاندارد Fortran 77 یک ثابت عدد صحیح را مجاز می‌کند (به جز
برای طول یک ثابت هولریث)، برای ارائه یک مقدار زمان اجرا برای تکرار
مشخصات یا عرض میدان

کلمات کلیدی غیراستاندارد در دستورات ورودی/خروجی مجاز هستند، مطابق با کلمات کلیدی در VMS
فرترن

عبارت IMPLICIT NONE پشتیبانی می شود. معنای این بیان این است که
همه متغیرها باید نوع داده خود را به صراحت اعلام کنند. به جای پرچم گذاری
وقوع چنین متغیرهایی با پیام های خطای نحوی، ftnchek منتظر می ماند تا
پایان ماژول، و سپس لیستی از همه متغیرهای اعلام نشده را چاپ می کند
برای -اعلام گزینه. (F90)

انواع داده‌های INTEGER، REAL، COMPLEX و LOGICAL مجاز به داشتن یک اختیاری هستند.
مشخصات دقیق در اعلانات نوع برای مثال، REAL*8 به معنای 8 بایت است
نوع داده ممیز شناور نوع داده REAL*8 لزوماً در نظر گرفته نمی شود
معادل DOUBLE PRECISION، بسته به نوع -اندازه کلمه تنظیمات. فرترن 77
استاندارد یک مشخصات طول را فقط برای داده های CHARACTER اجازه می دهد.

ftnchek از مشخصات نوع COMPLEX DOUBLE برای یک کمیت پیچیده پشتیبانی می کند
قطعات واقعی و خیالی دقت مضاعف دارند. محاسبات حالت مختلط شامل
مجتمع تک دقیق با داده های واقعی با دقت دو برابر، ممنوع است
استاندارد، یک نتیجه پیچیده دوگانه به دست می دهد.

اعلان‌های نوع ترکیبی و مقداردهی اولیه‌ای مانند بیانیه داده پذیرفته می‌شوند.
اینها به شکل یک اعلان نوع استاندارد Fortran 77 و به دنبال آن یک اسلش- هستند.
لیست محدود شده از ثابت ها مانند آنچه در یک عبارت DATA استفاده می شود. نمونه ای از
نحو است
عدد صحیح N / 100 /
این شکل حرامزاده از اعلام اولیه در فرترن 90 پذیرفته نشد
اظهارنامه ها باید با استفاده از فرم استانداردی که در زیر توضیح داده شده است، نوشته شود
پذیرفته شده توسط ftnchek.

پشتیبانی محدودی برای اعلان‌های نوع مبتنی بر ویژگی Fortran 90 وجود دارد. این
سبک اعلان با استفاده از دو نقطه (::) بین
لیست ویژگی ها و لیست متغیرهای اعلام شده. ویژگی های پشتیبانی شده ممکن است
برای برنامه نویسان تازه کار کافی باشد، اما هنوز برای برنامه نویسان حرفه ای کافی نیست.
برنامه های فرترن 90 با کیفیت امیدوارم در آینده بتوانم برای ویژگی های بیشتر پشتیبانی اضافه کنم
منتشر شده. من از داوطلبان دعوت می کنم تا در این کار کمک کنند. فایل ToDo را در قسمت مشاهده کنید
توزیع کد منبع برای جزئیات. علاوه بر این، ویژگی هایی که در حال حاضر پذیرفته شده اند
تمام انواع داده های معمول عبارتند از DIMENSION، EXTERNAL، InTRINSIC، PARAMETER و SAVE.
شکل جدید اعلان همچنین امکان تخصیص مقادیر به متغیرها را فراهم می کند
اعلام کرد. در حال حاضر، (LEN=مقدار) شکل تعیین طول کاراکتر نیز می باشد
پذیرفته شده. مشخصات نوع، با استفاده از (KIND=مقدار) تجزیه می شوند اما نیستند
پردازش شده: همه انواع به عنوان نوع پیش فرض در نظر گرفته می شوند. همچنین، بررسی کمی وجود دارد
از این اعلانات فراتر از نحو اولیه.

بسیاری از توابع ذاتی غیر استاندارد که معمولا یافت می شوند ارائه شده اند. را ببینید
بحث در مورد -ذاتی برای لیستی از توابع و نحوه کنترل اینکه کدام یک هستند
شناسایی شده.

بررسی آرگومان برای آن دسته از موارد ذاتی غیراستاندارد که آرایه یا آرایه می گیرند سخت نیست
انواع آرگومان مختلط

ftnchek اجازه عبارت INCLUDE را می دهد که باعث درج متن عبارت می شود
فایل داده شده نحو است
عبارتند از 'نام فایل'
این با Fortran 90 سازگار است -source=vms-include گزینه داده شده است،
ftnchek با توجه به این عبارت از قراردادهای VMS پیروی می کند: الف را فرض می کند
پسوند پیش فرض از .برای اگر پسوند نام فایل داده نشده باشد، و اجازه می دهد
واجد شرایط /[NO]LIST به دنبال نام فایل، برای کنترل فهرست بندی شامل
فایل. هیچ پشتیبانی برای گنجاندن ماژول های متنی VMS وجود ندارد.

در خروجی تشخیصی مربوط به موارد موجود در فایل های شامل، محل
خطا با مکان آن در فایل include و مکان در مشخص می شود
فایل اصلی که فایل در آن گنجانده شده است.

ftnchek دستورات PARAMETER را که فاقد پرانتز هستند می پذیرد. به اینها اخطار داده خواهد شد
در مورد اگر -f77=param-noparen پرچم داده شده است.

ftnchek تعاریف PARAMETER را می پذیرد که شامل توابع ذاتی و
توان توسط یک توان غیر صحیح هر دوی این موارد توسط
استاندارد Fortran 77، و در این مورد هشدار داده خواهد شد -f77=پارام ذاتی پرچم
داده شده است. اگر یک مقدار تابع ذاتی یک عدد صحیح زمان کامپایل باشد،
ftnchek آن را ارزیابی خواهد کرد. این اجازه می دهد تا بهتر بررسی شود که آیا پارامتر در آن استفاده شده است
اعلام اندازه آرایه ها Fortran 90 به توابع ذاتی در PARAMETER اجازه می دهد
تعاریف

توابع ذاتی که ارزیابی می شوند عبارتند از:

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

توابع آرگومان های عدد صحیح تنها در صورتی ارزیابی می شوند که آرگومان ها عدد صحیح باشند
عبارات ثابت (اینها ممکن است شامل ثابت های اعداد صحیح، پارامترها و
توابع ذاتی ارزیابی شده است.) تابع LEN در صورتی ارزیابی می شود که آرگومان آن باشد
عبارتی که فقط شامل ثابت های کاراکتر و متغیرهایی است که طول آنها نیست
قابل تنظیم توابع ICHAR و INDEX فقط در صورتی ارزیابی می شوند که آرگومان ها باشند
ثابت های کاراکتر ftnchek اگر به ارزش برخی نیاز دارد هشدار می دهد
عملکرد ذاتی که ارزیابی نشده است.

جدید ویژگی‌ها


در اینجا تغییرات از نسخه 3.2 به نسخه 3.3 آمده است:

1. Front-End برای نگاهی نامحدود بازنویسی شده است و باگ قدیمی را از بین می برد.
که باعث تفسیر نادرست عباراتی شد که ابهام آنها برطرف نشد
خط اول

2. -mkhtml این گزینه اکنون در نسخه MS-DOS موجود است.

3. اضافه شدن پشتیبانی از نحو مرتبط با اشاره گر Fortran 90: ALLOCATE، DEALLOCATE، و NULLIFY
بیانیه؛ ویژگی های ALLOCATABLE، POINTER و TARGET در اعلان های نوع؛ را
عملگر تخصیص اشاره گر => و توابع ذاتی ALLOCATED و ASSOCIATED. و
اعلان های آرایه به شکل معوق در حال حاضر این ویژگی های نحوی جدید پذیرفته شده است
اما به درستی بررسی نشده است این ویژگی توسط Robert Landrito اضافه شده است.

4. -f77 و -f90 اشارهگر اخطارهای کنترل کننده گزینه در مورد «نشانگرهای کری» بوده است
تغییر نام داد به نشانگر کری. -f77=نشانگر گزینه اکنون به جای آن هشدارها را برای کنترل می کند
کد حاوی نحو مرتبط با اشاره گر فرترن 90.

5. دوباره اجرا شد -mkhtml پردازش بنابراین اکنون در فایل های منبع حاوی بسیار سریعتر است
بسیاری از روتین ها

6. ترتیب دایرکتوری تست را تغییر داد تا دیگر نیازی به تغییر نباشد
توزیع به منظور اجرای مجموعه آزمایشی (چک. خفاش) تحت MS-DOS.

7. رفع اشکال در خواندن تنظیمات عددی در خط فرمان هنگام تنظیم نام به اختصار
3 نویسه

8. رفع اشکال ایجاد اخطار جعلی برای GOTO با اشاره به یک عبارت END برچسب دار
زمانی که عبارت قبل از END یک FORMAT بود.

9. پرچم جدید -f77=شخصیت برای کنترل هشدارها در مورد برنامه های افزودنی به Fortran 77
نوع داده کاراکتر همراه با این پرچم جدید، پشتیبانی از قوانین Fortran 90 برای
اعلان‌های متغیر کاراکتری که طول آن صفر یا منفی است، اجازه می‌دهد
آنها و با مقادیر طول منفی به عنوان صفر برخورد می کنند.

10. رفع اشکال جزئی در چاپ نظرات و خطوط خالی به دنبال آخرین بیانیه END
in فهرست حالت.

با استفاده از خدمات onworks.net از ftnchek آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad