انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

genparse - آنلاین در ابر

Genparse را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور genparse است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


genparse - خط فرمان ژنراتور تجزیه کننده

خلاصه


genparse [گزینه های] فایل ها...

شرح


genparse یک ژنراتور تجزیه کننده خط فرمان عمومی است. از ساده و مختصر
فایل مشخصات، می توانید پارامترهای خط فرمان و سوئیچ هایی را که می خواهید تعریف کنید
دوست دارم بتونم به برنامه خودت برسم Genparse کدهای C، C++ یا جاوا را ایجاد می کند
تجزیه کننده برای شما

Genparse فرض می کند که گنو getopt_long(3) تابع در کتابخانه C شما ساخته شده است. برای
جاوا ممکن است مجبور شوید یک فایل jar مناسب را برای کامپایلر جاوا خود مشخص کنید.

OPTIONS


genparse این گزینه ها را می پذیرد:

-c, --cppext گسترش
پسوند فایل C++. (پیش فرض = سی سی)

-d ورود به سیستم را روشن کنید.

-f, --ورود به سیستم فایل نام
نام فایل لاگ (پیش فرض = genparse.log)

-h, --کمک
نمایش اطلاعات راهنما

-g, --gnulib
از کتابخانه سازگاری گنو استفاده کنید (Gnulib، نگاه کنید به http://www.gnu.org/software/gnulib/).
فقط برای خروجی C موجود است. به چند نوع دیگر اجازه می دهد (طولان بدون علامت، intmax_t و غیره)
که Gnulib توابع تبدیل را برای آن فراهم می کند.

-i, -- بین المللی کردن
ماکرو بین المللی _() را در اطراف خروجی متن قرار دهید تا برنامه تولید شده
را می توان با استفاده از دستور gettext گنو بین المللی کرد. در حال حاضر فقط اجرا شده است
برای خروجی C

-l, --زبان ارسال به دوست
زبان خروجی فقط C، C++ و جاوا پشتیبانی می شوند. هر یک از موارد زیر
C++ را نشان دهید: "c++"، "cpp"، "cc" و "cxx". برای استفاده از جاوا: "java" یا "Java".
(پیش فرض = ج)

-o, -- outfile نام
نام فایل خروجی. (پیش فرض = parse_cl)

-m, --اعضای طولانی
از گزینه های طولانی برای اعضای کلاس تجزیه کننده (struct) استفاده کنید. پیش فرض به است
از نمایش کوتاه استفاده کنید مگر اینکه فقط یک نمایش طولانی تعریف شده باشد
در فایل genparse اگر این گزینه تنظیم شود، رفتار برگردانده می شود. در
سپس از نمایش طولانی استفاده می شود، مگر اینکه فقط یک نمایش کوتاه وجود داشته باشد
تعریف شده است.

-o, -- outfile نام فایل
نام ریشه فایل خروجی پسوند توسط زبان خروجی تعیین می شود
و احتمالا با گزینه های دیگر. به عنوان مثال، زمانی که زبان خروجی C است، دادن
این گزینه یک آرگومان از "file" منجر به نام فایل های خروجی "file.h" می شود.
"file.c" و "file_cb.c" به ترتیب برای فایل‌های هدر، تجزیه‌کننده و پاسخ به تماس.
مقدار پیش فرض "parse_cl" است.

-p, -- parsefunc عملکرد
نام تابع/کلاس تجزیه. این گزینه به کاربر اجازه می دهد نام را مشخص کند
تابع (برای C) یا کلاس (برای C++ و جاوا) که دستور واقعی را انجام می دهد
تجزیه خط (پیش فرض = "Cmdline").

-P, --چاپ زیاد
خروجی متن راهنما برای هر پارامتر خط فرمان در یک دستور چاپ جداگانه.

-q, --ساکت
حالت بی صدا - خروجی روی صفحه نمایش وجود ندارد.

-s, هدرهای استاتیک
هدر توصیفی بالای فایل های تولید شده ثابت نگه دارید. بدون این
گزینه genparse تاریخ و زمان ایجاد را چاپ می کند، نسخه هسته لینوکس، ساخت هسته
زمان، نام معماری کامپیوتر، نام میزبان و نام کاربری.

-v, - نسخه
نسخه خروجی

-D, --فهرست راهنما
دایرکتوری برای ذخیره نتایج

INPUT فایل


یک فایل مشخصات genparse (معمولاً فقط "فایل genparse" نامیده می شود) از یک عدد تشکیل شده است
از ورودی ها، یکی در هر پارامتر خط فرمان، از فرم:

short_names[*|!] [/ نام بلند[*|!][=opt_name]] نوع [ گزینه های ]

A نام کوتاه یک کاراکتر (کوچک یا بزرگ) یا تک رقمی است. نام بلند هست یک
نام گزینه طولانی تر (توصیفی تر). در خط فرمان یک نام کوتاه قبل از آن آورده می شود
با یک خط تیره (مثلا '-a') و یک نسخه طولانی قبل از دو خط تیره (مثلاً
'--همه'). اگر نام پارامتر طولانی لازم نیست، می توانید فقط نام کوتاه را مشخص کنید
(و اسلش نیازی نیست ظاهر شود). به منظور تعیین پارامتری که فقط دارای طول است
مجموعه نام short_names به NONE. ممکن است چندین گزینه کوتاه داشته باشید، بنابراین برای
تنظیم نمونه نام کوتاه به 'aA' و نام بلند به 'همه' اجازه می دهد تا مشخص شود
سوئیچ خط فرمان به صورت '-a' یا '-A' یا '--all'، همه آنها یک کار را انجام می دهند.

A * بعد از نام کوتاه or نام بلند آرگومان را اختیاری می کند. این را می توان برای آن مشخص کرد
گزینه های کوتاه و بلند به طور جداگانه.

A ! بعد از نام کوتاه or نام بلند گزینه را بولی می کند. این به فرد اجازه می دهد تا a را ترکیب کند
گزینه کوتاه بولی با گزینه طولانی با آرگومان اختیاری یا اجباری یا به
یک گزینه طولانی بولی را با یک گزینه کوتاه با یک آرگومان اختیاری یا اجباری ترکیب کنید.
A ! اگر نوع گزینه باشد معنی ندارد پرچم.

نوع باید یکی از INT شناور ارابه رشته or پرچم. چهار مورد اول باید خودخواه باشند
توضیحی آخرین گزینه یک گزینه "switch" است که هیچ آرگومان نمی گیرد. برای خروجی C و اگر
-gnulib در خط فرمان تنظیم شده است و انواع زیر نیز مجاز هستند: طولانی
(برای مدت طولانی)، اولونگ (برای int طولانی بدون امضا)، intmax (برای intmax_t، تعریف شده در Gnulib)،
uintmax (برای uintmax_t)، دو برابر.

در زیر گزینه های پشتیبانی می شوند. آنها ممکن است به هر ترتیب و به جز برای ظاهر شوند
توصیف فقط یکی از هر فیلد ممکن است برای هر گزینه تعریف شود.

A به طور پیش فرض ارزش برای پارامتر برای یک رشته این فقط پیش فرض ساده است
ارزش هر چه که هست برای رشته ها، یک پیش فرض باید در داخل پرانتز و مشخص شود
نقل قول، و ممکن است شامل فضای خالی، به عنوان مثال {"مقدار پیش فرض من"} باشد. برای یک کاراکتر
پارامتر باید در گیومه های تکی محصور شود، به عنوان مثال 'a' یا '\n'.

A محدوده از مقادیر درون پرانتز مقادیر کم و زیاد بین a مشخص می شود
تعیین کننده محدوده (یا '...' یا '..'). ممکن است مقدار زیاد یا پایین باشد
برای محدوده ای که فقط از یک طرف محدود شده است حذف شده است. پارامتر بررسی خواهد شد
مطمئن شوید که در این محدوده قرار دارد.

A فراخوان تابع. این تابع پس از هر بررسی محدوده فراخوانی می شود
انجام. هدف از تماس برگشتی برای انجام بررسی اعتبار بیشتر است
پیچیده تر از آنچه در فایل genparse مشخص می شود. به عنوان مثال، شما ممکن است
برنامه ای بنویسید که ورودی آن اعداد اول، رشته های معین باشد
طول و غیره

A شرح در دو نقل قول چاپ شده توسط استفاده () عملکرد. اگر یک
خط کافی نیست، سپس چندین توصیف را مشخص کنید، یکی در هر خط و هر کدام
آنها را در دو نقل قول اگر توضیحات از ستون 1 در Genparse شروع شود
فایل سپس آن را نیز در ستون 1 در چاپ خواهد شد استفاده () تابع.

A #gp_include دستورالعمل به genparse دستور می دهد تا فایل genparse دیگری را اضافه کند،
به عنوان مثال #gp_include other.gp. فقط تعاریف پارامترها در شامل مجاز است
فایل، هیچ دستورالعمل جهانی وجود ندارد.

An __ERR_MSG__(err_txt) بخشنامه پیغام خطای چاپ شده را مشخص می کند
زمانی که آرگومان قابل تبدیل نیست. مثال: __ERR_MSG__("%s: بی اعتبار
بحث و جدل"). این پیام زمانی که تابع تبدیل باشد چاپ می شود
شکست خورد یا زمانی که آرگومان خارج از محدوده بود. فرض می کند که شامل یکی است %s که خواهد شد
با آگرومنت که قابل تبدیل نیست جایگزین شود. فقط زمانی در دسترس است
Genparse با فراخوانی می شود --gnulib، در غیر این صورت نادیده گرفته شده است.

در صورت تمایل می توان یک تابع تبدیل را به عنوان آرگومان دوم اضافه کرد، به عنوان مثال
__ERR_MSG__("%s: بی اعتبار بحث و جدل"، نقل قول). این منجر به یک پیام خطا می شود
پسندیدن خطا (EXIT_FAILURE، 0, "%s: بی اعتبار بحث و جدل"، quotearg (مطمئن)).

An __ADD_FLAG__ بخشنامه تنها در صورتی منطقی است که پارامتر خط فرمان نباشد
در حال حاضر یک پرچم، در این مورد یک پارامتر پرچم اضافی اضافه می شود که خواهد بود
اگر پارامتر خط فرمان در خط فرمان مشخص شده باشد را تنظیم کنید. این گزینه
اگر پارامتری آرگومان اختیاری داشته باشد به طور خودکار تنظیم می شود.

A __CODE__(بیانات) بخشنامه عبارات کد مشخص شده کپی می شوند
به معنای واقعی کلمه. مثال: __CODE__(printf ("پارامتر x بود تنظیم")؛). کد مشخص شده
می تواند بیش از یک خط گسترش یابد. به منظور دادن فرصت به Genparse به
کد را به درستی تورفتگی کنید، فاصله و تورفتگی زبانه ها را در یک جا با هم ترکیب نکنید __CODE__
بیانیه.

A __STORE_LONGINDEX__ بخشنامه به Genparse دستور می دهد تا یک فیلد نوع interer اضافه کند
به کلاس نتیجه که روی متغیر longindex تنظیم می شود (آخرین آرگومان در
تماس با @code{getopt_long()}). این فیلد جدید همان نام را دریافت می کند
فیلد نتیجه مربوط به اما با یک است _لی پسوند

در زیر جهانی دستورات پشتیبانی می شوند. ممکن است به هر ترتیبی ظاهر شوند.

An #include دستورالعمل به genparse دستور می دهد که عبارت include را کپی کند
در کد C یا C++ تولید شده توسط genparse، اما نه هیچ فایل سرصفحه یا تماسی
فایل های.

A #اجباری می توان از دستورالعمل استفاده کرد و تابع usage() را زیباتر کرد. آن اجازه می دهد
شما باید پارامترهای خط فرمان اجباری را که ممکن است پس از سوئیچ ها ایجاد شود، مشخص کنید. توجه داشته باشید
که Genparse پارامترهای اجباری را بررسی نمی کند، آنها فقط در صفحه چاپ می شوند
استفاده () عملکرد با __اجبارات__ بخشنامه. منسوخ: اضافه کردن اجباری
پارامترهای in la #استفاده بخش به جای آن.

An #ارزش_خروجی دستورالعملی که مقدار خروجی را در صورت بروز خطا مشخص می کند.
پیش فرض EXIT_FAILURE است.

A #خطوط_شکستن دستورالعملی که عرض خطوط را مشخص می کند
روی صفحه راهنما اگر نه #خطوط_شکستن دستورالعمل مشخص شده است سپس خطوط خواهد بود
دقیقاً مطابق با فایل genparse چاپ شده است.

If #بدون_ساختار مشخص می شود سپس ساختاری تعریف نمی شود که با آن پر شود
پارامترهای خط فرمان در تجزیه کننده تولید شده. این ممکن است مفید باشد اگر شما
می خواهید کد خود را با آن اضافه کنید __CODE__ در عوض اظهارات فقط برای C پشتیبانی می شود
خروجی.

A #گزینه_طولانی_صادرات بخشنامه اگر #گزینه_طولانی_صادرات تعریف می شود سپس a
تابع #گزینه_های_طولانی() اضافه می شود که آرایه longoptions مورد استفاده را صادر می کند
#getopt_long(). این دستورالعمل فقط برای خروجی C و برای زبان های دیگر در دسترس است
نادیده گرفته می شود.

A جهانی فراخوان تابع. این تابع برای بررسی وابستگی های متقابل مفید است
بین پارامترها وابستگی های متقابل را نمی توان در هر فردی بررسی کرد
تابع callback زیرا ترتیب فراخوانی این توابع متفاوت است،
بسته به ترتیب پارامترها در خط فرمان.

Genparse نیز a را ایجاد می کند استفاده () تابعی که یک متن راهنما را برای stdout در مورد چاپ می کند
استفاده از برنامه ای که Genparse تجزیه کننده را برای آن تولید می کند. می توان آن را سفارشی کرد
مشخص کردن بخش استفاده در پایین فایل Genparse. اگر چنین بخشی وجود ندارد
آن را به صورت پیش فرض مشخص کرد

#شروع_استفاده
استفاده: __PROGRAM_NAME__ __OPTIONS_SHORT__ __MANDATORIES__
__واژه نامه__
#پایان_استفاده

بخش استفاده با شروع می شود #شروع_استفاده و به پایان می رسد #پایان_استفاده. هر متنی بین است
به طور کلمه به کلمه چاپ می شود به جز کلیدواژه های زیر که به صورت فهرست شده جایگزین می شوند
زیر است:

__نام برنامه__: نام برنامه در C و C++ نام برنامه درج شده است
argv[0].

__OPTIONS_SHORT__: فهرستی از گزینه های فرم کوتاه موجود، به عنوان مثال [ -abc ].

__اجبارات__: لیستی از تمام پارامترهای اجباری که با #اجباری تعریف شده است
دستورات منسوخ: فهرست اجباری پارامترهای اینجا کلیک نمایید به طور مستقیم.

__واژه نامه__: شرحی از تمام گزینه های خط فرمان. این اطلاعات است
برای تعاریف پارامترها به شکل قابل خواندن توسط انسان ارائه شده است. شامل
نوع پارامتر، پیش فرض، محدوده و هر نظر. خطی که شامل
__واژه نامه__ با واژه نامه پارامترها جایگزین می شود، هر متن دیگری در
همان خط نادیده گرفته می شود.

__واژه نامه_GNU__: مثل __واژه نامه__ اما به سبک گنو به صورت اختیاری توسط یک
عدد صحیح داخل پرانتز که تورفتگی متن توصیفی را مشخص می کند (مثلاً
__واژه نامه__(30)). تورفتگی پیش فرض 24 است.

__رشته های): یک ثابت رشته، در C احتمالاً یک ماکرو رشته تعریف شده با
دستور #define preprocessor. این ماکرو را می توان با استفاده از یک فایل دیگر وارد کرد
دستورالعمل شامل در فایل genparse. هنگام تولید خروجی جاوا نادیده گرفته می شود.

__INT__(x): یک ثابت عدد صحیح، در C احتمالاً یک ماکرو عدد صحیح تعریف شده با the
دستور #define preprocessor. این ماکرو را می توان با استفاده از یک فایل دیگر وارد کرد
دستورالعمل شامل در فایل genparse. هنگام تولید خروجی جاوا نادیده گرفته می شود.

__CODE__(بیانات): مانند گزینه های پارامتر، به بالا مراجعه کنید.

__DOCUMENT__NOT_DOCUMENT__: هر خطی که حاوی این ماکرو باشد در آن چاپ نخواهد شد
استفاده () عملکرد. می تواند برای پیاده سازی پارامترهای خط فرمان بدون استفاده شود
لیست کردن آنها در صفحه راهنما

__NL__: خط جدید. برای شکستن خطوط به صورت دستی در حالی که خط شکستن خودکار مفید است
روشن است (نگاه کنید به #خطوط_شکستن). هنگام تولید خروجی جاوا نادیده گرفته می شود.

__NEW_PRINT__: دستور چاپ فعال را ببندید و دستور جدیدی را شروع کنید.

__COMMENT__(متن): در کد چاپ متن استفاده نظر دهید.

گزینه های طولانی را می توان با علامت = و یک نام اختیاری دنبال کرد opt_name که می تواند
در توضیحات زیر به آن اشاره شود. استفاده خواهد شد در استفاده () تابع
فقط. به عنوان مثال خط genparse زیر

s / block-size=SIZE int "استفاده از بلوک های SIZE-byte"

به خط زیر در صفحه راهنما منتهی می شود

[ -s ] [ --block-size=SIZE ] (نوع=INTEGER)
از بلوک های SIZE بایتی استفاده کنید

به سبک جنپارس (__واژه نامه__) و یا

-s، --block-size=SIZE از بلوک های SIZE بایتی استفاده کنید

به سبک گنو (__واژه نامه_GNU__).

همچنین می توان به منظور نشان دادن، دور نام اختیاری پرانتزهای مربعی قرار داد
که آرگومان اختیاری است. با این حال، این برای تجزیه کننده تولید شده معنایی ندارد. استفاده کنید
* پسوندها به منظور اختیاری کردن یک آرگومان.

s* / block*[=SIZE] int "use blocks."
"اگر SIZE داده نشود، اندازه آنها 1 کیلوبایت خواهد بود."

به خط زیر در صفحه راهنما منتهی می شود

-s، --block[=SIZE] از بلوک‌ها استفاده می‌کنند.
اگر SIZE داده نشود، اندازه آنها 1 کیلوبایت خواهد بود.

مثال


این یک نمونه فایل genparse است:

#عبارتند از

/* اظهار نظر */
my_callback()

i / iterations int 100 [10...1000] iter_callback()
"تعداد تکرار برای اجرا."

/*
* اظهار نظر
*/

n / رشته نام {"mike"} name_cb() "نام کاربر"
رشته s/str "رشته تست"
f flag "یک پرچم احمقانه!"

#شروع_استفاده
استفاده: __PROGRAM_NAME__ __OPTIONS_SHORT__ نام فایل
این فقط یک برنامه تست احمقانه است.
__واژه نامه__
#پایان_استفاده

با استفاده از خدمات onworks.net از genparse به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad