ياك (yacc) هو برنامج مولد تحاليل مطور من قبل ستيفن كورتيس جونسون في شركة إي تي أند تي لنظام يونكس.[3][4][5] الاسم اختصار لـ Yet Another Compiler Compiler. يولد تحليل (جزء الترجمة الذي يحول الكود إلى معنى نحوي) معتمداً على قواعد تحليل الجُمل مكتوبة بملاحظات شبية بصيغة باكوس نور.
نوع |
LALR parser generator |
---|
المطورون |
ستيفن جونسون [1] |
---|---|
لغة البرمجة | |
الإصدار الأول |
1970 |
المستودع | |
الرخصة |
Lucent Public License [2] |
اشتقاقات | |
---|---|
كانت ياك متوفرة كمولد التحليل الافتراضي لمعظم أنظمة يونكس. ومنذ ذلك أصبحت الافتراضية لدى البرامج المتوافقة بشكل كبير مثل، بيركلي ياك، جنو بيسون،MKS yacc and Abraxas pcyacc. وتم إضافة إصدار جديد للإصدار السابق من شركة AT&T لمشروع صن أوبن سولاريس. واضافت تحسينات ومزايا إضافية على الياك الأصلي، لكن المفهوم بقي نفسة. تم إعادة كتابة ياك بعدة لغات مثل راتفور، أم أل، أيدا، باسكال، جافا، بايثون، روبي وCommon Lisp.
يتطلب مولد التحليل من ياك محلل مفردات (lexical analyzer) ، مثل Lex أو Flex والمنتشرة بشكل كبير. يعرف معيار IEEE بوزيكس P1003.2 وظائف ومتطلبات Lex وYacc.
بعض إصدارات ياك من إيه تي آند تي أصبحت مفتوحة المصدر. مثل، الأكود (لتطبيقات مختلفة) المتوفرة مع التوزيع القياسي لـ Plan 9 وأوبن سولاريس.
انظر أيضاً
- البيسون: إصدار جنو من ياك.
- ليكس (و محلل مفردات فلكس)، تحليل رمزي يشيع استخدامها جنبا إلى جنب مع ياك (و بيسون).
- BNF، هيبناء وصفي للجملة تستخدم للتعبير عن قواعد اللغة الخالية من السياق.
المراجع
- https://www.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/yacc — تاريخ الاطلاع: 19 مايو 2020 — مؤرشف من الأصل
- الناشر: دبيان
- "معلومات عن ياك (برنامج) على موقع d-nb.info". d-nb.info. مؤرشف من الأصل في 16 ديسمبر 2019.
- "معلومات عن ياك (برنامج) على موقع catalogue.bnf.fr". catalogue.bnf.fr. مؤرشف من الأصل في 30 أبريل 2019.
- "معلومات عن ياك (برنامج) على موقع packages.gentoo.org". packages.gentoo.org. مؤرشف من الأصل في 16 ديسمبر 2019.
- ستيفن س. جونسون. YACC: Yet Another Compiler-Compiler. دليل المبرمج ليونككورتيس Vol 2b، 1979.
وصلات خارجية
- لقاء عالم الحاسوب مع ستيفن س. جونسون عن ياك
- ML-Yacc إصدار من ياك للغة ML.
- CL-Yacc، مولد التحليل LALR(1) للغة Common Lisp.
- PLY إصدار من ياك للغة بايثون.
- نظرية ياك
- ocamlyacc إصدار من ياك للغة لغة كامل الموضوعية.
- Racc إصدار من ياك للغة روبي.
- ورقة "توزيع قواعد Non-LR(k) لياك" لغاري لينش