A68G(1) General Commands Manual (prm) A68G(1)

a68g — مفسر و مترجم زبان برنامهنویسی الگول ۶۸ (Algol 68)

a68g [--apropos | --help | --info [string]] [--assertions | --no-assertions] [--backtrace | --no-backtrace] [--brackets] [--check | --no-run] [--compile | --no-compile] [--clock] [--debug | --monitor] [--echo string] [--execute unit | -x unit] [--exit | --] [--extensive] [-f | --file string] [--frame number] [--handles number] [--heap number] [--listing] [--moids] [-O | -O0 | -O1 | -O2 | -O3] [--object | --no-object] [--overhead number] [--optimise | --no-optimise] [--pedantic] [--portcheck | --no-portcheck] [--pragmats | --no-pragmats] [--precision number] [--prelude-listing] [--pretty-print] [--print unit | -p unit] [--quiet] [--quote-stropping] [--reductions] [--rerun] [--run] [--script string] [--source | --no-source] [--stack number] [--statistics] [--strict] [--terminal] [--time-limit number] [--trace | --no-trace] [--tree | --no-tree] [--unused] [--upper-stropping] [--verbose] [--version] [--warnings | --no-warnings] [--xref | --no-xref] filename

برنامه Algol 68 Genie (یا Algol68G) یک مفسر-کامپایلر برای الگول ۶۸ است. از این برنامه می‌توان برای اجرای برنامه‌ها یا اسکریپت‌های Algol 68 استفاده کرد. الگول ۶۸ یک زبان برنامه‌نویسی همه‌منظوره، متعامد (orthogonal) و نسبتاً جمع‌وجور است که ابزاری زیبا برای بیان الگوریتم‌ها به شمار می‌رود. الگول ۶۸ به عنوان یک زبان برنامه‌نویسی چندمنظوره توسط کارگروه ۲.۱ سازمان IFIP (زبان‌ها و محاسبات الگوریتمی) طراحی شده است که مسئولیت مداوم نگهداری از استانداردهای Algol 60 و Algol 68 را بر عهده دارد.

برنامه Algol 68 Genie و مستندات آن را می‌توان از نشانی زیر دریافت کرد:


https://jmvdveer.home.algol68genie.nl

گزینه‌ها از طریق فایل .a68g.rc در دایرکتوری کاری، متغیر محیطی A68G_OPTIONS، خط فرمان یا از طریق عملوندهای عملگر پیش‌پردازنده (pragmats) به a68g ارسال می‌شوند.

ترتیب اولویت گزینه‌ها بدین صورت است: گزینه‌های عملگر پیش‌پردازنده (pragmat) بر گزینه‌های خط فرمان اولویت دارند، گزینه‌های خط فرمان بر گزینه‌های متغیر محیطی A68G_OPTIONS اولویت دارند، و A68G_OPTIONS بر گزینه‌های موجود در .a68g.rc اولویت دارد.

گزینه‌های فهرست‌گیری (listing)، ردیابی (tracing) و گزینه‌های -pragmat و -nopragmat به محض مواجهه در پیمایش چپ‌به‌راست متن برنامه اعمال می‌شوند؛ بنابراین می‌توان از آن‌ها، برای مثال، جهت تولید ارجاع متقابل (cross-reference) برای بخش خاصی از برنامه استفاده کرد.

در مواردی که به آرگومان‌های عددی نیاز است، پسوندهای k، M یا G به ترتیب برای ضرب در ۲ ** ۱۰، ۲ ** ۲۰ یا ۲ ** ۳۰ مجاز هستند.

