Transcript for:
डेरिवेशन और पार्स ट्री की समझ

लेवे स्टूडेंट्स, फालकॉम टो केट्समेशर्स आज की इस वीडियो में एक्सपेन करने जा रहा हूँ डेरिवेशन क्या होती है, डेरिवेशन ट्री क्या होता है या जिसको हम पास्ट ट्री भी बोल देते हैं क्योंकि ये बड़ा सिंपल सा टॉपिक है और कम्पाइलर डिजाइन के अंदर भी तो स्टार्ट करते हैं तो डेरिवेशन को समझने से पहले और ग्रामर की तो मैंने पूरी थिउरी फटाफट से recap करता हूँ, grammar क्या होती है? Grammar is a set of rules, तो यहाँ पे हमारे पास होते क्या है? चार चीज़े होती हैं हमारे पास, V, T, P and S, मतलब every grammar consists of V, T, P, S, और यह V, T, P, S क्या है? Set of variables, set of terminals, production rules and start symbol, जैसे हमारे पास एक grammar दी हुई है यहाँ पे, अब इस grammar में, इस grammar में हमारे पास देखो क्या है? E जो है, जो capital है that is what capital में जो भी represent करते हैं वो होता है set of variables अगर मैं बात करूँ यहाँ पे plus है star है यहाँ पे equal है id है यह क्या है set of terminals अब p क्या है production rule यह जो मैंने लिखा है e plus e e star e, e is equal to e यह क्या है production rules है और finally start symbol हमें start कहां से करना है let's see हमारा start जो है वो कहां से है easy है तो यह मेरे पास क्या है set of rules मेरे पास हो गए इसको हम बोलेंगे एक grammar अब दूसरी चीज़ यहाँ पर क्या आती है word, word या फिर string भी बोल देते हैं, जैसे TOC में हम लोग word की बात करते हैं, और अगर हम बात करें compiler की, तो वहाँ पर हम इसको string भी बोल देते हैं, तो यहाँ पर हम एक word या फिर एक string दिवी है, id plus id star id, अब हमारा question क्या है, question यह है, क तो उसके लिए हमें कुछ sequence of steps को follow करना पड़ता है चेक करने के लिए तो that is what basically है derivation so derivation is a basically it is a sequence of steps followed to generate a word जिसको हम string भी बोलते है from a given grammar जैसे हमारे पास यहाँ पर grammar दिवी है अब हम चेक कर लेते हैं फटफट से करना कुछ भी नहीं है आपको एक कर कर के rune को चकना है rune को उठाना है और simply इसके अंदर डालना है id प्लस id और यह आया कहां से है कहीं न कहीं आपने किसी न किसी programming के अंदर जैसे C, C++ उसमें कहीं न कहीं आपने लिखा होगा X plus Y star Z इस तरीके से कोई न कोई हमने जो है वो arithmetic equation इस तरीके से लिखी होगी तो जब हम compiler को देते हैं तो compiler का पहला step क्या होता है lexical analysis और वो क्या करता है basically इसको convert कर देता है ID plus ID star ID मतलब ये ID X की value ये ID Y की और ये किसकी है जेड की value, तो ये जो है वो lexical analysis करता है, अब हमारे पास आ जाता है, फिर next कि हमें check करना है कि whether this belongs to this grammar or not, तो उसके लिए हमें क्या करना है, सबसे पहले id plus id को produce करना है, तो id plus id को produce करने के लिए मेरे पास जो given grammar है, start मेरा कहां से, easy है, तो देखो यहाँ पे मेरे पास एक rule है, e E से मैंने E plus E इस तरीके से achieve कर लिया, अब यहाँ पे मेरे को पता है कि मेरा E plus E तो achieve हो गया, अब मुझे next यहाँ पे क्या चाहिए, star चाहिए, तो star के लिए मैं दूसरा rule यूज़ कर सकता हूँ, E star E वाला, तो मैंने क्या किया, इस E की जगह क्या भर दिया, इस E की जगह E star E जो है वो fill कर दिया, E plus, E star E, आपका E goes to this, तो यहाँ पे मैंने किया क्या E plus E star E हो गया, अब यहाँ पे पता है कि E जो है वो also generate ID, E जो है वो ID को भी generate करता है, तो मैंने यहाँ पे क्या किया, इस E की जगह ID put कर दिया, इस E की जगह ID put कर दिया, और इस E की जगह ID put कर दिया, तो यह देखो जी मेरे पास यह और this string basically belongs to the grammar ये जो है वो grammar को belong करता है तो ये simple सी कारणी जो है वो हम इस तरीके से check करते है तो ये, जो हम sequence of steps को follow कर रहे हैं जो sequence of steps को follow कर रहे हैं इसी को हम क्या बोलते हैं derivation बोलते हैं, derivation बोलते हैं, ठीक है तो ये derivation कहलाता है अब अगर मैं इसी चीज को pictorial representation में दिखा दू picture में दिखा दू tree की form में दिखा दूँ, तो वो बन जाता है parse tree या फिर derivation tree, जैसे इसी चीज़ को अगर मुझे करना हो, तो हमें simple, e जो है, वो क्या generate कर रहा है यहाँ पे, ए प्लस इ ठीक है तो एकॉर्डिंग टू द फर्स्ट रूल हमने किया क्या जो मेरा यह वाला रूल था ई गोज टू इ प्लस इ तो इस रूल की हेल्प से हमने किया क्या इस तरीके से हमने जो यह पिक्टोरियल रिपर्जेंटेशन पिक्टोरियल अब मेरे को पता है इस E को तो कुछ नहीं करना क्योंकि E के बाद मेरा प्रस जो है वो आना चाहिए अब मेरे इस E को क्या किया दूसरा रूल जो है वो एप्लाई किया इस E की जगह हमने क्या पुट कर दिया E star E क्योंकि E also generate E star E और फाइली हमने क्या किया E की जगह क्या पुट कर दिया ID because E जो है फाइली टर्मिनेट करना है तो टर्मिनेट करने के लिए मुझे ID जो है वो पुट करना पड़ेगा अब आपको करना क्या है यहां से traverse करना start करना है और इस तरीके से चलते जाओगे तो आपको given जो है वो string मिल जाएगी तो क्या मिलेगा सबसे पहले id फिर plus मिला फिर यहां से करके id मिला फिर यहां से करके star और फिर id तो इस तरीके से आप check करोगे तो आपको जो given word था वो आप आपका representation क्या कहलाता है? parse tree कहलाता है या फिर derivation tree कहलाता है अब इसकी दो types हैं left most derivation and right most derivation जो आपको next video में मिल जाएगी Thank you