-d, -dir DIR
دایرکتوری
خروجی را که
تمام
فایلهای
تولیدشده
در آن قرار
میگیرند
مشخص
میکند
(پیشفرض
NLFFI-Generated).
-allSU
به ml-nlffigen
دستور
میدهد تا
تمام structها و
unionها را شامل
شود، حتی
آنهایی که
در
فایلهای
ضمیمهشده
(included) تعریف
شدهاند،
برخلاف
فایلهایی
که صراحتاً
به عنوان
آرگومان
فهرست
شدهاند.
-width WID
عرض خط
خروجی را
(صرفاً به
عنوان یک
تخمین) روی WID
تنظیم
میکند
(پیشفرض
75).
-smloption OPT
به ml-nlffigen
دستور
میدهد تا OPT
را به فهرست
گزینههای
مربوط به
یادداشتگذاری
ورودیهای
.sml در فایل
.cm
تولیدشده
اضافه کند.
بهطور
پیشفرض،
این فهرست
تنها شامل
«noguid» است.
-guid
مقدار
پیشفرض
«noguid» را از
فهرست
گزینههای sml
حذف میکند.
این گزینه
مدیریت
سختگیرانه
هویت نوع و
شیء را
دوباره
فعال
میکند،
اما اگر
برنامهنویس
در حین
توسعه
مرتباً کل
درخت
فایلهای
تولیدشده
توسط ml-nlffigen را
حذف کند،
میتواند
تأثیر منفی
بر کارایی
کامپایل
مجدد
تفکیکی (cutoff recompilation)
در CM بگذارد.
-t, -target TGT
مقصد را
روی TGT تنظیم
میکند (که
باید یکی از
موارد «sparc-unix»،
«x86-unix» یا «x86-win32»
باشد). مقدار
پیشفرض
معماری
میزبان
است.
-l, -light
نسخههای
«سنگین» (heavy)
پوشانندههای
توابع و
دسترسیدهندههای
فیلد را
نادیده
میگیرد؛
همچنین هر
گزینه -heavy
قبلی را لغو
میکند.
-h, -heavy
نسخههای
«سبک» (light)
پوشانندههای
توابع و
دسترسیدهندههای
فیلد را
نادیده
میگیرد؛
همچنین هر
گزینه -light
قبلی را لغو
میکند.
-na, -namedargs
به ml-nlffigen
دستور
میدهد تا
در صورت
وجود
اطلاعات
کافی در کد
منبع C،
پوشانندههای
توابعی را
تولید کند
که به جای
چندتاییها
(tuples) از
آرگومانهای
نامدار
(رکوردهای SML)
استفاده
میکنند.
-nocollect
ثابتهای
enum را از
شمارشهای
واقعاً
بینام
(آنهایی که
بدون برچسب
هستند و در
بالاترین
سطح یا در یک
زمینه بدون
نام تعریف
شدهاند؛
یعنی نه در
یک typedef و نه در
یک struct یا union
نامدار
دیگر) در یک
شمارش
ساختگی با
برچسب '
(آپوستروف
تکی)
جمعآوری
نمیکند.
نماینده
متناظر آن
در سمت SML یک
ساختار به
نام E_'
خواهد بود.
-ec, -enum-constructors
در صورت
امکان (یعنی
اگر تمام
مقادیر یک
شمارش مشخص
با یکدیگر
متفاوت
باشند)، نوع
نمایش ML برای
شمارش را به
یک datatype تبدیل
میکند.
پیشفرض (و
حالت
بازگشتی)
این است که
آن نوع
همانند MLRep.Signed.int
تعیین شود.
-lh -libhandle H
از متغیر
H برای
ارجاع به
هندل شیء
کتابخانه
اشتراکی
استفاده
میکند. با
توجه به
محدودیتهای
CM، آرگومان H
باید در
قالب یک
شناسه
طولانی SML
باشد؛
مانند
MyLibrary.libhandle
(پیشفرض
Library.libh است).
-add, -include file
فایل file
را در فایل
.cm
تولیدشده
قرار
میدهد. این
گزینه
حداقل یک
بار برای
ارائه هندل
کتابخانه
ضروری است.
میتوان از
آن به دفعات
دلخواه
استفاده
کرد که منجر
به ذکر بیش
از یک فایل
ارائهشده
توسط
برنامهنویس
میشود. اگر
file یک مسیر
نسبی باشد،
باید نسبت
به
دایرکتوری
مشخصشده
در گزینه -dir
در نظر
گرفته شود.
-cm -cmfile file
نام فایل
.cm
تولیدشده
را نسبت به
دایرکتوری
مشخصشده
توسط گزینه
-dir تعیین
میکند
(پیشفرض
nlffi-generated.cm است).
-cppopt opt
رشته opt
به فهرست
گزینههایی
که باید به
پیشپردازنده
C ارسال
شوند
افزوده
میشود. این
فهرست
گزینهها
جایگزین
%o در
الگوی خط
فرمان cpp
میشود.
-Ux
این
گزینه (یعنی
-Ux) به فهرست
گزینههای cpp
افزوده
میشود.
-Dx
این
گزینه (یعنی
-Dx) به فهرست
گزینههای cpp
افزوده
میشود.
-Ix
این
گزینه (یعنی
-Ix) به فهرست
گزینههای cpp
افزوده
میشود.
-version
شماره
نسخه ml-nlffigen را
در خروجی
استاندارد
چاپ کرده و
سپس خارج
میشود.
-m, -match RE
بهطور
معمول ml-nlffigen
تعاریف ML را
برای یک
اعلان C در
صورتی لحاظ
میکند که
آن اعلان C
بهصورت
متنی در یکی
از
فایلهای
مشخصشده
در خط فرمان
ظاهر شده
باشد.
تعاریف
موجود در
فایلهای
ضمیمهشده
معمولاً
لحاظ
نخواهند شد
(مگر اینکه
نبود آنها
منجر به
ناسازگاری
شود). با مشخص
کردن -match RE،
ml-nlffigen تعاریفی
را که در
فایلهای
ضمیمهشده
بهصورت
بازگشتی
قرار دارند
و عبارت
باقاعده RE
به سبک AWK با
نام آنها
مطابقت
دارد نیز
لحاظ
میکند.
-p, -prefix P
نامهای
تمام
ساختارهای
SML تولیدشده
دارای
پیشوند P
خواهند بود
(علاوه بر
«S_» یا
«U_» یا
«F_»
معمول).
-g, -gensym G
نامهای
تولیدشده
توسط ml-nlffigen
(برای struct/union/enumهای
ناشناس)
پسوند
اضافی _G
را دریافت
خواهند کرد.
اگر قرار
باشد
خروجیهای
چندین
اجرای
مستقل از ml-nlffigen
در یک
برنامه ML در
کنار هم
قرار
گیرند،
باید از این
گزینه
استفاده
شود.
--
پردازش
گزینهها
را متوقف
میکند؛
باقی
آرگومانها
به عنوان
منابع C در
نظر گرفته
میشوند.