صيغة باكوس نور

صيغة باكوس نور

في علوم الحاسب الآلي،) BNF (صيغة باكوس العادية أو صيغة باكوس نور(هو أسلوب تدوين لقواعد السياق الحر، وكثيرا ما تستخدم لوصف تكوين الجملة من اللغات المستخدمة في الكمبيوتر، مثل لغات البرمجة للكمبيوتر، وأشكال الوثيقة، ومجموعات التعليمات وبروتوكولات الاتصال.. ويطبق في الحالات التي تحتاج إلى وصف دقيق للغة، على سبيل المثال، في مواصفات اللغة الرسمية، في الكتيبات، وفي كتب دراسة نظرية لغة البرمجة. وتستخدم العديد من الملحقات والمتغيرات من التدوين الأصلي ؛ البعض يتم تعريفها حرفيا، بما فيها صيغة باكوس نور المطولة (EBNF) صيغة باكوس نور المضافة (ABNF).

التاريخ

فكرة شرح بناء اللغة بإعادة كتابة القواعد يمكن إرجاعها إلى عمل بانيني على الاقل (حوالي القرن 4 ق م)، الذي يستخدمه في وصف بناء الكلمة السنسكريتية—وبالتالي، يقترح البعض لإعادة تسمية BNF لصيغة باكوس بانيني [1] اللغويين الأمريكان مثل ليونارد بلومفيلد وزيليج هاريس أخذت هذه الفكرة خطوة أخرى إلى الأمام من خلال محاولة إضفاء الطابع الرسمي على اللغة ودراستها بمصطلحات وخطوات رسمية أساسية (حوالي 1920-1960) وفي الوقت نفسه، إعادة كتابة القواعد مسلسلة بشكل رسمى، ونظم مجردة قد تم تقديمها ودراستها من قبل علماء الرياضيات مثل أكسل أثيو (في 1914)، واميل بوست في(1920s - 1940s) وآلان تورنغ (1936 (نعوم تشومسكي، تدريس اللغويات لطلاب نظرية المعلومات في معهد ماساتشوستس للتكنولوجيا (MIT)، تجمع بين علم اللغة والرياضيات، من خلال اخذ ما هو أساسي من شكليات ثيو كأساس لوصف بناء الجملة في اللغة الطبيعية، وقدم أيضا تمييزا واضحا بين القواعد التوليدية (تلك من قواعد السياق الحر) وقواعد التحول (1956) [2][3]

[4] اعتمد جون باكوس، وهو مصمم لغة برمجة في آي بي إم، على قواعد تشومسكي التوليدية لوصف بناء الجملة للغة البرمجة الجديدة IAL، المعروفة اليوم باسم[5] 58 ALGOL(1959) ،باستخدام تدوين BNF. أدت زيادة تطوير ALGOLإلى60 ALGOL ؛ في تقريرها عام (1963)، بيتر نور اطلق اسمه صيغة باكوس العادية على تدوين باكوس، وقام بتبسيطها لتقليل مجموعة الأحرف المستخدمة. ومع ذلك، دونالد كنوث جادل في هذا وقال ان BNF ينبغى ان تقرأ كصيغة باكوس نور، لأنها "ليست صيغة عادية بأي معنى"، [6] وخلافا، على سبيل المثال، صيغة تشومسكي العادية.

En otros idiomas