टॉप डाउन और बॉटम अप पार्सिंग के बीच महत्वपूर्ण अंतर यह है कि टॉप डाउन पार्सिंग स्टारिंग सिंबल से इनपुट स्ट्रिंग तक पार्सिंग करता है जबकि बॉटम डाउन पार्सिंग इनपुट स्ट्रिंग से शुरुआती सिंबल तक पार्सिंग करता है। इसके अलावा, टॉप डाउन और बॉटम अप पार्सिंग के बीच एक और महत्वपूर्ण अंतर यह है कि टॉप डाउन पार्सिंग लेफ्ट मोस्ट डेरिवेशन का उपयोग करता है और बॉटम डाउन पार्सिंग राइट मोस्ट व्युत्पत्ति का उपयोग करता है।
उच्च स्तरीय भाषाएं कंप्यूटर प्रोग्राम लिखने में मदद करती हैं। उन्हें प्रोग्रामर द्वारा समझना आसान होता है लेकिन कंप्यूटर द्वारा नहीं। इसलिए, उच्च-स्तरीय प्रोग्राम मशीन कोड में परिवर्तित हो जाता है।कंपाइलर का कार्य मानव पठनीय स्रोत कोड को मशीन पठनीय मशीन कोड में बदलना है। मशीन कोड में बदलने के लिए एक प्रोग्राम कई चरणों से गुजरता है। इस पूरी प्रक्रिया को लैंग्वेज प्रोसेसिंग सिस्टम कहा जाता है। उनमें से एक संकलन है। सिंटैक्स विश्लेषक या पार्सर कंपाइलर में होता है, और यह पार्सिंग कार्य करता है।
टॉप डाउन पार्सिंग क्या है?
हर प्रोग्रामिंग भाषा में भाषा का प्रतिनिधित्व करने के लिए नियमों का एक सेट होता है। वाक्यविन्यास विश्लेषक या पार्स इनपुट स्ट्रिंग लेता है और जांचता है कि यह व्याकरण प्रस्तुतियों के अनुसार है या नहीं। दूसरे शब्दों में, व्याकरण को उस स्ट्रिंग को एक पार्स ट्री का उपयोग करके उत्पन्न करना चाहिए।
टॉप डाउन पार्सिंग में, पार्सिंग शुरुआती सिंबल से होती है और दिए गए इनपुट स्ट्रिंग तक पहुंच जाएगी। निम्नलिखित व्याकरण उत्पादन नियमों पर विचार करें। इनपुट स्ट्रिंग (w) कैड है।
एस -> सीएएडी
ए -> एबी /ए
टॉप डाउन पार्सिंग करने के बाद पार्स ट्री इस प्रकार है।
चित्र 01: पार्स ट्री 1 टॉप डाउन पार्सिंग के साथ
S, c A को उत्पन्न करता है d और A, a b उत्पन्न करता है। स्ट्रिंग कैबड है। यह आवश्यक स्ट्रिंग नहीं है। तो, बैकट्रैकिंग करना आवश्यक है, जो कि अन्य विकल्पों का उपयोग करना है।
इसी प्रकार, S, c A d का उत्पादन करता है। A के लिए दूसरा विकल्प लागू करने पर a मिलेगा। अब यह आवश्यक स्ट्रिंग देता है। इसलिए, पार्सर इस इनपुट स्ट्रिंग को स्वीकार करता है। टॉप डाउन पार्सिंग करने के बाद पार्स ट्री इस प्रकार है।
चित्र 02: पार्स ट्री 2 टॉप डाउन पार्सिंग के साथ
जब इनपुट स्ट्रिंग (w) एबीसीडीई हो
निम्नलिखित व्याकरण उत्पादन नियमों पर विचार करें।
एस -> अबे
ए -> एबीसी/बी
बी -> डी
टॉप डाउन पार्सिंग में, S -> aABe (ए -> एबीसी को प्रतिस्थापित करना)
एस -> aAbcBe (ए -> बी को प्रतिस्थापित करना)
S -> abbcBe (बी ->d को प्रतिस्थापित करना)
एस -> एबीसीडीई
प्रतिस्थापन सबसे पहले बाएं सबसे चर से शुरू होता है और फिर अगले दाएं स्थिति में और इसी तरह। इसलिए, यह सबसे बाईं ओर व्युत्पत्ति विधि का अनुसरण करता है। इसके अलावा, यह तय करना महत्वपूर्ण है कि चर होने पर कौन सा उत्पादन नियम चुनना है।
बॉटम अप पार्सिंग क्या है?
नीचे से ऊपर की ओर पार्सिंग दूसरे तरीके से होती है। पार्सिंग इनपुट स्ट्रिंग से प्रारंभिक प्रतीक तक होती है। निम्नलिखित व्याकरण उत्पादन नियमों पर विचार करें और इनपुट स्ट्रिंग को w cad होने दें
एस -> सीएएडी
ए -> एबी /ए
पार्स ट्री बॉटम अप पार्सिंग करने के बाद इस प्रकार है।
चित्र 03: पार्स ट्री बॉटम अप पार्सिंग के साथ
दिया गया स्ट्रिंग कैड है। ए, ए द्वारा उत्पन्न होता है। सी, ए और डी प्रारंभिक प्रतीक एस प्राप्त करने के लिए संयोजित होते हैं।
जब इनपुट स्ट्रिंग(w) एबीसीडीई हो
निम्नलिखित व्याकरण उत्पादन नियमों पर विचार करें।
एस -> अबे
ए -> एबीसी/बी
बी -> डी
बॉटम अप पार्सिंग में, S -> aABe (B ->d को प्रतिस्थापित करना)
एस -> एएडी (ए -> एबीसी को प्रतिस्थापित करना)
एस -> ए एबीसीडी (ए -> बी को प्रतिस्थापित करना)
एस -> एबीसीडीई
प्रतिस्थापन सबसे पहले सबसे सही चर से शुरू होता है और फिर अगली बाईं स्थिति में चला जाता है और इसी तरह। इसलिए, यह वामपंथी व्युत्पत्ति विधि का अनुसरण करता है।
टॉप डाउन और बॉटम अप पार्सिंग में क्या अंतर है?
टॉप-डाउन पार्सिंग एक पार्सिंग रणनीति है जो सबसे पहले पार्स ट्री के उच्चतम स्तर को देखती है और एक औपचारिक व्याकरण के नियमों का उपयोग करके पार्स ट्री के नीचे काम करती है। बॉटम अप पार्सिंग एक पार्सिंग रणनीति है जो पहले पार्स ट्री के निम्नतम स्तर को देखती है और औपचारिक व्याकरण के नियमों का उपयोग करके पार्स ट्री को तैयार करती है।पार्सिंग प्रारंभिक प्रतीक से इनपुट स्ट्रिंग तक, ऊपर नीचे पार्सिंग में होती है। दूसरी ओर, बॉटम अप पार्सिंग में, इनपुट स्ट्रिंग से शुरुआती सिंबल तक पार्सिंग होती है।
इसके अलावा, टॉप डाउन पार्सिंग में मुख्य निर्णय यह चुनना है कि स्ट्रिंग के निर्माण के लिए किस उत्पादन नियम का उपयोग करना है, जबकि बॉटम डाउन पार्सिंग में मुख्य निर्णय यह चुनना है कि स्ट्रिंग को कम करने के लिए उत्पादन नियम का उपयोग कब किया जाए। प्रारंभिक प्रतीक प्राप्त करें। इसके अलावा, ऊपर से नीचे की पार्सिंग में सबसे बाईं ओर व्युत्पत्ति का उपयोग होता है और नीचे की ओर की पार्सिंग में सबसे अधिक व्युत्पत्ति का उपयोग होता है।
सारांश - टॉप डाउन बनाम बॉटम अप पार्सिंग
टॉप डाउन और बॉटम अप पार्सिंग के बीच का अंतर यह है कि टॉप डाउन पार्सिंग स्टारिंग सिंबल से इनपुट स्ट्रिंग तक पार्सिंग करता है जबकि बॉटम डाउन पार्सिंग इनपुट स्ट्रिंग से शुरुआती सिंबल तक पार्सिंग करता है।