.TH ecl 1 2021-02-01 .SH "نام (NAME)" ecl \- مفسر و مترجم تعبیه‌پذیر کامن لیسپ (Embeddable Common Lisp) .SH "خلاصه دستور (SYNOPSIS)" \fBecl\fP [\fB-?\fP | \fB--help\fP] [\fB-v\fP | \fB--version\fP] [\fB--debug\fP | \fB--nodebug\fP] .br [\fB--dir\fP \fIdir\fP] [\fB--load\fP \fIfile\fP] [\fB--shell\fP \fIfile\fP] [\fB--eval\fP \fIexpr\fP] [\fB--rc\fP | \fB--norc\fP] .br [\fB--c-stack\fP \fIsize\fP] [\fB--lisp-stack\fP \fIsize\fP] [\fB--heap-size\fP \fIsize\fP] .br [\fB--frame-stack\fP \fIsize\fP] .br [[\fB-o\fP \fIofile\fP] [\fB-c\fP [\fIcfile\fP]] [\fB-h\fP [\fIhfile\fP]] [\fB--data\fP [\fIdatafile\fP]] [\fB-s\fP] [\fB-q\fP] .br \fB--compile\fP \fIfile\fP] .br [[\fB-o\fP \fIofile\fP] \fB--link\fP \fIfile+\fP] .br [\fB--input-encoding\fP \fIexternal-format\fP] [\fB--output-encoding\fP \fIexternal-format\fP] .br [\fB--error-encoding\fP \fIexternal-format\fP] [\fB--encoding\fP \fIexternal-format\fP] .br [\fB--trap-fpe\fP | \fB--no-trap-fpe\fP] .br \" \fBنکته منسوخ‌شدن:\fP نسخه‌های تک‌خط‌تیره‌ای فلگ‌های طولانی (مانند \fB-eval\fP یا \fB-data\fP) منسوخ شده‌اند؛ اکنون باید از نسخه‌های دوخط‌تیره‌ای (مانند \fB--eval\fP یا \fB--data\fP) استفاده کنید. .SH "توضیحات (DESCRIPTION)" بسته ECL (کوتاه‌شده‌ی Embeddable Common-Lisp) یک مفسر زبان کامن لیسپ طبق مشخصات استاندارد ANSI X3J13 است که از CLOS (سیستم شیءگرای کامن لیسپ)، شرایط (conditions)، حلقه‌ها و غیره به همراه یک مبدل به C پشتیبانی می‌کند که می‌تواند برنامه‌های اجرایی مستقل تولید کند. سامانه ECL از سیستم‌عامل‌های لینوکس، FreeBSD، NetBSD، OpenBSD، OS\~X، سولاریس و ویندوز بر روی پردازنده‌های اینتل، Sparc، Alpha، PowerPC و ARM پشتیبانی می‌کند. .PP پیاده‌سازی فعلی ECL شامل موارد زیر است: .IP \(bu کامپایلر بایت‌کد و مفسر. .IP \(bu کامپایل لیسپ همچنین به همراه هر کامپایلر C/C++ .IP \(bu امکان ساخت فایل‌های اجرایی و کتابخانه‌های مستقل .IP \(bu پشتیبانی از ASDF، سوکت‌ها، جریان‌های Gray، MOP و سایر مؤلفه‌های کاربردی .IP \(bu قابلیت حمل بسیار بالا .IP \(bu مجوز نرم‌افزاری مناسب .PP اجرای \fBecl\fP بدون هیچ آرگومانی، یک نشست تعاملی لیسپ را آغاز می‌کند. .SH "گزینه‌ها (OPTIONS)" .TP 3 .B \-?, \-\-help نمایش اعلان راهنما بدون اجرای ECL. .TP 3 .B \-v, \-\-version, چاپ نسخه فعلی ECL، بدون اجرای ECL. .TP 3 .B \-\-debug به طور پیش‌فرض فعال است؛ خطایابی را در فاز راه‌اندازی فعال می‌کند تا بتوانید فایل‌های خود را خطایابی کنید. .TP 3 .B \-\-nodebug اجرا بدون فاز راه‌اندازی خطایابی، به این معنی که بروز خطاها مانع از آغاز به کار ECL می‌شود. .TP 3 .B \-\-dir\~\fIdirectory\fP استفاده از \fIdirectory\fP به عنوان دایرکتوری سیستم. .TP 3 .B \-\-load\~\fIfile\fP بارگذاری فایل منبع \fIfile\fP قبل از بارگذاری فایل \fB.rc\fP و آغاز سطح بالا (toplevel). .TP 3 .B \-\-shell\~\fIfile\fP فایل داده‌شده \fIfile\fP را اجرا کرده و خارج می‌شود، بدون اینکه یک حلقه خواندن-ارزیابی-چاپ (REPL) فراهم کند. اگر می‌خواهید از لیسپ به عنوان زبان اسکریپت‌نویسی استفاده کنید، می‌توانید عبارت .BR "#!${exec_prefix}/bin/ecl --shell" را در سطر نخست فایل مورد نظر برای اجرا بنویسید تا ECL به طور خودکار فراخوانی شود. .TP 3 .B \-\-eval\~\fIfile\fP ارزیابی \fIfile\fP قبل از بارگذاری فایل \fB.rc\fP و آغاز سطح بالا. .TP 3 .B \-\-rc بارگذاری فایل‌های پیکربندی در هنگام راه‌اندازی (پیش‌فرض). .TP 3 .B \-\-norc عدم بارگذاری فایل‌های پیکربندی در هنگام راه‌اندازی. .TP 3 .B \-\-c\-stack\~\fIsize\fP تنظیم اندازه پشته C بر حسب بایت برای کامپایلر C. .TP 3 .B \-\-lisp\-stack\~\fIsize\fP تنظیم اندازه پشته بر حسب بایت برای مفسر بایت‌کدها. .TP 3 .B \-\-heap\-stack\~\fIsize\fP تنظیم اندازه هیپ (heap) بر حسب بایت. .TP 3 .B \-\-frame\-stack\~\fIsize\fP تنظیم اندازه پشته فریم بر حسب بایت برای ساختارهای کنترلی زمان اجرا. .TP 3 .B \-o\~\fIfile\fP تعیین فایل مقصد خروجی برای کامپایل. .TP 3 .B \-c\~\fIcfile\fP هنگام کامپایل، نام فایل واسط \fI*.c\fP را برابر با \fIcfile\fP بگذارید و پس از پایان کار آن را حذف نکنید. .TP 3 .B \-h\~\fIhfile\fP هنگام کامپایل، نام فایل واسط \fI*.h\fP را برابر با \fIhfile\fP بگذارید و پس از پایان کار آن را حذف نکنید. .TP 3 .B \-\-data\~[\fIdatafile\fP] داده‌های کامپایلر را درون \fIdatafile\fP یا در صورت تعیین نشدن، درون فایلی هم‌نام با فایل منبع اما با پسوند \fI.data\fP ذخیره می‌کند. .TP 3 .B \-s تولید یک فایل شیء (object file) قابل پیوند. این فایل با \fB(load)\fP بارگذاری نمی‌شود، اما می‌توان از آن برای ساخت کتابخانه‌ها یا برنامه‌های اجرایی مستقل استفاده کرد. .TP 3 .B \-q حالت بی‌صدا (quiet) -- تولید یادداشت‌ها و پیام‌های کمتر. .TP 3 .B \-\-compile\~\fIfile\fP ترجمه فایل \fIfile\fP به C و فراخوانی کامپایلر محلی C برای تولید یک برنامه به کد بومی (native code). .TP 3 .B \-\-link\~\fIfile+\fP ساخت فایل اجرایی مستقل از فایل‌های لیسپ \fIfile+\fP. .TP 3 .B \-\-input-encoding\~\fIencoding\fP تعیین قالب کدگذاری بیرونی برای ورودی استاندارد. .TP 3 .B \-\-output-encoding\~\fIencoding\fP تعیین قالب کدگذاری بیرونی برای خروجی استاندارد. .TP 3 .B \-\-error-encoding\~\fIencoding\fP تعیین قالب کدگذاری بیرونی برای خطای استاندارد. .TP 3 .B \-\-encoding\~\fIencoding\fP تعیین قالب کدگذاری بیرونی برای ورودی استاندارد، خروجی، ردگیری (trace) و خطا. .TP 3 .B \-\-trap-fpe فعال‌سازی گرفتن استثناهای ممیز شناور توسط خطایاب ECL. .TP 3 .B \-\-no-trap-fpe غیرفعال کردن گرفتن استثناهای ممیز شناور در خطایاب ECL. .SH "نویسندگان (AUTHORS)" نسخه اولیه توسط Giuseppe Attardi بر اساس پیاده‌سازی Kyoto Common Lisp اثر Taiichi Yuasa و Masami Hagiya توسعه داده شد. توسعه بیشتر توسط Juan Jose Garcia Ripoll رهبری شد. نگهدارندگان فعلی ECL عبارتند از Daniel Kochmański و Marius Gerbershagen که از طریق فهرست پستی ECL در دسترس هستند. .SH "فایل‌ها (FILES)" .TP .I ~/.ecl, ~/.eclrc فایل‌های مقداردهی اولیه پیش‌فرض که در هنگام راه‌اندازی بارگذاری می‌شوند مگر آنکه گزینه \fB\-\-norc\fP مشخص شده باشد (در صورت وجود). .SH "همچنین ببینید (SEE ALSO)" .IP استاندارد ANSI Common Lisp نسخه X3.226-1994 .IP مستندات The Common Lisp HyperSpec .SH "اشکالات (BUGS)" متأسفانه این احتمال وجود دارد که اشکالاتی در برنامه موجود باشد. در صورت یافتن هرگونه اشکال، لطفاً پس از اطمینان از اینکه قبلاً گزارش یا اصلاح نشده است، آن را به عنوان یک مشکل (issue) در مخزن رسمی گیت‌لب گزارش دهید: .UR https://gitlab.com/embeddable-common-lisp/ecl/issues .UE . .SH "مجوز (LICENSE)" این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی کمتر گنو (GNU Lesser General Public License) طبق انتشار بنیاد نرم‌افزارهای آزاد؛ چه نسخه ۲٫۱ این مجوز، یا (به انتخاب خودتان) هر نسخه بعدی بازتوزیع کرده یا تغییر دهید. این کتابخانه با این امید توزیع شده است که مفید باشد، اما بدون هرگونه ضمانتی؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز GNU Lesser General Public License مراجعه کنید. شما باید یک نسخه از مجوز GNU Lesser General Public License را به همراه این کتابخانه دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر نامه بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA لطفاً اشکالات، دیدگاه‌ها و پیشنهادات را به فهرست پستی ecl ارسال فرمایید: .MT ecl-devel@common-lisp.net .ME (یا از گیت‌لب استفاده نمایید).