.\" Copyright (c) 2007-2022, The CHICKEN Team .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the authors may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" .Dd 26 آوریل 2017 .Dt CHICKEN 1 .Os .Sh "نام (NAME)" .Nm chicken .Nd مترجم زبان Scheme به C .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Ar OPTION ... .Op Ar FILENAME ... .Sh "توضیحات (DESCRIPTION)" دستور .Nm یک کامپایلر و مفسر برای زبان برنامه‌نویسی Scheme است که از بیشتر قابلیت‌های توصیف‌شده در «گزارش بازبینی‌شده پنجم درباره زبان الگوریتمی اسکیم» (Revised^5 Report on the Algorithmic Language Scheme) پشتیبانی می‌کند. برنامه .Nm مترجم پایه Scheme به C است که در این سیستم استفاده می‌شود. برای رابط کاربری ساده‌تر، به .Xr csc 1 مراجعه کنید. .Pp مقدار .Ar FILENAME باید نام کامل فایل منبع به همراه پسوند باشد، یا .Dq - برای ورودی استاندارد. گزینه .Ar OPTION می‌تواند یکی از موارد زیر باشد: .Pp گزینه‌های عمومی: .Bl -tag -width Ds .It Fl help نمایش راهنمای استفاده و خروج. .It Fl version نمایش نسخه کامپایلر و خروج. .It Fl release چاپ شماره انتشار و خروج. .It Fl verbose نمایش اطلاعات درباره پیشرفت کامپایل. .El .Pp گزینه‌های فایل و مسیر: .Bl -tag -width Ds .It Fl output-file Ar FILENAME تعیین نام فایل خروجی؛ پیش‌فرض .Dq out.c است. .It Fl include-path Ar PATHNAME تعیین مسیر جایگزین برای فایل‌های پیوست‌شده (include). .It Fl to-stdout نوشتن فایل کامپایل‌شده در خروجی استاندارد به‌جای فایل. .El .Pp گزینه‌های زبان: .Bl -tag -width Ds .It Fl feature Ar SYMBOL ثبت شناسه قابلیت (feature). .It Fl no-feature Ar SYMBOL غیرفعال کردن شناسه قابلیت پیش‌ساخته. .El .Pp گزینه‌های مربوط به نحو (Syntax): .Bl -tag -width Ds .It Fl case-insensitive عدم حفظ بزرگی و کوچکی حروف در نمادهای خوانده‌شده (حساس نبودن به بزرگی و کوچکی حروف). .It Fl keyword-style Ar STYLE اجازه استفاده از نحو جایگزین کلیدواژه .Po prefix، suffix یا none Pc . .It Fl no-parentheses-synonyms غیرفعال کردن مترادف‌های جداکننده فهرست. .It Fl r7rs-syntax غیرفعال کردن افزونه‌های CHICKEN برای نحو R7RS. .It Fl compile-syntax در دسترس قرار دادن ماکروها در زمان اجرا. .It Fl emit-import-library Ar MODULE نوشتن اطلاعات ماژول در زمان کامپایل درون فایلی جداگانه. .It Fl emit-all-import-libraries تولید کتابخانه‌های واردسازی برای تمام ماژول‌های تعریف‌شده. .It Fl no-compiler-syntax غیرفعال کردن گسترش ماکروهای کامپایلر. .It Fl module Ar NAME قرار دادن کد کامپایل‌شده درون ماژولی با نام داده‌شده. .It Fl module-registration تولید همیشگی کد ثبت ماژول، حتی زمانی که کتابخانه‌های واردسازی صادر می‌شوند. .It Fl no-module-registration کد ثبت ماژول تولید نشود. این گزینه بر .Fl module-registration تقدم دارد. .El .Pp گزینه‌های ترجمه: .Bl -tag -width Ds .It Fl explicit-use استفاده نکردن از واحدهای .Sq library و .Sq eval به‌طور پیش‌فرض. .It Fl static پیوند ایستا (static link) برای افزونه‌ها. .It Fl check-syntax توقف کامپایل پس از گسترش ماکروها. .It Fl analyze-only توقف کامپایل پس از نخستین مرحله تحلیل. .El .Pp گزینه‌های اشکال‌زدایی: .Bl -tag -width Ds .It Fl no-warnings غیرفعال کردن هشدارها. .It Fl debug-level Ar NUMBER تنظیم سطح اطلاعات اشکال‌زدایی موجود. .It Fl no-trace غیرفعال کردن اطلاعات ردگیری (tracing). .It Fl profile تولید اطلاعات پروفایل‌سازی توسط فایل اجرایی. .It Fl profile-name Ar FILENAME نام فایل اطلاعات پروفایل تولیدشده. .It Fl accumulate-profile تولید اطلاعات پروفایل توسط فایل اجرایی در حالت الحاقی (append mode). .It Fl no-lambda-info حذف اطلاعات اضافی رویه (procedure). .It Fl types Ar FILENAME بارگذاری پایگاه‌داده انواع اضافی. .It Fl emit-types-file Ar FILENAME نوشتن اطلاعات اعلان نوع درون فایل. .El .Pp گزینه‌های بهینه‌سازی: .Bl -tag -width Ds .It Fl optimize-level Ar NUMBER فعال کردن مجموعه‌های خاصی از گزینه‌های بهینه‌سازی. .It Fl optimize-leaf-routines فعال کردن بهینه‌سازی توابع برگ (leaf routines). .It Fl no-usual-integrations اجازه بازتعریف رویه‌های استاندارد. .It Fl unsafe غیرفعال کردن تمام بررسی‌های ایمنی. .It Fl local فرض شود که متغیرهای سراسری فقط در فایل جاری تغییر می‌یابند. .It Fl block فعال کردن کامپایل بلوکی (block-compilation). .It Fl disable-interrupts غیرفعال کردن وقفه‌ها در کد کامپایل‌شده. .It Fl fixnum-arithmetic فرض شود که همه اعداد fixnum هستند. .It Fl disable-stack-overflow-checks غیرفعال کردن تشخیص سرریز پشته. .It Fl inline فعال کردن درون‌خطی‌سازی (inlining). .It Fl inline-limit Ar LIMIT تنظیم آستانه درون‌خطی‌سازی. .It Fl inline-global فعال کردن درون‌خطی‌سازی بین‌ماژولی. .It Fl specialize انجام تخصیص مبتنی بر نوع برای فراخوانی‌های اولیه (primitives). .It Fl emit-inline-file Ar FILENAME تولید فایل شامل رویه‌هایی که می‌توانند به‌صورت سراسری درون‌خطی شوند .Po مستلزم Fl inline Fl local است Pc . .It Fl consult-inline-file Ar FILENAME بارگذاری صریح فایل درون‌خطی. .It Fl no-argc-checks غیرفعال کردن بررسی‌های تعداد آرگومان‌ها. .It Fl no-bound-checks غیرفعال کردن بررسی‌های متغیرهای مقید. .It Fl no-procedure-checks غیرفعال کردن بررسی‌های فراخوانی رویه. .It Fl no-procedure-checks-for-usual-bindings غیرفعال کردن بررسی‌های فراخوانی رویه فقط برای پیوندهای معمول. .It Fl no-procedure-checks-for-toplevel-bindings غیرفعال کردن بررسی‌های فراخوانی رویه برای پیوندهای سطح بالا. .It Fl strict-types فرض شود که متغیرها نوع خود را تغییر نمی‌دهند. .It Fl lfa2 انجام مرحله تحلیل جریان سبک‌وزن (LFA2) اضافی. .It Fl unroll-limit Ar LIMIT تعیین محدودیت باز کردن حلقه برای فراخوانی‌های بازگشتی به خود. .It Fl merge-reusable-closures فعال کردن استفاده مجدد از بستارها (closures). .It Fl merge-shareable-closures فعال کردن اشتراک‌گذاری بستارها (closures). .El .Pp گزینه‌های پیکربندی: .Bl -tag -width Ds .It Fl unit Ar NAME کامپایل فایل به عنوان یک واحد کتابخانه (library unit). .It Fl uses Ar NAME اعلان واحد کتابخانه به عنوان استفاده‌شده. .It Fl heap-size Ar NUMBER تعیین اندازه هیپ (heap-size) فایل اجرایی کامپایل‌شده. .It Fl nursery Ar NUMBER Fl stack-size Ar NUMBER تعیین اندازه nursery فایل اجرایی کامپایل‌شده. .It Fl extend Ar FILENAME بارگذاری فایل پیش از آغاز کامپایل. .It Fl prelude Ar EXPRESSION افزودن عبارت به ابتدای فایل منبع. .It Fl postlude Ar EXPRESSION افزودن عبارت به انتهای فایل منبع. .It Fl prologue Ar FILENAME پیوست کردن فایل قبل از فایل منبع اصلی. .It Fl epilogue Ar FILENAME پیوست کردن فایل پس از فایل منبع اصلی. .It Fl dynamic کامپایل به عنوان کد با قابلیت بارگذاری پویا. .It Fl require-extension Ar NAME الزام و واردسازی افزونه .Ar NAME . .It Fl emit-link-file Ar FILENAME نوشتن فهرستی از افزونه‌های پیوندخورده ایستا درون .Ar FILENAME ، که برای شناسایی شی‌های ایستایی که باید به یک فایل اجرایی پیوند داده شوند استفاده می‌شود. .El .Pp گزینه‌های پیشرفته و مبهم: .Bl -tag -width Ds .It Fl debug Ar MODES نمایش خروجی اشکال‌زدایی برای حالت‌های داده‌شده. .It Fl raw عدم تولید کدهای آغازین و پایانی ضمنی. .It Fl emit-external-prototypes-first تولید پیش‌نمونه‌ها (prototypes) برای بازخوانی‌ها (callbacks) قبل از اعلان‌های خارجی. .It Fl regenerate-import-libraries تولید مجدد همیشگی کتابخانه‌های واردسازی، حتی زمانی که محتوای آن‌ها تغییر نکرده باشد. رفتار پیش‌فرض، حفظ کتابخانه‌های واردسازی موجود است. .It Fl ignore-repository عدم مراجعه به مخزن برای یافتن افزونه‌ها. .It Fl setup-mode ترجیح دادن دایرکتوری جاری هنگام یافتن افزونه‌ها. .El .Sh "محیط (ENVIRONMENT)" متغیرهای محیطی زیر رفتار .Nm Ns را تغییر می‌دهند: .Bl -tag -width CHICKEN_INCLUDE_PATH .It Ev CHICKEN_INCLUDE_PATH شامل یک یا چند مسیر است که کامپایلر باید علاوه بر مسیرهای دیگر برای فایل‌های پیوست (include) بررسی کند، که با نویسه‌های .Sq \&; از هم جدا شده‌اند. .It Ev CHICKEN_OPTIONS شامل رشته‌ای از گزینه‌های پیش‌فرض کامپایلر است که باید در هر بار اجرای .Nm اعمال شوند. .El .Sh "وضعیت خروج (EXIT STATUS)" .Ex -std .Sh "همچنین ببینید (SEE ALSO)" .Xr chicken 1 , .Xr chicken-install 1 , .Xr chicken-uninstall 1 .Pp اطلاعات بیشتر را می‌توانید در .Lk http://wiki.call-cc.org/manual/index "راهنمای کاربری CHICKEN" بیابید. .Sh "نویسندگان (AUTHORS)" .An The CHICKEN Team .Sh "اشکالات (BUGS)" گزارش‌های اشکال را از طریق ایمیل به نشانی زیر ارسال کنید: .Mt chicken-janitors@nongnu.org