عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

جينبارس - عبر الإنترنت في السحابة

قم بتشغيل genparse في موفر الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو أمر genparse الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


Genparse - مولد محلل سطر الأوامر

موجز


com.genparse [الخيارات] ملفات

الوصف


com.genparse هو مولد محلل سطر الأوامر العام. من بسيطة وموجزة
في ملف المواصفات، يمكنك تحديد معلمات سطر الأوامر والمفاتيح التي تريدها
ترغب في أن تكون قادرة على تمرير إلى البرنامج الخاص بك. يقوم Genparse بإنشاء كود C أو C++ أو Java الخاص بملف
محلل لك.

يفترض Genparse أن GNU getopt_long(3) الوظيفة مدمجة في مكتبة C الخاصة بك. ل
Java قد يتعين عليك تحديد ملف jar مناسب لمترجم Java الخاص بك.

OPTIONS


com.genparse يقبل هذه الخيارات:

-c, --cppext تمديد
امتداد الملف C++. (الافتراضي = سم مكعب)

-d قم بتشغيل التسجيل.

-f, --ملف تسجيل الاسم
اسم ملف السجل. (الافتراضي = genparse.log)

-h, --مساعدة
عرض معلومات التعليمات.

-g, --gnulib
استخدم مكتبة التوافق GNU (Gnulib، انظر http://www.gnu.org/software/gnulib/).
متاح فقط لإخراج C. يسمح ببعض الأنواع الإضافية (unsigned long، intmax_t، إلخ.)
والتي يوفر لها Gnulib وظائف التحويل.

-i, --تدويل
ضع ماكرو التدويل _() حول إخراج النص بحيث يتم إنشاء البرنامج
يمكن تدويلها باستخدام أمر GNU gettext. يتم تنفيذها حاليًا فقط
لإخراج C.

-l, --لغة طويل
لغة الإخراج. يتم دعم C وC++ وJava فقط. اى من التالية
تشير إلى C++: "c++"، و"cpp"، و"cc"، و"cxx". لاستخدام Java: "java" أو "Java".
(الافتراضي = ج)

-o, - ملف الاسم
ضع اسم الملف. (الافتراضي = parse_cl)

-m, --longmembers
استخدم الخيارات الطويلة لأعضاء فئة المحلل اللغوي (البنية). الافتراضي هو
استخدم التمثيل القصير إلا إذا كان هناك تمثيل طويل محدد فقط
في ملف الجينبارس إذا تم تعيين هذا الخيار، فسيتم إرجاع السلوك. ال
يتم استخدام التمثيل الطويل إلا إذا كان هناك تمثيل قصير فقط
يعرف.

-o, - ملف اسم الملف
الاسم الجذر لملف الإخراج. سيتم تحديد الامتداد بواسطة لغة الإخراج
وربما عن طريق خيارات أخرى. على سبيل المثال، عندما تكون لغة الإخراج هي C، فإن العطاء
سيؤدي هذا الخيار وسيطة "ملف" إلى أسماء ملفات الإخراج "file.h"،
"file.c" و"file_cb.c" لملفات الرأس والمحلل ورد الاتصال، على التوالي.
القيمة الافتراضية هي "parse_cl".

-p, --parsefunc ظائفها
اسم وظيفة التحليل/الفئة. يتيح هذا الخيار للمستخدم تحديد الاسم
للوظيفة (لـ C) أو الفئة (لـ C++ وJava) التي تنفذ الأمر الفعلي
تحليل السطر (الافتراضي = "Cmdline").

-P, --manyprints
نص تعليمات الإخراج لكل معلمة سطر الأوامر في أمر طباعة منفصل.

-q, --هادئ
الوضع الهادئ - لا يوجد إخراج على الشاشة.

-s, --رؤوس ثابتة
احتفظ بالرأس الوصفي أعلى الملفات التي تم إنشاؤها بشكل ثابت. بدون هذا
يقوم خيار genparse بطباعة تاريخ ووقت الإنشاء وإصدار Linux kernel وبناء kernel
الوقت واسم بنية الكمبيوتر واسم المضيف واسم المستخدم.

-v, --الإصدار
إصدار الإخراج.

-D, --الدليل
دليل لتخزين النتائج.

INPUT FILE


يتكون ملف مواصفات genparse (يُسمى عادةً "ملف genparse") من رقم
من الإدخالات، واحد لكل معلمة سطر أوامر، للنموذج:

short_names[*|!] [/ اسم طويل[*|!][=opt_name]] نوع [ الخيارات ]

A اسم قصير هو حرف واحد (صغير أو كبير) أو رقم واحد. اسم طويل هو
اسم الخيار الأطول (الأكثر وصفًا). في سطر الأوامر سوف يسبق اسم قصير
بشرطة واحدة (على سبيل المثال '-a') وستسبق النسخة الطويلة شرطتان (على سبيل المثال
'--الجميع'). إذا لم يكن اسم المعلمة الطويل ضروريًا، فيمكنك تحديد الاسم القصير فقط
(وليس من الضروري أن تظهر الشرطة المائلة). من أجل تحديد المعلمة التي تحتوي على فترة طويلة فقط
مجموعة الاسم short_names إلى لا شيء. من الممكن أن يكون لديك خيارات قصيرة متعددة، لذلك
إعداد المثال اسم قصير إلى "أأ" و اسم طويل إلى "الكل" سيسمح بتحديد
قم بالتبديل في سطر الأوامر إلى "-a" أو "-A" أو "--all"، وكلها تفعل نفس الشيء.

A * بعد اسم قصير or اسم طويل يجعل الوسيطة اختيارية. يمكن تحديد هذا ل
خيارات قصيرة وطويلة بشكل منفصل.

A ! بعد اسم قصير or اسم طويل يجعل الخيار منطقيًا. هذا يسمح للمرء بالجمع بين أ
خيار منطقي قصير مع خيار طويل مع وسيطة اختيارية أو إلزامية أو إلى
دمج خيار طويل منطقي مع خيار قصير مع وسيطة اختيارية أو إلزامية.
A ! لا معنى له إذا كان نوع الخيار علم.

نوع يجب أن يكون واحدًا من مادبا الطفو دبابة سلسلة or علم. الأربعة الأولى يجب أن تكون ذاتية
تفسيرية. الأخير هو خيار "التبديل" الذي لا يأخذ أي وسيطات. لإخراج C و if
--gnulib تم تعيينه في سطر الأوامر بالإضافة إلى ذلك، يُسمح بالأنواع التالية: التداول الطويل
(للكثافة الطويلة)، أولونغ (للنسبة إلى int الطويلة غير الموقعة)، com.intmax (بالنسبة لـ intmax_t، المحددة في Gnulib)،
com.uintmax (لـ uintmax_t)، مضاعفة.

ما يلي الخيارات مدعمون. قد تظهر بأي ترتيب باستثناء
الوصف يمكن تحديد واحد فقط من كل حقل لكل خيار.

A الافتراضي قيمنا للمعلمة. بالنسبة للسلسلة، هذا هو الإعداد الافتراضي البسيط
القيمة مهما كانت. بالنسبة للسلاسل، يجب تحديد الافتراضي بين قوسين و
علامات الاقتباس، وقد تتضمن مسافة بيضاء، على سبيل المثال {"القيمة الافتراضية"}. لشار
يجب أن تكون المعلمة محاطة بعلامات اقتباس مفردة، على سبيل المثال "a" أو "\n".

A نطاق من القيم بين قوسين. يتم تحديد القيم المنخفضة والعالية بين أ
محدد النطاق (إما "..." أو ".."). قد تكون القيمة العالية أو المنخفضة
تم حذفه لنطاق محدد من جانب واحد فقط. سيتم التحقق من المعلمة
تأكد من أنها تقع ضمن هذا النطاق.

A رد وظيفة. يتم استدعاء هذه الوظيفة بعد إجراء أي فحص للنطاق
إجراء. الغرض من رد الاتصال هو التحقق من الصلاحية وهو أكثر من ذلك
معقدة مما يمكن تحديده في ملف genparse. على سبيل المثال، قد تفعل ذلك
اكتب برنامجًا يتطلب إدخال أرقام أولية وسلاسل محددة
الطول، الخ.

A وصف في علامات الاقتباس المزدوجة. تتم طباعته بواسطة الاستخدام () وظيفة. إذا كان واحدا
السطر لا يكفي ثم حدد أوصاف متعددة، واحد في كل سطر وكل منها
لهم في علامات الاقتباس المزدوجة. إذا بدأ الوصف في العمود الأول في ملف Genparse
الملف ثم ستتم طباعته أيضًا في العمود الأول في الملف الاستخدام () وظيفة.

A #gp_include سيوجه التوجيه genparse لتضمين ملف genparse آخر،
على سبيل المثال #gp_include آخر.gp. يُسمح فقط بتعريفات المعلمات المضمنة
الملف، لا توجد توجيهات عالمية.

An __ERR_MSG__(err_txt) التوجيه. يحدد رسالة الخطأ التي تتم طباعتها
عندما لا يمكن تحويل الوسيطة. مثال: __ERR_MSG__("%s: غير صالحة
دعوى"). سيتم طباعة هذه الرسالة عند إما وظيفة التحويل
فشل أو عندما كانت الوسيطة خارج النطاق. يفترض أن تحتوي على واحد %s والتي سوف
يتم استبداله بالعنصر الذي لا يمكن تحويله. متاح فقط عندما
يتم استدعاء Genparse مع --gnulib، وتجاهل غير ذلك.

اختياريًا، يمكن إضافة دالة تحويل كوسيطة ثانية، على سبيل المثال
__ERR_MSG__("%s: غير صالحة دعوى"، اقتباس). وهذا من شأنه أن يؤدي إلى رسالة خطأ
مثل خطأ (EXIT_FAILURE، 0, "٪س: غير صالحة دعوى"، quotearg (أحسن)).

An __ADD_FLAG__ التوجيه. يكون منطقيًا فقط إذا لم تكن معلمة سطر الأوامر كذلك
بالفعل علامة، في هذه الحالة تتم إضافة معلمة علامة إضافية والتي ستكون
تعيين ما إذا تم تحديد معلمة سطر الأوامر في سطر الأوامر. هذا الخيار
يتم تعيينه تلقائيًا إذا كانت المعلمة تحتوي على وسيطة اختيارية.

A __الكود__(البيانات) التوجيه. يتم نسخ بيانات التعليمات البرمجية المحددة
حرفياً. مثال: __CODE__(printf ("معامل x وكان تعيين")؛). الرمز المحدد
يمكن أن تمتد على أكثر من سطر واحد. من أجل منح Genparse الفرصة للقيام بذلك
ضع مسافة بادئة للرمز بشكل صحيح، ولا تخلط بين المسافات البادئة وعلامات التبويب في مكان واحد __شفرة__
بيان.

A __STORE_LONGINDEX__ التوجيه. يرشد Genparse لإضافة حقل نوع interer
إلى فئة النتيجة التي سيتم تعيينها على متغير longindex (الوسيطة الأخيرة في
استدعاء @code{getopt_long()}). سيحصل هذا الحقل الجديد على نفس اسم الحقل
حقل النتيجة يرتبط به ولكن مع _li بوستفيكس.

ما يلي شامل توجيهات مدعمون. قد تظهر بأي ترتيب.

An تتضمن # سيوجه التوجيه genparse لنسخ بيان التضمين المذكور
في كود C أو C++ الذي تم إنشاؤه بواسطة genparse، ولكن ليس أي ملفات رأس أو رد اتصال
الملفات.

A #إلزامي يمكن استخدام التوجيه لجعل استدعاءات دالة use() أجمل. تسمح
عليك تحديد معلمات سطر الأوامر الإلزامية التي قد تتبع المفاتيح. ملحوظة
أن Genparse لا يتحقق من المعلمات الإلزامية، فهي تتم طباعتها فقط في ملف
استعمال () تعمل مع __الإلزامية__ التوجيه. إهمال: تضيف إلزامي
المعلمات in ال #استخدام قسم بدلا من ذلك.

An #exit_value التوجيه الذي يحدد قيمة الخروج في حالة حدوث خطأ.
الافتراضي هو EXIT_FAILURE.

A #كسر_الخطوط التوجيه الذي يحدد العرض الذي سيتم تقسيم الخطوط إليه
على شاشة المساعدة. إذا لا #كسر_الخطوط يتم تحديد التوجيه ثم ستكون الخطوط
تمت طباعته تمامًا كما هو موضح في ملف genparse.

If #no_struct تم تحديده، فلن يتم تحديد أي بنية سيتم ملؤها
معلمات سطر الأوامر في المحلل اللغوي الذي تم إنشاؤه. قد يكون هذا مفيدًا إذا كنت
تريد إضافة الكود الخاص بك مع __شفرة__ التصريحات بدلا من ذلك. مدعوم فقط لـ C
الناتج.

A #export_long_options التوجيه. لو #export_long_options يتم تعريفه بعد ذلك أ
وظيفة #get_long_options() تتم إضافتها والتي تصدر مجموعة longoptions المستخدمة من قبل
#getopt_long(). هذا التوجيه متاح فقط لمخرجات C، للغات الأخرى
يتم تجاهله.

A شامل رد وظيفة. هذه الوظيفة مفيدة للتحقق من الترابط
بين المعلمات. لا يمكن التحقق من الترابط داخل كل فرد
دالة رد الاتصال لأن الترتيب الذي سيتم استدعاء هذه الوظائف به يختلف،
اعتمادًا على ترتيب المعلمات في سطر الأوامر.

يقوم Genparse أيضًا بإنشاء ملف الاستخدام () الوظيفة التي تطبع نص تعليمات إلى stdout حول
استخدام البرنامج الذي يقوم Genparse بإنشاء المحلل اللغوي له. يمكن تخصيصها بواسطة
تحديد قسم الاستخدام في أسفل ملف Genparse. إذا لم يكن هناك مثل هذا القسم
حددت أنها افتراضية

#استخدام_يبدأ
الاستخدام: __PROGRAM_NAME__ __OPTIONS_SHORT__ __MANDATORIES__
__قائمة المصطلحات__
#استخدام_نهاية

يبدأ قسم الاستخدام بـ #استخدام_يبدأ وينتهي مع #استخدام_نهاية. أي نص بين هو
مطبوعة حرفيًا باستثناء الكلمات الرئيسية التالية، والتي سيتم استبدالها كما هو مدرج
أدناه:

__إسم البرنامج__: اسم البرنامج . في C وC++ يتم ذكر اسم البرنامج
أرجف[0].

__OPTIONS_SHORT__: قائمة بخيارات النماذج القصيرة المتاحة، على سبيل المثال [ -abc ].

__الإلزامية__: قائمة بجميع المعلمات الإلزامية كما هو محدد بواسطة #mandatory
أوامر. إهمال: قائمة إلزامي المعلمات هنا مباشرة.

__قائمة المصطلحات__: وصف لجميع خيارات سطر الأوامر. هذه هي المعلومات
نظرا لتعريفات المعلمة في شكل يمكن قراءته من قبل الإنسان. ويشمل
نوع المعلمة، الافتراضي، النطاق وأي تعليقات. الخط الذي يحتوي على
__قائمة المصطلحات__ يتم استبداله بمسرد المعلمات، وأي نص آخر في
يتم تجاهل نفس السطر.

__مسرد_جنو__: مثل __قائمة المصطلحات__ ولكن بأسلوب جنو. اختياريا متبوعًا بـ
عدد صحيح بين قوسين يحدد المسافة البادئة للنص الوصفي (على سبيل المثال
__قائمة المصطلحات__(30)). المسافة البادئة الافتراضية هي 24.

__سلاسل): ثابت سلسلة، في لغة C ربما يكون ماكرو سلسلة محددًا بـ
# تحديد أمر المعالج المسبق. يمكن استيراد هذا الماكرو من ملف آخر باستخدام
توجيه التضمين في ملف genparse. تم تجاهله عند إنشاء مخرجات Java.

__INT__(خ): ثابت عدد صحيح، في لغة C ربما يكون ماكرو عدد صحيح محدد بـ
# تحديد أمر المعالج المسبق. يمكن استيراد هذا الماكرو من ملف آخر باستخدام
توجيه التضمين في ملف genparse. تم تجاهله عند إنشاء مخرجات Java.

__الكود__(البيانات): كما هو الحال بالنسبة لخيارات المعلمة، انظر أعلاه.

__لا_تستند__: لن تتم طباعة أي سطر يحتوي على هذا الماكرو في ملف
الاستخدام () وظيفة. يمكن استخدامها لتنفيذ معلمات سطر الأوامر بدون
إدراجها على شاشة المساعدة.

__NL__: خط جديد. مفيد لكسر الخطوط يدويًا أثناء كسر الأسطر تلقائيًا
قيد التشغيل (انظر #كسر_الخطوط). تم تجاهله عند إنشاء مخرجات Java.

__NEW_PRINT__: أغلق أمر الطباعة النشط وابدأ أمرًا جديدًا.

__تعليق__(نص): التعليق في الكود الخاص بطباعة نص الاستخدام.

يمكن أن يتبع الخيارات الطويلة علامة = وتسمية اختيارية opt_name والتي يمكن
سيتم الإشارة إليها في الوصف التالي. سيتم استخدامه في الاستخدام () وظيفة
فقط. على سبيل المثال سطر genparse التالي

s / block-size=SIZE int "استخدم كتل SIZE بايت"

سوف يؤدي إلى السطر التالي في شاشة المساعدة

[ -s ] [ --block-size=SIZE ] (النوع=عدد صحيح)
استخدام كتل SIZE بايت

بأسلوب الجينبارس (__قائمة المصطلحات__) أو

-s, --block-size=SIZE استخدم كتل SIZE بايت

بأسلوب جنو (__مسرد_جنو__).

ومن الممكن أيضًا وضع قوسين مربعين حول الاسم الاختياري للإشارة إليه
أن الحجة اختيارية. هذا ليس له أي معنى للمحلل اللغوي الذي تم إنشاؤه. يستخدم
* الإصلاحات اللاحقة من أجل جعل الوسيطة اختيارية.

s* / block*[=SIZE] int "استخدم الكتل."
"إذا لم يتم تحديد الحجم، فسيحصلون على حجم 1 كيلو بايت."

سوف يؤدي إلى السطر التالي في شاشة المساعدة

-s, --block[=SIZE] استخدم الكتل.
إذا لم يتم تحديد الحجم، فسيحصلون على حجم 1 كيلو بايت.

مثال


فيما يلي نموذج لملف genparse:

#يشمل

/* تعليق */
my_callback()

أنا / التكرارات int 100 [10...1000] iter_callback()
"عدد التكرارات المطلوب تشغيلها."

/*
* التعليق
*/

ن / سلسلة الاسم {"مايك"} name_cb() "اسم المستخدم"
سلسلة s/str "سلسلة اختبار"
العلم f "علم غبي!"

#استخدام_يبدأ
الاستخدام: __PROGRAM_NAME__ __OPTIONS_SHORT__ اسم الملف
هذا مجرد برنامج اختبار غبي.
__قائمة المصطلحات__
#استخدام_نهاية

استخدم genparse عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad