| ecl(1) | General Commands Manual | ecl(1) |
نام (NAME)
ecl - مفسر و مترجم تعبیهپذیر کامن لیسپ (Embeddable Common Lisp)
خلاصه دستور (SYNOPSIS)
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]
توضیحات (DESCRIPTION)
بسته 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 بدون هیچ آرگومانی، یک نشست تعاملی لیسپ را آغاز میکند.
گزینهها (OPTIONS)
- -?, --help
- نمایش اعلان راهنما بدون اجرای ECL.
- -v, --version,
- چاپ نسخه فعلی ECL، بدون اجرای ECL.
- --debug
- به طور پیشفرض فعال است؛ خطایابی را در فاز راهاندازی فعال میکند تا بتوانید فایلهای خود را خطایابی کنید.
- --nodebug
- اجرا بدون فاز راهاندازی خطایابی، به این معنی که بروز خطاها مانع از آغاز به کار ECL میشود.
- --dir directory
- استفاده از directory به عنوان دایرکتوری سیستم.
- --load file
- بارگذاری فایل منبع file قبل از بارگذاری فایل .rc و آغاز سطح بالا (toplevel).
- --shell file
- فایل دادهشده file را اجرا کرده و خارج میشود، بدون اینکه یک حلقه خواندن-ارزیابی-چاپ (REPL) فراهم کند. اگر میخواهید از لیسپ به عنوان زبان اسکریپتنویسی استفاده کنید، میتوانید عبارت #!${exec_prefix}/bin/ecl --shell را در سطر نخست فایل مورد نظر برای اجرا بنویسید تا ECL به طور خودکار فراخوانی شود.
- --eval file
- ارزیابی file قبل از بارگذاری فایل .rc و آغاز سطح بالا.
- --rc
- بارگذاری فایلهای پیکربندی در هنگام راهاندازی (پیشفرض).
- --norc
- عدم بارگذاری فایلهای پیکربندی در هنگام راهاندازی.
- --c-stack size
- تنظیم اندازه پشته C بر حسب بایت برای کامپایلر C.
- --lisp-stack size
- تنظیم اندازه پشته بر حسب بایت برای مفسر بایتکدها.
- --heap-stack size
- تنظیم اندازه هیپ (heap) بر حسب بایت.
- --frame-stack size
- تنظیم اندازه پشته فریم بر حسب بایت برای ساختارهای کنترلی زمان اجرا.
- -o file
- تعیین فایل مقصد خروجی برای کامپایل.
- -c cfile
- هنگام کامپایل، نام فایل واسط *.c را برابر با cfile بگذارید و پس از پایان کار آن را حذف نکنید.
- -h hfile
- هنگام کامپایل، نام فایل واسط *.h را برابر با hfile بگذارید و پس از پایان کار آن را حذف نکنید.
- --data [datafile]
- دادههای کامپایلر را درون datafile یا در صورت تعیین نشدن، درون فایلی همنام با فایل منبع اما با پسوند .data ذخیره میکند.
- -s
- تولید یک فایل شیء (object file) قابل پیوند. این فایل با (load) بارگذاری نمیشود، اما میتوان از آن برای ساخت کتابخانهها یا برنامههای اجرایی مستقل استفاده کرد.
- -q
- حالت بیصدا (quiet) -- تولید یادداشتها و پیامهای کمتر.
- --compile file
- ترجمه فایل file به C و فراخوانی کامپایلر محلی C برای تولید یک برنامه به کد بومی (native code).
- --link file+
- ساخت فایل اجرایی مستقل از فایلهای لیسپ file+.
- --input-encoding encoding
- تعیین قالب کدگذاری بیرونی برای ورودی استاندارد.
- --output-encoding encoding
- تعیین قالب کدگذاری بیرونی برای خروجی استاندارد.
- --error-encoding encoding
- تعیین قالب کدگذاری بیرونی برای خطای استاندارد.
- --encoding encoding
- تعیین قالب کدگذاری بیرونی برای ورودی استاندارد، خروجی، ردگیری (trace) و خطا.
- --trap-fpe
- فعالسازی گرفتن استثناهای ممیز شناور توسط خطایاب ECL.
- --no-trap-fpe
- غیرفعال کردن گرفتن استثناهای ممیز شناور در خطایاب ECL.
نویسندگان (AUTHORS)
نسخه اولیه توسط Giuseppe Attardi بر اساس پیادهسازی Kyoto Common Lisp اثر Taiichi Yuasa و Masami Hagiya توسعه داده شد. توسعه بیشتر توسط Juan Jose Garcia Ripoll رهبری شد. نگهدارندگان فعلی ECL عبارتند از Daniel Kochmański و Marius Gerbershagen که از طریق فهرست پستی ECL در دسترس هستند.
فایلها (FILES)
- ~/.ecl, ~/.eclrc
- فایلهای مقداردهی اولیه پیشفرض که در هنگام راهاندازی بارگذاری میشوند مگر آنکه گزینه --norc مشخص شده باشد (در صورت وجود).
همچنین ببینید (SEE ALSO)
- استاندارد ANSI Common Lisp نسخه X3.226-1994
- مستندات The Common Lisp HyperSpec
اشکالات (BUGS)
متأسفانه این احتمال وجود دارد که اشکالاتی در برنامه موجود باشد. در صورت یافتن هرگونه اشکال، لطفاً پس از اطمینان از اینکه قبلاً گزارش یا اصلاح نشده است، آن را به عنوان یک مشکل (issue) در مخزن رسمی گیتلب گزارش دهید: https://gitlab.com/embeddable-common-lisp/ecl/issues
مجوز (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 ارسال فرمایید: ecl-devel@common-lisp.net (یا از گیتلب استفاده نمایید).
| 2021-02-01 |