| | [string]
در صورت حذف string اطلاعات مربوط به گزینه‌ها را چاپ می‌کند، در غیر این صورت اطلاعات مربوط به رشته string را نمایش می‌دهد.
|
کنترل ارزیابی و اجرای ادعاها (assertions).
|
کنترل این‌که آیا در صورت بروز خطای زمان اجرا (runtime error)، ردیابی پشته (stack backtrace) انجام شود یا خیر.
در نظر گرفتن [ .. ] و { .. } به عنوان معادل ( .. ). در نحو سنتی Algol 68 جایگزینی ( .. ) با [ .. ] در کران‌ها و برش‌ها مجاز است.
|
تنها نحو برنامه را بررسی می‌کند و مفسر آغاز به کار نمی‌کند.
گزارش زمان اجرا، بدون احتساب زمان صرف‌شده برای کامپایل.
|
فعال یا غیرفعال کردن کامپایل واحدها (units). کامپایل، بسیاری از بررسی‌های زمان اجرای ارائه‌شده توسط خود مفسر را نادیده می‌گیرد. برنامه اجرا نمی‌شود و یک اسکریپت شل شامل کد منبع و کتابخانه اشتراکی آن تولید می‌گردد. این اسکریپت شل می‌تواند به عنوان یک فایل شبه‌اجرایی استفاده شود.
|
آغاز به کار در محیط مانیتور (monitor). در صورت بروز خطای زمان اجرا، مانیتور فراخوانی می‌شود؛ اجرای برنامه در مانیتور روی خطی که حاوی خطا است متوقف می‌گردد.
string
چاپ رشته string در خروجی برجسته (standout).
unit | unit
اجرای واحد (unit) مربوط به Algol 68. به این ترتیب می‌توان دستورات تک‌خطی را از خط فرمان اجرا کرد.
| --
نادیده گرفتن گزینه‌های بعدی.
تولید یک گزارش و فهرست کامل و جامع (extensive listing).
| string
پذیرفتن رشته string به عنوان نام فایل در صورتی که با نحو شل تداخل داشته باشد.
number
تنظیم اندازه پشته فریم (frame stack) به number بایت.
number
تنظیم اندازه فضای دستگیره (handle space) به number بایت.
number
تنظیم اندازه هیپ (heap) به number بایت.
تولید یک فهرست و گزارش مختصر (concise listing).
تولید خلاصه‌ای از حالت‌ها (modes) در فایل گزارش فهرست‌گیری.
|
کنترل درج کدهای C در فایل گزارش فهرست‌گیری.
|
فعال یا غیرفعال کردن کامپایل واحدها. کامپایل بسیاری از بررسی‌های زمان اجرای مفسر اصلی را نادیده می‌گیرد. این گزینه معادل --O2 است.
| | | |
فعال کردن کامپایل واحدها و ارسال گزینه به کامپایلر C پسین (back-end) برای تنظیم سطح بهینه‌سازی.
number
تنظیم سربار (overhead) برای بررسی پشته.
معادل با --warnings --portcheck است.
|
فعال یا غیرفعال کردن پیام‌های هشدار مربوط به قابلیت حمل (portability).
|
کنترل ارزیابی و پردازش عملگرهای پیش‌پردازنده (pragmats).
number
تنظیم دقت برای حالت‌های LONG LONG به number ارقام با معنی (significant digits).
تولید فهرستی از پیش‌درآمدها (preludes).
قالب‌بندی و چاپ زیبای (pretty-print) فایل منبع.
unit | unit
چاپ مقدار حاصل از واحد (unit) زبان Algol 68. به این ترتیب می‌توان دستورات تک‌خطی را از خط فرمان اجرا کرد.
نادیده گرفتن و غیرفعال کردن تمام پیام‌های هشدار.
استفاده از شیوه استروپینگ نقل‌قولی (quote stropping).
چاپ تقلیل‌های (reductions) انجام‌شده توسط پارسر.
استفاده از کد کامپایل‌شده حاصل از اجرای قبلی.
نادیده گرفتن و خنثی‌سازی گزینه --no-run.
string
رشته string را به عنوان نام فایل منبع در نظر می‌گیرد و پردازش گزینه‌های بعدی را نادیده می‌گیرد تا توسط اسکریپت مدیریت شوند.
|
کنترل درج خطوط منبع در فایل گزارش فهرست‌گیری.
number
تنظیم اندازه پشته (stack) به number بایت.
تولید آمار در فایل گزارش فهرست‌گیری.
نادیده گرفتن افزونه‌های اضافه بر نحو Algol 68.
number
متوقف کردن مفسر پس از number ثانیه و ایجاد خطای پایان مهلت زمانی (time limit exceeded).
|
کنترل ردیابی (tracing) برنامه در حال اجرا.
|
کنترل درج درخت نحو (syntax tree) در فایل گزارش فهرست‌گیری.
تولید نمایی کلی از برچسب‌های (tags) استفاده‌نشده در فایل گزارش فهرست‌گیری.
استفاده از استروپینگ با حروف بزرگ (upper stropping) که رژیم استروپینگ پیش‌فرض است.
استفاده از حالت پرگو (verbose).
چاپ نسخه تصویر در حال اجرای a68g.
|
فعال کردن پیام‌های هشدار یا نادیده گرفتن هشدارهای قابل چشم‌پوشی.
|
کنترل تولید ارجاع متقابل (cross-reference) در فایل گزارش فهرست‌گیری.

نویسنده Algol 68 Genie آقای Marcel van der Veer <algol68g@algol68genie.nl> است.

May 21, 2026 LINUX