ecl(1) General Commands Manual ecl(1)

ecl - مفسر و مترجم تعبیه‌پذیر کامن لیسپ (Embeddable Common Lisp)

ecl [-? | --help] [-v | --version] [--debug | --nodebug]
[--dir dir] [--load file] [--shell file] [--eval expr] [--rc | --norc]
[--c-stack size] [--lisp-stack size] [--heap-size size]
[--frame-stack size]
[[-o ofile] [-c [cfile]] [-h [hfile]] [--data [datafile]] [-s] [-q]
--compile file]
[[-o ofile] --link file+]
[--input-encoding external-format] [--output-encoding external-format]
[--error-encoding external-format] [--encoding external-format]
[--trap-fpe | --no-trap-fpe]

بسته ECL (کوتاه‌شده‌ی Embeddable Common-Lisp) یک مفسر زبان کامن لیسپ طبق مشخصات استاندارد ANSI X3J13 است که از CLOS (سیستم شیءگرای کامن لیسپ)، شرایط (conditions)، حلقه‌ها و غیره به همراه یک مبدل به C پشتیبانی می‌کند که می‌تواند برنامه‌های اجرایی مستقل تولید کند.

سامانه ECL از سیستم‌عامل‌های لینوکس، FreeBSD، NetBSD، OpenBSD، OS X، سولاریس و ویندوز بر روی پردازنده‌های اینتل، Sparc، Alpha، PowerPC و ARM پشتیبانی می‌کند.

پیاده‌سازی فعلی ECL شامل موارد زیر است:

  • کامپایلر بایت‌کد و مفسر.
  • کامپایل لیسپ همچنین به همراه هر کامپایلر C/C++
  • امکان ساخت فایل‌های اجرایی و کتابخانه‌های مستقل
  • پشتیبانی از ASDF، سوکت‌ها، جریان‌های Gray، MOP و سایر مؤلفه‌های کاربردی
  • قابلیت حمل بسیار بالا
  • مجوز نرم‌افزاری مناسب

اجرای ecl بدون هیچ آرگومانی، یک نشست تعاملی لیسپ را آغاز می‌کند.

-?, --help
نمایش اعلان راهنما بدون اجرای ECL.
چاپ نسخه فعلی ECL، بدون اجرای ECL.
به طور پیش‌فرض فعال است؛ خطایابی را در فاز راه‌اندازی فعال می‌کند تا بتوانید فایل‌های خود را خطایابی کنید.
اجرا بدون فاز راه‌اندازی خطایابی، به این معنی که بروز خطاها مانع از آغاز به کار ECL می‌شود.
استفاده از directory به عنوان دایرکتوری سیستم.
بارگذاری فایل منبع file قبل از بارگذاری فایل .rc و آغاز سطح بالا (toplevel).
فایل داده‌شده file را اجرا کرده و خارج می‌شود، بدون اینکه یک حلقه خواندن-ارزیابی-چاپ (REPL) فراهم کند. اگر می‌خواهید از لیسپ به عنوان زبان اسکریپت‌نویسی استفاده کنید، می‌توانید عبارت #!${exec_prefix}/bin/ecl --shell را در سطر نخست فایل مورد نظر برای اجرا بنویسید تا ECL به طور خودکار فراخوانی شود.
ارزیابی file قبل از بارگذاری فایل .rc و آغاز سطح بالا.
بارگذاری فایل‌های پیکربندی در هنگام راه‌اندازی (پیش‌فرض).
عدم بارگذاری فایل‌های پیکربندی در هنگام راه‌اندازی.
تنظیم اندازه پشته C بر حسب بایت برای کامپایلر C.
تنظیم اندازه پشته بر حسب بایت برای مفسر بایت‌کدها.
تنظیم اندازه هیپ (heap) بر حسب بایت.
تنظیم اندازه پشته فریم بر حسب بایت برای ساختارهای کنترلی زمان اجرا.
تعیین فایل مقصد خروجی برای کامپایل.
هنگام کامپایل، نام فایل واسط *.c را برابر با cfile بگذارید و پس از پایان کار آن را حذف نکنید.
هنگام کامپایل، نام فایل واسط *.h را برابر با hfile بگذارید و پس از پایان کار آن را حذف نکنید.
داده‌های کامپایلر را درون datafile یا در صورت تعیین نشدن، درون فایلی هم‌نام با فایل منبع اما با پسوند .data ذخیره می‌کند.
تولید یک فایل شیء (object file) قابل پیوند. این فایل با (load) بارگذاری نمی‌شود، اما می‌توان از آن برای ساخت کتابخانه‌ها یا برنامه‌های اجرایی مستقل استفاده کرد.
حالت بی‌صدا (quiet) -- تولید یادداشت‌ها و پیام‌های کمتر.
ترجمه فایل file به C و فراخوانی کامپایلر محلی C برای تولید یک برنامه به کد بومی (native code).
ساخت فایل اجرایی مستقل از فایل‌های لیسپ file+.
تعیین قالب کدگذاری بیرونی برای ورودی استاندارد.
تعیین قالب کدگذاری بیرونی برای خروجی استاندارد.
تعیین قالب کدگذاری بیرونی برای خطای استاندارد.
تعیین قالب کدگذاری بیرونی برای ورودی استاندارد، خروجی، ردگیری (trace) و خطا.
فعال‌سازی گرفتن استثناهای ممیز شناور توسط خطایاب ECL.
غیرفعال کردن گرفتن استثناهای ممیز شناور در خطایاب ECL.

نسخه اولیه توسط Giuseppe Attardi بر اساس پیاده‌سازی Kyoto Common Lisp اثر Taiichi Yuasa و Masami Hagiya توسعه داده شد. توسعه بیشتر توسط Juan Jose Garcia Ripoll رهبری شد. نگهدارندگان فعلی ECL عبارتند از Daniel Kochmański و Marius Gerbershagen که از طریق فهرست پستی ECL در دسترس هستند.

~/.ecl, ~/.eclrc
فایل‌های مقداردهی اولیه پیش‌فرض که در هنگام راه‌اندازی بارگذاری می‌شوند مگر آنکه گزینه --norc مشخص شده باشد (در صورت وجود).

استاندارد ANSI Common Lisp نسخه X3.226-1994
مستندات The Common Lisp HyperSpec

متأسفانه این احتمال وجود دارد که اشکالاتی در برنامه موجود باشد. در صورت یافتن هرگونه اشکال، لطفاً پس از اطمینان از اینکه قبلاً گزارش یا اصلاح نشده است، آن را به عنوان یک مشکل (issue) در مخزن رسمی گیت‌لب گزارش دهید: https://gitlab.com/embeddable-common-lisp/ecl/issues

این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی کمتر گنو (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 ارسال فرمایید: ecl-devel@common-lisp.net (یا از گیت‌لب استفاده نمایید).

2021-02-01