CHICKEN(1) General Commands Manual CHICKEN(1) نام (NAME) chicken – مترجم زبان Scheme به C خلاصه دستور (SYNOPSIS) chicken [OPTION ...] [FILENAME ...] توضیحات (DESCRIPTION) دستور chicken یک کامپایلر و مفسر برای زبان برنامه‌نویسی Scheme است که از بیشتر قابلیت‌های توصیف‌شده در «گزارش بازبینی‌شده پنجم درباره زبان الگوریتمی اسکیم» (Revised^5 Report on the Algorithmic Language Scheme) پشتیبانی می‌کند. برنامه chicken مترجم پایه Scheme به C است که در این سیستم استفاده می‌شود. برای رابط کاربری ساده‌تر، به csc(1) مراجعه کنید. مقدار FILENAME باید نام کامل فایل منبع به همراه پسوند باشد، یا “-” برای ورودی استاندارد. گزینه OPTION می‌تواند یکی از موارد زیر باشد: گزینه‌های عمومی: -help نمایش راهنمای استفاده و خروج. -version نمایش نسخه کامپایلر و خروج. -release چاپ شماره انتشار و خروج. -verbose نمایش اطلاعات درباره پیشرفت کامپایل. گزینه‌های فایل و مسیر: -output-file FILENAME تعیین نام فایل خروجی؛ پیش‌فرض “out.c” است. -include-path PATHNAME تعیین مسیر جایگزین برای فایل‌های پیوست‌شده (include). -to-stdout نوشتن فایل کامپایل‌شده در خروجی استاندارد به‌جای فایل. گزینه‌های زبان: -feature SYMBOL ثبت شناسه قابلیت (feature). -no-feature SYMBOL غیرفعال کردن شناسه قابلیت پیش‌ساخته. گزینه‌های مربوط به نحو (Syntax): -case-insensitive عدم حفظ بزرگی و کوچکی حروف در نمادهای خوانده‌شده (حساس نبودن به بزرگی و کوچکی حروف). -keyword-style STYLE اجازه استفاده از نحو جایگزین کلیدواژه (prefix، suffix یا none). -no-parentheses-synonyms غیرفعال کردن مترادف‌های جداکننده فهرست. -r7rs-syntax غیرفعال کردن افزونه‌های CHICKEN برای نحو R7RS. -compile-syntax در دسترس قرار دادن ماکروها در زمان اجرا. -emit-import-library MODULE نوشتن اطلاعات ماژول در زمان کامپایل درون فایلی جداگانه. -emit-all-import-libraries تولید کتابخانه‌های واردسازی برای تمام ماژول‌های تعریف‌شده. -no-compiler-syntax غیرفعال کردن گسترش ماکروهای کامپایلر. -module NAME قرار دادن کد کامپایل‌شده درون ماژولی با نام داده‌شده. -module-registration تولید همیشگی کد ثبت ماژول، حتی زمانی که کتابخانه‌های واردسازی صادر می‌شوند. -no-module-registration کد ثبت ماژول تولید نشود. این گزینه بر -module-registration تقدم دارد. گزینه‌های ترجمه: -explicit-use استفاده نکردن از واحدهای ‘library’ و ‘eval’ به‌طور پیش‌فرض. -static پیوند ایستا (static link) برای افزونه‌ها. -check-syntax توقف کامپایل پس از گسترش ماکروها. -analyze-only توقف کامپایل پس از نخستین مرحله تحلیل. گزینه‌های اشکال‌زدایی: -no-warnings غیرفعال کردن هشدارها. -debug-level NUMBER تنظیم سطح اطلاعات اشکال‌زدایی موجود. -no-trace غیرفعال کردن اطلاعات ردگیری (tracing). -profile تولید اطلاعات پروفایل‌سازی توسط فایل اجرایی. -profile-name FILENAME نام فایل اطلاعات پروفایل تولیدشده. -accumulate-profile تولید اطلاعات پروفایل توسط فایل اجرایی در حالت الحاقی (append mode). -no-lambda-info حذف اطلاعات اضافی رویه (procedure). -types FILENAME بارگذاری پایگاه‌داده انواع اضافی. -emit-types-file FILENAME نوشتن اطلاعات اعلان نوع درون فایل. گزینه‌های بهینه‌سازی: -optimize-level NUMBER فعال کردن مجموعه‌های خاصی از گزینه‌های بهینه‌سازی. -optimize-leaf-routines فعال کردن بهینه‌سازی توابع برگ (leaf routines). -no-usual-integrations اجازه بازتعریف رویه‌های استاندارد. -unsafe غیرفعال کردن تمام بررسی‌های ایمنی. -local فرض شود که متغیرهای سراسری فقط در فایل جاری تغییر می‌یابند. -block فعال کردن کامپایل بلوکی (block-compilation). -disable-interrupts غیرفعال کردن وقفه‌ها در کد کامپایل‌شده. -fixnum-arithmetic فرض شود که همه اعداد fixnum هستند. -disable-stack-overflow-checks غیرفعال کردن تشخیص سرریز پشته. -inline فعال کردن درون‌خطی‌سازی (inlining). -inline-limit LIMIT تنظیم آستانه درون‌خطی‌سازی. -inline-global فعال کردن درون‌خطی‌سازی بین‌ماژولی. -specialize انجام تخصیص مبتنی بر نوع برای فراخوانی‌های اولیه (primitives). -emit-inline-file FILENAME تولید فایل شامل رویه‌هایی که می‌توانند به‌صورت سراسری درون‌خطی شوند (مستلزم -inline -local -است). -consult-inline-file FILENAME بارگذاری صریح فایل درون‌خطی. -no-argc-checks غیرفعال کردن بررسی‌های تعداد آرگومان‌ها. -no-bound-checks غیرفعال کردن بررسی‌های متغیرهای مقید. -no-procedure-checks غیرفعال کردن بررسی‌های فراخوانی رویه. -no-procedure-checks-for-usual-bindings غیرفعال کردن بررسی‌های فراخوانی رویه فقط برای پیوندهای معمول. -no-procedure-checks-for-toplevel-bindings غیرفعال کردن بررسی‌های فراخوانی رویه برای پیوندهای سطح بالا. -strict-types فرض شود که متغیرها نوع خود را تغییر نمی‌دهند. -lfa2 انجام مرحله تحلیل جریان سبک‌وزن (LFA2) اضافی. -unroll-limit LIMIT تعیین محدودیت باز کردن حلقه برای فراخوانی‌های بازگشتی به خود. -merge-reusable-closures فعال کردن استفاده مجدد از بستارها (closures). -merge-shareable-closures فعال کردن اشتراک‌گذاری بستارها (closures). گزینه‌های پیکربندی: -unit NAME کامپایل فایل به عنوان یک واحد کتابخانه (library unit). -uses NAME اعلان واحد کتابخانه به عنوان استفاده‌شده. -heap-size NUMBER تعیین اندازه هیپ (heap-size) فایل اجرایی کامپایل‌شده. -nursery NUMBER -stack-size NUMBER تعیین اندازه nursery فایل اجرایی کامپایل‌شده. -extend FILENAME بارگذاری فایل پیش از آغاز کامپایل. -prelude EXPRESSION افزودن عبارت به ابتدای فایل منبع. -postlude EXPRESSION افزودن عبارت به انتهای فایل منبع. -prologue FILENAME پیوست کردن فایل قبل از فایل منبع اصلی. -epilogue FILENAME پیوست کردن فایل پس از فایل منبع اصلی. -dynamic کامپایل به عنوان کد با قابلیت بارگذاری پویا. -require-extension NAME الزام و واردسازی افزونه NAME. -emit-link-file FILENAME نوشتن فهرستی از افزونه‌های پیوندخورده ایستا درون FILENAME ، که برای شناسایی شی‌های ایستایی که باید به یک فایل اجرایی پیوند داده شوند استفاده می‌شود. گزینه‌های پیشرفته و مبهم: -debug MODES نمایش خروجی اشکال‌زدایی برای حالت‌های داده‌شده. -raw عدم تولید کدهای آغازین و پایانی ضمنی. -emit-external-prototypes-first تولید پیش‌نمونه‌ها (prototypes) برای بازخوانی‌ها (callbacks) قبل از اعلان‌های خارجی. -regenerate-import-libraries تولید مجدد همیشگی کتابخانه‌های واردسازی، حتی زمانی که محتوای آن‌ها تغییر نکرده باشد. رفتار پیش‌فرض، حفظ کتابخانه‌های واردسازی موجود است. -ignore-repository عدم مراجعه به مخزن برای یافتن افزونه‌ها. -setup-mode ترجیح دادن دایرکتوری جاری هنگام یافتن افزونه‌ها. محیط (ENVIRONMENT) متغیرهای محیطی زیر رفتار chickenرا تغییر می‌دهند: CHICKEN_INCLUDE_PATH شامل یک یا چند مسیر است که کامپایلر باید علاوه بر مسیرهای دیگر برای فایل‌های پیوست (include) بررسی کند، که با نویسه‌های ‘;’ از هم جدا شده‌اند. CHICKEN_OPTIONS شامل رشته‌ای از گزینه‌های پیش‌فرض کامپایلر است که باید در هر بار اجرای chicken اعمال شوند. وضعیت خروج (EXIT STATUS) The chicken utility exits 0 on success, and >0 if an error occurs. همچنین ببینید (SEE ALSO) chicken(1), chicken-install(1), chicken-uninstall(1) اطلاعات بیشتر را می‌توانید در راهنمای کاربری CHICKEN: http://wiki.call-cc.org/manual/index بیابید. نویسندگان (AUTHORS) The CHICKEN Team اشکالات (BUGS) گزارش‌های اشکال را از طریق ایمیل به نشانی زیر ارسال کنید: chicken-janitors@nongnu.org Linux 6.12.107+deb13-amd64 26 آوریل 2017 Linux 6.12.107+deb13-amd64