روح

التحميل الان

روح الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Boost Software Licen...
  • السعر:
  • FREE
  • اسم الناشر:
  • Joel de Guzman
  • موقع ويب الناشر:
  • http://www.boost.org/doc/libs/1_35_0/libs/spirit/index.html

روح العلامات


روح وصف

الروح عبارة عن إطار مولد محلل مرجعي المنسوج المنحدر على الكائنات المنفذة باستخدام تقنيات برمجة تاا القالب الروح هي إطار مولدات المحلل الموجه نحو الكائنات المنحوتة المنحوتة المنفذة باستخدام تقنيات Template Meta-Programming. تسمح لنا قوالب التعبير بتقريب بناء جملة النموذج العادي الموسع (EBNF) بالكامل في C ++. يتيح إطار الروح قواعد قواعد استهداف مكتوبة حصريا في C ++. يمكن أن تختلط مواصفات القواعد EBNF المضمنة بحرية مع رمز C ++ الآخر، وذلك بفضل القوة التوليدية لقوالب C ++، يمكن تنفيذها على الفور. في Retrospect، يتعين على المترجمين المترجمون التقليدي أو مولدات المحللين إجراء خطوة ترجمة إضافية من رمز EBNF المصدر إلى C أو C ++ Code.a Simple Ebnf Grammar Snippet: المجموعة :: = '(' Expression ')' factor :: = = عدد صحيح |. مصطلح المجموعة :: = عامل (('*' Factor) | ('/' factor)) * التعبير :: = مصطلح (مصطلح "('-" مصطلح) * يتم تقريبه باستخدام مرافق الروح كما رأينا في مقتطف الكود هذا: المجموعة = '(' >> تعبير >> ')'؛ عامل = عدد صحيح | مجموعة؛ المصطلح = عامل >> * ('*' >> عامل) | ('/' >> عامل))؛ Expression = المصطلح >> * ('+' >> المصطلح) تعبير قاعدة الإنتاج في الواقع كائن يحتوي على تحليل وظيفة عضو يقوم بالعمل بالنظر إلى شفرة مصدر مكتوبة في القواعد التي أعلنتها للتو. نعم، إنها آلة حاسبة. سنبسط الآن عن طريق تخطي إعلانات النوع وتعريف عدد صحيح القواعد التي تم الاحتجاج بها بالعامل. التعبير قاعدة الإنتاج في مواصفات القواعد لدينا، يسمى تقليديا رمز البداية، يمكن أن يتعرف على المدخلات مثل: 12345 -12345 +123451 + 21 * 21/2 + 3/41 + 2 + 3 + 41 * 2 * 3 * 4 (1 + 2) * (3 + 4) (-1 + 2) * (3 + -4) 1 + ((6 * 200) - 20) / 6 (1 + (2 + (3 + (3 + (3 + (3 + (3 + 4 + 5))) بالتأكيد قمنا ببعض التعديلات على بناء جملة EBNF الأصلي. يتم ذلك للتوافق مع قواعد بناء الجملة C ++. والأرجح أننا نرى وفرة التحول >> المشغلين. نظرا لعدم وجود مشغلين "فارغ" في C ++، فمن الممكن ببساطة كتابة شيء مثل: A SEAD في بناء جملة الرياضيات، على سبيل المثال، يعني الضرب أو، في حالتنا، كما شوهد في بناء جملة EBNF يعني التسلسل (ب يجب أن تتبع أ). يستخدم الإطار التحول >> المشغل بدلا من ذلك لهذا الغرض. نأخذ المشغل >>، مع الأسهم التي تشير إلى اليمين، يعني "يتبعها". هكذا نحن نكتب: A >> Bthe Overter البديل | وتبقى الأقواس () كما هي. يتم استخدام عامل التعيين = بدلا من EBNF :: =. أخيرا وليس آخرا، تصبح نجم كلين * الذي كان مشغلا بوسفيكس في EBNF بادئة. بدلا من: A * // ... في بناء جملة EBNF، نكتب: * A // ... في Spirit.Since لا توجد نجوم Postfix، "*" في C / C ++. أخيرا، نقوم بإنهاء كل قاعدة مع شبه القولون في كل مكان، "؛". ما هو الجديد في هذا الإصدار: إصلاح علة فائض عدد صحيح منع تفشل في تحليل على أعداد صحيحة كبيرة. تم الإبلاغ عن هذا الخطأ وتم إصلاحه بواسطة Michael Andersen Nex


روح برامج ذات صلة

الزواحف

Ephemeris هي مكتبة تقرأ ويكتب ملفات الإيفمال النفاثة النفاثة في ناسا، وحساب الموقف ...

336

تحميل

threadlib.

threadlib هي مكتبة C و PD للتصحيح الخيوط الخارجي والخيوط externals. ...

112

تحميل

hapax.

Hapax هي مكتبة نصية نصية بسيطة ولكنها قوية ل Java. ...

165

تحميل