asdlgen -
کامپایلر
زبان توصیف
نحو
انتزاعی (ASDL)
asdlgen COMMAND [ OPTIONS ] FILE
...
که در آن COMMAND
یکی از
موارد زیر
است:
help
اطلاعات
مربوط به
گزینههای
موجود را در
خروجی
استاندارد
چاپ
میکند.
version
نسخهٔ asdlgen
را در خروجی
استاندارد
چاپ
میکند.
c++ یا cxx
تولید کد
C++.
sml
تولید کد
SML.
check
بررسی
صحت مشخصات
ورودی،
بدون تولید
هیچ خروجی.
دستور asdlgen
فایلهای
مشخصشده
را که باید
حاوی
اعلانات
ماژول و
نمای (view) ASDL
باشند
میخواند و
کدهای pickling و unpickling
را تولید
میکند.
-n
هیچ فایل
خروجی
نوشته
نمیشود. در
عوض، فهرست
فایلهایی
که قرار بود
نوشته شوند
در خروجی
استاندارد
چاپ
میشود.
-d DIR, --output-directory=DIR
دایرکتوری
خروجی را
برای قرار
دادن
فایلهای
تولیدشده
مشخص
میکند. به
طور
پیشفرض،
خروجی در
همان
دایرکتوری
فایل ورودی
که از آن
تولید شده
است قرار
میگیرد.
--gen=NAMES
اجزای
مورد نظر
برای تولید
را مشخص
میکند، که
در آن
NAMES
فهرستی از
نامهای
جداشده با
کاما از
موارد زیر
است:
•types —
تعاریف نوع
را بر اساس
مشخصات ASDL
تولید
میکند.
•memory —
تولید pickler
حافظه.
•file —
تولید pickler
فایل.
•sexp —
تولید pickler
مبتنی بر S-Expression
(فقط برای SML).
--base-include=FILE
نام فایل
هدر C++ را که
انواع پایه
و توابع
اولیه ASDL را
تعریف
میکند
مشخص
میکند.
مقدار
پیشفرض asdl/asdl.hxx
است.
--cm=FILE
یک فایل CM
برای pickler
تولید
میکند؛
این یک
کتابخانهٔ CM
تعریف
خواهد کرد.
توجه داشته
باشید که
اگر مشخصات ASDL
شامل
ماژولهای
اولیه
باشد، این
ماژولها
در فهرست
ساختارهای
صادرشده (exported structures)
قرار
خواهند
گرفت، اما
فایلهای
مبدأ
پشتیبان
باید به
صورت دستی
به فایل CM
اضافه
شوند.
--mlb=FILE
یک فایل MLB
برای pickler
تولید
میکند.
توجه داشته
باشید که
اگر مشخصات ASDL
شامل
ماژولهای
اولیه
باشد، این
موارد در
فهرست
ساختارهای
صادرشده
قرار
خواهند
گرفت، اما
فایلهای
مبدأ
پشتیبان
باید به
صورت دستی
به فایل MLB
اضافه
شوند.
نسخهٔ
اولیهٔ asdlgen
توسط Dan Wang به
عنوان بخشی
از پروژهٔ National
Compiler Infrastructure در
دانشگاه
پرینستون
نوشته شد.
این نسخه از
ابزار توسط
John Reppy
پیادهسازی
شده است.
ASDL Reference Manual (در
مستندات SML/NJ
گنجانده
شده است).
Copyright © 2020 The Fellowship of SML/NJ
این یک
نرمافزار
آزاد است؛
شرایط
تکثیر را در
سورسکد
مشاهده
کنید. هیچ
تضمینی
وجود
ندارد؛ حتی
برای
قابلیت
فروش یا
تناسب با یک
هدف خاص.