विकिपीडिया लेख सटीक है। यदि आपके पास पहुंच है, तो निश्चित रूप से EBNF पर Wirth's original article पढ़ें।
दूसरी बात यह जानना है कि ईबीएनएफ को को भाषाओं के लिए हाथ-लिखने के लिए आसान बनाने के लिए डिज़ाइन किया गया था जिसमें प्रत्येक वाक्य रचनात्मक निर्माण ने शुरुआत में कीवर्ड की पहचान की है। घुंघराले ब्रेसिज़ while
लूप का अनुवाद करते हैं; वर्ग ब्रैकेट (वैकल्पिक सामान) if
पर अनुवाद करता है, और विकल्प if-then-else
या case
कथनों का अनुवाद करते हैं। यदि आपके पास अपनी भाषा को डिजाइन करने की लक्जरी है तो आप और में एक पार्सर को तुरंत खटखटा सकते हैं, अच्छे त्रुटि संदेश दें।
एकमात्र जगह यह थोड़ा कठिन हो जाती है जब आपके पास ऐसी भाषा होती है जिसमें कई अलग-अलग स्तरों के साथ इंफिक्स ऑपरेटर होते हैं। इसके लिए आप डेव हैंनसन के पेपर Compact Recursive-Descent Parsing of Expressions चाहते हैं। शायद प्रिंसटन टेक रिपोर्ट श्रृंखला में एक मुफ्त संस्करण है, और आप हमेशा Hanson's C front end में कोड देख सकते हैं।
स्रोत
2008-12-18 02:40:44
"कंपाइलर कंस्ट्रक्शन निकलॉस विर्थ" की खोज करें, इसे एक लिंक वापस करना चाहिए जहां आप अपनी उत्कृष्ट पुस्तक के नवीनतम संस्करण को स्वतंत्र रूप से डाउनलोड कर सकते हैं। या उसका होम पेज देखें http://www.cs.inf.ethz.ch/~wirth/ –