हेलो एवरीवन इस वीडियो में हम पूरा करेंगे सीडी यानी कंपाइलर डिजाइन स्पेशली फॉर योर सेमेस्टर एग्जाम मैंने इस वीडियो में बताया है कि एग्जाम पॉइंट ऑफ व्यू से कौन-कौन से टॉपिक्स इंपॉर्टेंट है वहां से एगजैक्टली क्या क्वेश्चंस एग्जाम में पूछे जाते हैं इस वीडियो में मैंने पूरा कंपाइलर स्टार्टिंग से लेकर एंड तक पढ़ाया है तो अगर इससे पहले आपने कंपाइलर कभी नहीं पढ़ा या आप जल्दी से इसको रिवाइज करना चाहते हैं दोनों ही केस में वीडियो आपके लिए एकदम परफेक्ट है अगर आप ये पूरी वीडियो कंप्लीट करते हैं तो आपको कंपाइलर सिखाने की जिम्मेदारी मेरी यहां मैंने बहुत सारे कॉलेज और यूनिवर्सिटी का सिलेबस स्टडी करने के बाद कंटेंट फाइनल किया है तो इस बात की गारंटी करता हूं कि 95 पर से ज्यादा सिलेबस तो आपके सेमेस्टर या यूनिवर्सिटी एग्जाम से मैच करेगा ही करेगा इस वीडियो में जो भी कंटेंट हमने डिस्कस किया है उसके एकदम प्रो लेवल के नोट्स का लिंक आपको वीडियो के डिस्क्रिप्शन में मिलेगा यहां नीचे टाइमलाइन पे आप चैप्टर देख सकते हैं जिस पर क्लिक करके आप किसी भी टॉपिक पे डायरेक्टली भी जा सकते हैं आप दुनिया में जिस जगह से भी वीडियो देख रहे हैं कमेंट करके एक बार जरूर बताइएगा ताकि कमेंट सेक्शन में भारत का नक्शा बनता हुआ नजर आए तो दोस्तों डायरेक्टली एक बार नजर डाल लीजिए वीडियो के चैप्टर्स पे तो ओवरऑल फाइव चैप्टर्स या यूनिट्स आपके सेमेस्टर की वो होने वाली है यू कैन टेक अ स्क्रीनशॉट जैसे मैं आपसे प्रॉमिस किया है लगभग लगभग 90 टू 95 पर से ज्यादा सिलेबस मैच करेगा कंपाइलर डिजाइन या कभी-कभी नाम थोड़ा चेंज कर लेते हैं यूनिवर्सिटी में अलग-अलग यूनिवर्सिटी में बट मैंने 1015 यूनिवर्सिटीज का सिलेबस स्टडी करने के बाद ये बनाया है तो इस थ्रू आउट द सब्जेक्ट क्या होने वाला है अभी मैंने कंपाइल नहीं किया छह सा घंटे की कुछ वीडियो बन रही होगी यहां पर आपको चैप्टर नेम लिखा मिलेगा यहां पर आपको टॉपिक मिलेगा और मोटा-मोटा जो हेडिंग्स यहां पर लिखी हुई है इसी सीक्वेंस में कहानी चलती जाएगी नीचे आपको चैप्टर भी नजर आ रहे होंगे आप चाहे तो सीधे चैप्टर पे क्लिक करके अगर किसी स्पेसिफिक यूनिट पे जाना चाहे तो जा सकते हैं दोबारा याद दिला रहा हूं सेमेस्टर एग्जाम के लिए मोर देन सफिशिएंट है कोई बुक कोई यू नो कोई भी सेकंड रिसोर्स आपको रेफर करने की जरूरत नहीं है एग्जाम से एक रात पहले भी देख रहे हैं तो कोई टेंशन नहीं अगर दो-चार दिन का समय तो तोब आग लगा देंगे बिकॉज़ एक दो बार तीन बार इसको देखो थोड़ी प्रैक्टिस करो तो दैट विल बी मोर दन सफिशिएंट तो थैंक यू सो मच चलिए सीधे चैप्टर नंबर वन से स्टार्ट करते हैं तो चलिए दोस्तों सीधे डिस्कशन स्टार्ट करते हैं और बात करूंगा चैप्टर नंबर वन की तो जैसा मैंने आपको बताया यहां पे टॉप लेफ्ट में आप हमेशा देखेंगे कौन सा चैप्टर चल रहा है और टॉप राइट में कौन-कौन से टॉपिक चल रहा है एंड मोटा-मोटा दीज आर द टॉपिक्स और लगभग लगभग इसी सीक्वेंस में मैं इसको फॉलो कर रहा हूंगा सीक्वेंस कभी-कभी आगे पीछे हो सकती है बट जैसे मैं बार-बार मेंशन कर रहा हूं आप कंपेयर कर लेना अपने कॉलेज से यूनिवर्सिटी एग्जाम से 90 टू 95 पर ज्यादा सिलेबस मैच करेगा जो अभी आपके करिकुलम में चल रहा है सो डायरेक्टली जंपिंग ऑन टू द आईडिया थोड़ा सा बजाय इसके कि मैं डायरेक्टली जंप कर जाऊं कंपाइलर के अंदर और कभी-कभी जैसे मैं बोलता हूं ना ओवरऑल पर्सपेक्टिव ओवरऑल पिक्चर नहीं समझ आ रही होती कि यार ये हो क्या रहा है तो थोड़ा सा बैकग्राउंड समझते हैं कि कंपाइलर आखिर है क्या और इसका इकोसिस्टम इसका का एनवायरमेंट क्या है है ना एंड देन आई विल डीप डाइव इन टू द कंपाइलर वाला आईडिया सो वी टेंड्स टू राइट अ प्रोग्राम इन हाई लेवल लैंग्वेजेस दैट इज मच लेस कॉम्प्लिकेटेड फॉर अस टू कंप्रिहेंड एंड मेंटेन इन थॉट्स बोलना क्या चाह रहा अब देखो पॉइंट ये है जो एगजैक्टली आइडिया रन होता है ना मशीन पे वो तो 0101 रन होता है मशीन लेवल लैंग्वेज जिसे हम बोलते हैं बट 0101 की टर्म्स में सोचना आईडियाज समझना और वो लंबे-लंबे प्रोग्राम लिखना ऑब् वियस हमारे लिए आसान है कि बहुत मुश्किल है बहुत मुश्किल है तो लॉजिक समझ रहे हैं मशीन पर तो सर 01 01 ही एग्जीक्यूट होता है बट व हमारे लिए लिखना मुश्किल है तो हम क्या करते हैं हम हाई लेवल प्रोग्राम लिखते हैं है ना जैसे c+ c+ प जावा दीज प्रोग्राम्स गोज थ्रू अ सीरीज ऑफ ट्रांसफॉर्मेशन सो दैट दे कैन रेडली बी एग्जीक्यूटेड और बी यूज ऑन द मशीनस कई बार हमें इन्हें ट्रांसलेट करना पड़ेगा ताकि ये उस काबल बन जाए जो हम यू नो फाइनली मशीन के ऊपर एग्जीक्यूट कर सके 0101 की फॉर्म में एंड दैट इज वयर लैंग्वेज प्रोसेसिंग सिस्टम कम्स इन टू पिक्चर तो जो पूरा आईडिया है इसका पहले मैं एक बार आपसे यू नो पर्सपेक्टिव डिस्कस करना चाह रहा हूं ताकि अगेन इस ओवरऑल इकोसिस्टम में यू गेट टू अंडरस्टैंड किर कंपाइलर कहां पे फिट हो रहा है है ना तो आप क्या लिखेंगे देखिए एक बार स्टेप समझिए और फिर मैं एक-एक करके बेसिक बेसिक आईडिया आपको समझाता हूं सो हम क्या लिखते हैं हम लिखते हैं हाई लेवल लैंग्वेज है ना हाई लेवल लैंग्वेज जब आप एग्जीक्यूशन शुरू करते हैं तो सबसे बोलेता है प्री प्रोसेसर्स प्रीप्रोसेसर क्या करते हैं प्री प्रोसेसिंग करते हैं उसका मतलब समझेंगे आफ्टर प्री प्रोसेसिंग वी गेट अ प्योर हाई लेवल लैंग्वेज सो दिस इज स्लाइट डिफरेंस आप बोलोगे सेम ही तो बात है नहीं सेम बात नहीं थोड़ा सा डिफरेंस है तो हाई लेवल और प्योर हाई लेवल में क्या डिफरेंस है वो हम समझेंगे देन आफ्टर प्योर हाई लेवल लैंग्वेज वी हैव कंपाइलर कंपाइलर क्या करेगा कंपाइलर कन्वर्ट दिस प्योर हाई लेवल लैंग्वेज इंटू असेंबली लेवल लैंग्वेज देन आ जाता है असेंबलर असेंबलर कन्वर्ट्स दिस असेंबली लेवल इनटू मशीन लेवल कोड्स एंड देन वी हैव लोडर्स एंड लिंकर्स जो इनको आपस में लिंक करेगा लोड करेगा मेमोरी में एंड देन वी गेट अ एग्जीक्यूटेबल फाइल जो एग्जीक्यूट होता है तो समय के साथ हुआ यह था उल्टा सोचते हैं एक बार सबसे पहले ह्यूमन ने डायरेक्ट एग्जीक्यूटेबल कोड लिखा फिर उसने लोडर यूज करना स्टार्ट किया लोडर लिंकर फिर असेंबलर आए फिर कंपाइलर आए एंड फाइनली प्री प्रोसेसिंग अभी जो आजकल के जमाने में हम कोड लिखते हैं वो ये सारे के सारे स्टेप से होते हुए जाता है और हमारा जो सब्जेक्ट है कंपाइलर वो जस्ट इसका एक इंटरमीडिएट स्टेप है है ना तो मैं चाहता हूं कि यह एक आईडिया एक बार आपको समझ आ जाए अब छोटा-छोटा अंडरस्टैंडिंग जल्दी से देता हूं प्री प्रोसेसिंग का क्या मतलब है लुक एट दिस अब ये प्रोग्राम आपने लिखा एक जनरल सी प्रोग्राम यहां पर है सी प्रोग्राम है ना हां तो देन यू सी अ हैश इंक्लूड स्टू . ए या यड ए या कनियो ए या m.hd पर फाइल आप इंक्लूड करते हैं तो ये जो हेडर फाइल्स इंक्लूड करने का आईडिया है ये प्रीप्रोसेसर्स इसको इस पे काम करता है तो बेसिकली आपने तो हेडर फाइल इंक्लूड कर दी बट उस फाइल को ढूंढ के लाना और प्रोग्राम में लगाना यह किसका काम है प्रीप्रोसेसर का लुक एट दिस डिफाइन हम कई बार यूज़ करते हैं है ना मैक्रो एक्सपेंशन जिसे बोल देते हैं तो फॉर एग्जांपल हमने डिफाइन कर दिया कि यार पाई है और पाई का वैल्यू जो है वो है 3.141 समथिंग लाइक दिस मैक्रो एक्सपेंशंस भी किसका रिस्पांसिबिलिटी है प्रीप्रोसेसर्स का है यह समझ आता है शॉर्ट हैंड ऑपरेटर आपने कई बार यूज़ कि होंगे कई बार कोड में पढ़े होंगे तो मान लीजिए लिखना है a = a + 1 तो इन जनरल वी राइट a + = 1 या a + + a - माइनस ये तो सब आपने किया ही होगा है ना तो ये सारे के सारे शॉर्ट हैंड ऑपरेटर हैं और कंपाइलर याय नहीं नहीं समझता हम इनको लिख रहे हैं क्योंकि हमारे लिए सहूलियत हमें लिखना आसान है बट बिफोर कंपाइलर काम करें उससे पहले इनको स्टैंडर्ड फॉर्म में कन्वर्ट करना पड़ता है तोय जितनी भी रिस्पांसिबिलिटीज हैं यह सारा काम कौन करता है प्रीप्रोसेसर तो मोटा-मोटा बताओ प्रीप्रोसेसर कौन से तीन काम करेगा अगर आपने कुछ हेडर फाइल्स मेंशन की हैं उनको प्रोग्राम में इंक्लूड करना पॉइंट नंबर वन पॉइंट नंबर टू अगर आपने कुछ डिफाइन किया है मैक्रो एक्सपेंशस उनको एक्सपेंड करना और कोई भी शॉर्ट हैंड ऑपरेटर्स अगर है उनको लेके आना यह सारी रिस्पांसिबिलिटी किसकी हो गई प्रीप्रोसेसर की और प्रीप्रोसेसर करने के बाद जो कोड बनेगा उसको हम बोलते हैं प्योर हाई लेवल लैंग्वेज मैं बोलता हूं जस्ट लाइक अ जोक अब हाई लेवल और प्योर हाई लेवल में क्या डिफरेंस है सर वही डिफरेंस है जो डालडा में और देसी घी में तो डिफरेंस तो है तो डिफरेंस यहां पर भी है यस नाउ अब आपके बाद आज के बाद कोई आपसे पूछे कंपाइलर क्या होता है तो हमारा जो हीरो है हमारा जो सुपरमैन है सुपर पावर है वो कंपाइलर है है है ना तो कई बार क्या होता है कि हम बोल तो देते हैं जनरल डेफिनेशन बच्चे एग्जाम में लिखाता जैसे मैंने दो-तीन लिख के रखी हैं अ कंपाइलर इज अ प्रोग्राम दैट ट्रांसलेट अ कंप्यूटर को रिटेन इन वन प्रोग्रामिंग लैंग्वेज इनटू अनदर लैंग्वेज या सोर्स लैंग्वेज टू टारगेट लैंग्वेज इसमें समझ में कुछ आया नहीं लिख तो आपने दिया कि एक प्रोग्राम है जो सोर्स को टारगेट में या यू नो वन लैंग्वेज को अनदर लैंग्वेज में कन्वर्ट करता है बात सही है बट कौन सी तो आपको पता है किसको किस में करता है कंपाइलर र हाई लेवल को असेंबली लेवल में कन्वर्ट करता है भूलेंगे तो नहीं प्योर हाई लेवल को असेंबली लेवल में कन्वर्ट करता है वेरी इंपॉर्टेंट थिंग यस सो प्राइमर मैंने आपको बता दिया क्या इसका काम है सो देर यू कैन सी कि लेफ्ट हैंड साइड पे आपको हाई लेवल कोड नजर आ रहा है एंड देयर ये कन्वर्ट करता है इसको असेंबली लेवल कोड में जहां पे अगेन जिको बोलते हैं निमोनिक्स आपको नजर आ रहे है और किधर से किधर जो भी ऑपरेशन करना है जो भी रजिस्टर ट्रांसफर लैंग्वेज है असलर को जो इनपुट में जाएगी वो आपको नजर आ रहा है है ना इफ आई डीप डाइव इन टू कंपाइलर थोड़ा सा क्योंकि इस पर तो हमें डिटेल में काम करना ही है देखिए कंपाइलर के बहुत सारे फेजेस हैं कंपाइलर का बेसिकली काम क्या है यह तो हम समझ गए कि इनपुट होगा प्योर हाई लेवल लैंग्वेज और आउटपुट होगा असेंबली लेवल लैंग्वेज बट बेसिकली कंपाइलर दो काम करता है इन द फर्स्ट हाफ सेक्शन जैसे आमतौर पे हम कंपाइलर का फ्रंट एंड भी बोलते हैं कंपाइलर यह देखता है कि जिस कोड को मैं ट्रांसलेट कर रहा हूं उसमें कोई एरर तो नहीं है अब एरर कहां से आ गया एरर बिल्कुल हो सकता है क्योंकि कोड लिख कौन रहा ह्यूमन लिख रहा है और अगर ह्यूमन लिखेगा तो उसमें गलती होने के चांसेस हैं तो यहां पर जो पहले तीन स्टेप हैं है ना जिसे हम बोलते हैं लेक्सिक एनालिसिस अभी आगे डिटेल में समझेंगे सिंटेक्स एनालिसिस एंड सिमटिक एनालिसिस तो ड्यूरिंग फर्स्ट थ्री स्टेप्स हम देखते हैं कि वेदर कोई गड़बड़ तो नहीं है कोई एरर तो नहीं है और अगर कोई एरर नहीं है तो फिर सेकंड हाफ जिसको हम बोलते हैं सिंथेसिस वेस फिर हम उसको कन्वर्ट करते हैं ट्रांसलेट करते हैं गड़बड़ फॉर एग्जांपल मान लीजिए जैसे इंग्लिश का हिंदी का कोई भी पीस ऑफ टेक्स्ट है और आपको कॉपी चेक करनी है तो सबसे पहले बताओ क्या करोगे तो कॉपी चेक करते हुए सबसे पहले बच्चे के लिए क्या कर सकते हैं यू कैन हैव अ स्पेलिंग चेक तो अब स्पेलिंग चेक करेंगे स्पेलिंग ठीक लिखी है कि नहीं लिखी है बहुत सिंपल भाषा में समझा रहा हूं मान लीजिए कंपाइलर का जो फर्स्ट फेज है ना लेक्सिक एनालिसिस सर वो स्पेलिंग टेस्ट ही करता है वो देखता है स्पेलिंग मिस्टेक तो नहीं है स्टेप नंबर टू इज सिंटेक्स एनालिसिस यहां पर हम क्या करते हैं यहां पर हम देखते हैं ग्रामेटिकल मिस्टेक तो ग्रामर समझते हो ना कहां हेल्पिंग वर्ब आएगा कहां यू नो सब्जेक्ट आएगा कहां प्रिडिकेट आएगा यह सब चीज चेक करना इस कॉन्टेक्स्ट में आगे समझेंगे ग्रामर चेक करना है सिंटेक्स एनालिसिस फॉर एग्जांपल जैसे कंप्यूटर की केस में बोल देता हूं c = a + b ये लिखना ग्रामेटिकली करेक्ट है क्योंकि इसका मतलब है असाइनमेंट हमेशा राइट टू लेफ्ट होता है a और b दो वेरिएबल मेरे पास है उनको सम करके c में वैल्यू असाइन करूंगा बट मान लीजिए अगर कोई होशियार आदमी ऐसे लिख दे तो a + b = c अब यह कैसे असाइन करोगे तो यह है ग्रामेटिकल मिस्टेक है ना ये ग्रामर सही नहीं लिखा या स्पेलिंग मिस्टेक की बात करूं लिखना क्या था लिखना था इंट ए लिख दिया निट ए अब ऑब् वियस निट कोई कीवर्ड नहीं है तो कंपाइलर को दिखाना चाहिए कि यार देयर इज अ स्पेलिंग मिस्टेक सिमटिक एरर जहां पर हम देखते हैं कभी-कभी ऐसा हो सकता है ना ना तो स्पेलिंग मिस्टेक्स है ना ग्रामेटिकल मिस्टेक है बट स्टिल जो स्टेटमेंट है वो मीनिंगफुल नहीं है यहां पर हो सकता है हो सकता है आप किसी कैरेक्टर के अंदर फ्लोट को ऐड कर दें ना दैट इज नॉट परमिस बल उस तरह की गड़बड़ियां कहां देखते हैं सिमटिक एनालिसिस में देखते हैं तो बेसिकली फर्स्ट हाफ ऑफ द कंपाइलर जो है वो डेडिकेटेड है गलती आइडेंटिफिकेशन वो करेंगे कि नहीं करेंगे फिर हम सेकंड हाफ नहीं करेंगे रुक जाएंगे एरर और वार्निंग डिस्प्ले करेंगे अगर कोई एरर नहीं मिलता देन वी आर ऑल गुड उसके बाद सेकंड फेज में हम जाते और ट्रांसलेशन करते अभी ये सारे स्टेप्स में दोबारा वापस आऊंगा पहले एक बार जो पूरा लैंग्वेज प्रोसेसिंग सिस्टम है उसकी हम बात कर रहे हैं तो कंपाइलर के बेसिकली काम तो एक है ट्रांसलेशन करना फ्रॉम प्योर हाई लेवल टू असेंबली लेवल बट एक्चुअली यहां पे दो काम है पहले आर एरर आइडेंटिफिकेशन फेज यस यह बात समझ आ जाती है नाउ द नेक्स्ट स्टेप इज असेंबलर अब देखिए असेंबलर क्या कर रहा है सीक्वेंस में देखिए तो कुछ लोग सोचते हैं कंपाइलर एग्जीक्यूट करता है कि सर कंपाइलर एग्जीक्यूट नहीं करता कंपाइलर सिर्फ असेंबली लेवल लैंग्वेज जनरेट कर रहा है है ना उसके बाद अगला स्टेप आता है असेंबलर का जो उस असेंबली लेवल लैंग्वेज को किस में कन्वर्ट कर रहा है मशीन कोड में कन्वर्ट कर रहा है तो देयर यू सी अह ये अगेन जो निमोनिक्स वाली लैंग्वेज होती है ना तो यह हाई लेवल है और ना तो यह मशीन लेवल है इट इज़ अ इंटरमीडिएट स्टेट दैट इज़ अ कॉमिनेशन ऑफ मशीन इंस्ट्रक्शन एंड सम अदर यूज़फुल डाटा नीडेड फॉर एग्जीक्यूशन तो इफ आई कोट एन एग्जांपल और असेंबलर में बेसिकली दोनों दोनों चीजों का मिक्सचर हमें चाहिए थोड़ा अंडरस्टैंडिंग हार्डवेयर का भी होना चाहिए यानी कि कंप्यूटर आर्किटेक्चर का भी थोड़ा इवॉल्वमेंट यहां पर हो जाता है मशीन किस तरीके जिसके लिए आप कन्वर्ट कर रहे हैं एंड यू नीड अ बेसिक अंडरस्टैंडिंग ऑफ ऑपरेटिंग सिस्टम आल्सो कि वो क्या आपको एपीआई प्रोवाइड कर रहा है तो कुछ इस तरह का अगर मैं आपको दिखाऊं तो इनपुट है असेंबली लेवल कोड और आउटपुट जो है वो इसको एक तरह से मशीन लेवल कोड में कन्वर्ट कर रहा है बट स्टिल ये जो कोड है क्या ये एग्जीक्यूटेबल है नहीं जस्ट टू कोट एन एग्जांपल अह अ सिंपल दिस इज़ व्हिच वन 8085 माइक्रोप्रोसेसर तो आपको अगर याद हो या आपने अगर लैब में काम किया हो इसी तरह के कोड आप लिखते हैं निमोनिक्स लिखते हैं और वह रन कर रहा होता है आपके बिहाव के ऊपर यस दिस इज़ वन आईडिया नाउ यहां से जो कोड जनरेट होता है ना दैट इज़ कॉल्ड रीलोकेटेबल कोड अब यह रीलोकेशन बड़ा इंपॉर्टेंट है आगे इसकी बात करेंगे जैसे बहुत सारे तरह के ना एड्रेस बाइंडिंग होती है कंपाइल टाइम बाइंडिंग रन टाइम बाइंडिंग लोड टाइम बाइंडिंग तो हम जो कोड जनरेट करते हैं ना आजकल के एनवायरमेंट में क्या वह कोड अपने एग्जीक्यूशन के दौरा अपनी पूरी लाइफ स्पैन में मेमोरी में अलग-अलग जगह घूम सकता है हां क्योंकि यू नो मल्टीपल प्रोसेस एग्जीक्यूट हो रही है कभी मेन मेमोरी में आएगा कभी बाहर जाएगा कभी किसी और लोकेशन प जा सकता है हो सकता है ना अलग-अलग जगह स्पैन करें तो हम जो यहां पर कोड लिखते हैं वो लिखते हैं रीलोकेटेबल कोड जस्ट टू गिव एन एग्जांपल लुक एट दिस ये एक हाई लेवल कोड है इफ a इज लेस दन बी अगर ए बी से कम है तो आपको लिखना है t = 1 अदर वाइज आपको जस्ट सिंपल लिख देना t = 0 दिस इज अ हाई लेवल कोड अब यहां पर आप देखो कैसे वह कन्वर्ट कर रहा है वो छोड़ दो इस बात पे ध्यान देना i i + 1 i + 2 i + 3 और सब जगह मैं लोकेशन नंबर की बात ना करके i से बात कर रहा हूं क्यों कल को इस पूरे कोड को उठा के अगर मैं लोकेशन नंबर 1200 प रख दूं तो यह ऑटोमेटिक 1200 + 3 हो जाएगा ये 1200 + 1 1200 + 2 आर यू गेटिंग इट तो ये कोड रिलेटेबल कोड है क्योंकि जरूरत पड़ने पे इसको मेमोरी के अलग-अलग लोकेशन पर हम रख सकते हैं है ना ये आईडिया दो-तीन एग्जांपल वही रीलोकेशन वाले हैं एंड नाउ सबसे लास्ट में नंबर आता है लिंकर और लोडर का तो बहुत सारी फाइल्स हमने बना ली व्हिच आर काइंड ऑफ अ मशीन कोड बट अभी वो एग्जीक्यूटेबल नहीं है पहले हमें क्या करना पड़ेगा उन सबको लिंक करना पड़ेगा और यहां पे एक छोटा सा मॉड्यूल आता है जिसको बोलते हैं लिंकर तो लिंकर क्या करता है इट कन्वर्ट्स रीलोकेटेबल कोड इनटू एब्सलूट कोड एंड ट्राई टू रन द प्रोग्राम रिजल्टिंग इनटू रनिंग प्रोग्राम र एर एरर मैसेज अगर कुछ गड़बड़ हुई तो ओबवियसली एरर तो कहीं भी आ सकता है है ना अदर वाइज एग्जीक्यूटेबल प्रोग्राम में कन्वर्ट हो जाएगा लोडर क्या है अभी ऑपरेटिंग सिस्टम से हम जानते हैं अगर किसी भी चीज को एग्जीक्यूट होना है तो उसका मेन मेमोरी में होना जरूरी है एज सिंपल एज दैट है ना तो क्योंकि उसका मेन मेमोरी में होना जरूरी है तो लोडर उसको लोड करेगा मेन मेमोरी में और एग्जीक्यूशन शुरू हो जाएगा तो देखने में समझिए कि पूरी प्रोसेस इतनी आसान लग रही होती है नहीं कि बस क्या एग्जीक्यूशन के लिए कमांड दी और एग्जीक्यूट हो गया ऐसा नहीं है सर इतने सारे स्टेप्स यहां पर लुक एट दिस बैकग्राउंड में हो रहे होते हैं तो मुझे लगा एक 10 मिनट का डिस्कशन करना जरूरी है सो दैट एक ओवरऑल पर्सपेक्टिव आपको समझ आए अब हमें ध्यान देना है कि नाउ वी विल डीप डाइव इनटू द आइडिया ऑफ कंपाइलर और अब उसके बादे में डिस्कशन शुरू करते हैं यस तो थोड़ा सा आपको हिस्टोरिकल कॉन्टेक्स्ट समझाता हूं कंपाइलर के बारे में तो यहां पर कुछ इंपॉर्टेंट फैक्ट्स आपके साथ शेयर करता हूं देख सकते हैं द फर्स्ट प्रैक्टिकल कंपाइलर वाज रिटन बाय कोडो बोह इन 1951 फॉर हिज पीएचडी थीसिस तो अ प्रोग्राम व्हिच लुक लाइक्स अ कंपाइलर या व्हिच वर्क्स लाइक अ कंपाइलर वो लिखा गया था 1951 में इन्होंने लिखा था कोरड बोह और ये बैरी बोह के छोटे भाई थे मजाक कर रहा हूं बैरी बोम यादव सॉफ्टवेयर इंजीनियरिंग वाले ये कहानी देन द फर्स्ट इंप्लीमेंटेड कंपाइलर वाज रिटन बाय ग्रेस हॉपर हु आल्सो कॉइन द टर्म कंपाइलर तो बड़ी इंपॉर्टेंट बात है कि जो पहली बार शब्द आया ना कंपाइलर वो ग्रेस हॉपर ने दिया था मजे की बात है यू कैन गो आउट विकपीडिया एंड चेक कि यार फर्स्ट ऑफ ऑल शी इज अ लेडी एंड सेकंड शी वाज अ वेरी हाई रैंकड ऑफिसर इन अमेरिकन नेवी तो उन्होंने साइंस में कंप्यूटर साइंस में स्पेसिफिकली बड़ा लिमिटेड काम किया इनका मेन जो करियर था वह अमेरिकन नेवी में था सो बड़े यू नो कमाल की बात है रेफरिंग टू हर a0 सिस्टम्स व्हिच फंक्शन एज अ लोडर और लिंकर नॉट द मॉडर्न नोशन ऑफ अ कंपाइलर तो आजकल हम जिसको कंपाइलर कह के बुला रहे होते हैं यह वो नहीं था ऐसा बोल सकते हैं कि एक तरह का लोडर या लिंकर था लेकिन हां पहली बार कंपाइलर शब्द का इस्तेमाल ग्रेस हॉपर ने किया था आगे बढ़ता हूं नाउ इन 1952 द फर्स्ट ऑटो कोड एंड द कंपाइलर इन द मॉडर्न सेंस तो आज हम जिसे कंपाइलर कह के बोल रहे होता है अगर उस तरह का कंपाइलर की बात करें तो वो डेवलप किया था एले ग्लीन ने इन 1952 एट यूनिवर्सिटी ऑफ मैनचेस्टर फॉर मार्क वन कंप्यूटर मार्क वन कंप्यूटर के लिए एंड द फटन टीम लीड बाय जॉन डब्ल्यू बैकस अ एट आईबीएम इंट्रोड्यूस द फर्स्ट कमर्शियली अवेलेबल कंपाइलर तो ये तो भी रिसर्च चल रही है लोग अ अपने हिसाब से काम कर रहे हैं वो कंपाइलर जो मार्केट में अवेलेबल था फॉर अ प्रोग्रामिंग लैंग्वेज व फोटन के लिए बनाया था जॉन डब्ल्यू बैकस ने इन 1957 व्हिच टुक्स 18 पर ईयर टू क्रिएट फिर सॉफ फंजिंग वाली बात आ गई ना 18 पर ईयर का मतलब समझ रहे हैं दो आइडियाज है या तो हम यह बोल दें कि 18 लोगों ने काम करेगा काम करेंगे तो 1 साल लगेगा और अगर एक आदमी काम करेगा तो 18 साल लगेंगे यस 18 पर ईयर हमारा एफर्ट हो गया नाउ अब कंपाइलर के जितने फेसेस हैं एक बेसिक आईडिया तो हमने पहले इंट्रोडक्शन में पढ़ लिया जब हम बात कर रहे थे लैंग्वेज प्रोसेसिंग सिस्टम की अब थोड़ा डिटेल में जाते हैं एक-एक करके तो स्टेप नंबर वन हमारा है लेक्सिक एनालिसिस इट रीड्स द प्रोग्राम एंड कन्वर्ट इट इनटू लेगम्स लेक्सिम मान लीजिए छोटे-छोटे टुकड़ों में बोल रहा था ना ये स्पेलिंग मिस्टेक चेक करता है तोब अगर किसी पैराग्राफ में किसी एसे में स्पेलिंग मिस्टेक चेक करनी होगी तो पहले उसको ब्रेक तो करना पड़ेगा ना तो लेगम्स में ब्रेक करता है अ स्ट्रीम ऑफ लेगम्स इनटू अ स्ट्रीम ऑफ टोकन अभी आपको समझाता हूं लेम और टोकन में क्या डिफरेंस है इफ ऐसा मान के चलो इफ एवरीथिंग इज फाइन देन दैट लेक्सिम बिकम अ टोकन द टोकन आर डिफाइंड बाय रेगुलर एक्सप्रेशन व्हिच आर अंडरस्टूड बाय लक्सल एनालाइजर एंड आल्सो रिमूव वाइट स्पेसेस इंड कमेंट्स अभी समझाता हूं एक-एक बात का मतलब देखिए जैसे यहां पर एक सोर्स कोड लिखा है किसी प्रोग्रामिंग लैंग्वेज में प्रिंट 4 ल् बा वेरिएबल + 1 तो ये क्या करता है ये इसको छोटे-छोटे टुकड़ों में ब्रेक कर देता है तो प्रिंट देन कॉलन आया देन फोर आया देन स्टार आया देन वेयर आया देन प्लस आया देन वन आया इस तरह से ब्रेक करेगा यह सब कहलाएंगे लेगिन जिस-जिस टुकड़े में इसने इसको ब्रेक किया देन उन सब का टाइप क्या है जैसे मैं संचित एज अ लगम हूं बट मैं एक ह्यूमन हूं तो मेरा टोकन ह्यूमन है सिमिलरली प्रिंट एक आईडी है कॉलन एक ऑपरेटर है फोर एक नंबर है स्टार इज ऑपरेटर है लाइक दिस इस तरह से ये किस टाइप का है इसकी बिरादरी क्या है है ना इसका टाइप क्या है वो है टोकन तो दैट इज टोकन एंड दैट इज नोन एज लेम इस तरह से लेक्सिक एनालाइजर ब्रेक करता है और यहां पे प्रिंट है इसलिए यह फाइनली आईडी नाम का य टोकन बना दिया अगर प्रिंट की जगह गलत स्पेलिंग होती तो यहीं पे एक एरर फ्लैश इसने कर दिया होता है ना दैट इज़ स्टेप नंबर वन एक और एग्जांपल यहां पर देखिए क्या लाइन लिखी है फ्लोट x y z तो डिक्लेयर कर रहा है तीन वेरिएबल एंड देन देर इज अ अ एक्सप्रेशन यू सी x = y + z * 60 तो यहां देखिए हर एक के लिए इसने बता दिया किस-किस के लिए टोकन किया कौन आइडेंटिफिकेशन ना पूरा सेपरेट चैप्टर है हमारा कि अब इस पे लेक्सिक नाइजर करेंगे कैसे काम कैसे करेगा रेगुलर एक्सप्रेशंस कैसे यूज़ होंगे सो आई विल गो इन टू दैट अ इन डेप्थ उसमें बात करेंगे बात कर रहा हूं सिंटेक्स एनालाइजर की तो जैसे मैंने बोला सिंटेक्स एनालाइजर क्या करता है सिंटेक्स एनालाइजर सिंटेक्स एनालिसिस करता है सिंटेक्स एनालिसिस से हमारा क्या मतलब है ग्रामेटिकल मिस्टेक चेक करना अब ये काम होगा कैसे तो यहां पर हम क्या करते हैं बेसिकली हम यूज करते हैं कॉन्टेक्स्ट फ्री ग्रामर और जो होमवर्क हमने किया है ओसी के अंदर वो काम आएगा क्योंकि वहां भी एक्सटेंसिवली काम करके आए हैं तो अगर एक और बात अगर आपने वो वाली वन शॉर्ट वीडियो देखी है टीसी की ट्स वेरी गुड कुछ ना कुछ एडवांटेज मिलेगा अगर नहीं भी देखी तो मैं ये नहीं कह रहा पूरा वो आठ घंटे का वीडियो देख के आओ चलेगा जहां जितनी जरूरत पड़ेगी मैं बता के चलूंगा तो आप डायरेक्ट भी आगे बढ़ सकते हैं सो सिंटेक्स एनालाइजर को कभी-कभी पार्सर भी बोलते हैं अब कोई भी स्ट्रिंग हमारे पास है वो ग्रामेटिकली सही है कि नहीं इसका गेम क्या है हम उस स्ट्रिंग को बनाने के लिए यूजिंग द ग्रामर हम एक ट्री जनरेट करेंगे आपको पता है ग्रामर यूज़ करके कैसे स्ट्रिंग डिराइवर होती है पूरा ट्री बनता है ये जो ट्री बनेगा इस ट्री को हम पार्स या सिंटेक्स ट्री बोलते हैं अगर ग्रामर यूज़ करके स्टार्टिंग फ्रॉम द स्टार्ट सिंबल हम ट्री बना पाए तो इसका मतलब उस स्ट्रिंग के अंदर कोई ग्रामेटिकल मिस्टेक नहीं है उसने बिल्कुल परफेक्टली काम किया और अगर हम वो स्ट्रिंग नहीं बना पाए देन दैट मींस उसके अंदर कोई ग्रामेटिकल मिस्टेक है मोटा-मोटा यह आईडिया है जो ट्री बनेगा उसको को हम पार्शियल सिंटेक्स ी बोलते हैं जैसे यहां देखिए एग्जांपल के साथ आगे बढ़ता हूं id1 = id2 + id3 टी बा 60 यहां से शुरू करना है तो आई थिंक स्टार्ट तो आप जानते हैं स्टार्ट सिंबल से ही करना पड़ता है और छोटा केस है तो मैं डायरेक्टली भी अटेंप्ट कर सकता हूं तो लुक एट दिस id2 फिर मेरे को मल्टीप्लाई भी चाहिए तो अगेन लेट मी यूज़ दिस लाइक t स्टार f ये यूज़ कर लेता हूं और देन लास्ट में आई थिंक जो यूज़ होना था बन गया अब तो उे टर्मिनेट करो फटाफट तो क्या कर सकते हैं e से जा सकते हैं t पे t से जा सकते हैं f पे एंड देन आई कैन राइट आईडी और बेसिकली आईडी टू दैट इज काइंड ऑफ आईडी व और इस t से क्या बनाऊंगा id3 बना सकता हूं सो t से जाऊंगा f के पास एंड देन आई चूज id3 और ये f डायरेक्टली कन्वर्ट हो जाएगा नंबर में चच इज नथिंग बट 60 तो यह देखिए यह पूरा ट्री हमने बना लिया इस ट्री को हम पास्ट ट्री या सिंटेक्स ट्री कह के बुलाते हैं और क्योंकि ट्री बन गया इस स्ट्रिंग को रिप्रेजेंट करते हुए इसका मतलब ये स्ट्रिंग ग्रामेटिकली करेक्ट है इसमें कोई मिस्टेक नहीं है ये तो छोटा केस था ग्रामर के अंदर चार प्रोडक्शंस थे हमने खुद से बना लिया जल्दी से कॉम्प्लेक्शन में उसमें क्या होता होगा तो यू नीड सम ऑटोमेटेड एल्गोरिदम जिन्ही को हम बोलते हैं पार्सल्स तो टॉप डाउन पार्सल्स बॉटम अप पार्सल्स होते हैं जो पूरा प्रोसेस करने में हमारी मदद करेंगे है ना दैट इज कॉल्ड सिंटेक्स एनालिसिस लुक एट दिस मैं स्क्रीनशॉट यूज़ कर रहा हूं इतने सारे प्रोडक्शन होते हैं एक हाई लेवल प्रोग्रामिंग लैंग्वेज में लुक एट दिस इसमें बहुत सारी चीजें आपको जानी पहचानी भी नजर आएंगी तो यह सिर्फ हवाहवा में बात नहीं कर रहे हम एगजैक्टली ऐसे ही हो रहा होता है तो लुक एट द ग्रामर या आई थिंक सी प्रोग्रामिंग लैंग्वेज की ग्रामर है आप देख सकते हैं कितने सारे प्रोडक्शंस हमें यूज करने पड़ते हैं और किस तरह तरह से पूरी कहानी आगे बढ़ ओबवियसली याद नहीं करना है बस आईडिया समझने के लिए नाउ अगर ग्रामेटिकल मिस्टेक नहीं है तो ट्री बनेगा अगर ग्रामेटिकल मिस्टेक है तो ट्री बनता ही ना अब ट्री बन गया हम आगे अगले स्टेप पे व्हिच इज सेंटिक एनालिसिस सिमटिक एनालिसिस में हम क्या करते हैं हम ये देखते हैं कि जो स्टेटमेंट्स जिन पे हम काम कर रहे हैं वो मीनिंगफुल भी है कि नहीं वो काम कर सकते हैं कि नहीं जैसे और जो ट्री बनेगा बेसिकली हम कोई डिफरेंट काम नहीं करते यहां पे जो ट्री ऑलरेडी हमने बनाया ना उसमें थोड़ा सा मॉडिफिकेशन करते हैं तो जो ट्री बनेगा उसके बाद उसको हम बोलते हैं एनोट पास ट्री क्या बोलते हैं एनोट पास ट्री मतलब क्या है आई विल गो बैक टू द सेम ट्री फॉर एग्जांपल जैसे मान लीजिए यहां देख लेता हूं आपने एक ऑपरेशन किया t मल्टी f इसको आप t में असाइन कर रहे हैं तो बिफोर यू डू दैट है ना आप यहां पे क्रॉस चेक कर सकते हैं क्या तो देयर कुड बी स्टेटमेंट क्या t का जो डाटा टाइप है आई कैन राइट अ इफ स्टेटमेंट य यहीं पे लिख देता हूं फॉर यहां लिखूं फॉर एग्जांपल इधर अलाइन करना है ना तो ऐसे लिख सकता हूं इफ t डॉ टाइप t का जो टाइप है इज इक्वल्स टू इज इक्वल टू कंपैरिजन कर रहा हूं ये इफ इफ लेट मी कॉल इ t1 सपोज दैट बिकम t2 t1 टाइप = t2 टाइप एंड ये आपस में भी सेम होने चाहिए मान लेते हैं t2 टाइप ऐ जल्दी-जल्दी लिख रहा हूं इज इक्व इ ट f डॉ टाइप इस तरह के कुछ कंडीशंस हम लगाते हैं यह देखने के लिए कि इनका डेटा टाइप मैच कर रहा है कि नहीं कर रहा इनको बोलते हैं सिमटिक रूल्स आगे जाके बाद में डिटेल में पढ़ेंगे पूरा चैप्टर है हमारा चैप्टर थ्री इसी चीज पे क्या बोलते सिमटिक रूल्स तो ये सारी चीजें हम यहां पर चेक करते हैं और अगर एवरीथिंग इफ एवरीथिंग इज फाइन तो जो ट्री होता है वो थोड़ा सा मॉडिफाई हो जाता है उसको हम बोलते थे नोटे पार्स ट्री और हमारा वो ट्री बन जाता है अगर कुछ गड़बड़ होगी किसी भी स्टेप में तो हम यहीं तक रुक जाएंगे स्पेलिंग मिस्टेक चेक कर लिया ग्रामेटिकल मिस्टेक चेक कर लिया और मीनिंगफुल स्टेटमेंट है कि नहीं वो चेक कर लिया अब जो आगे का स्टेप है बेसिकली वो एरर के लिए नहीं लिखा वो किसके लिखा ट्रांसलेशन के लिए फाइनली तो देर यू सी नेक्स्ट स्टेप हमारा क्या है इंटरमीडिएट कोड जनरेटर तो यहां देखिए हम क्या करते हैं इट जनरेट अ इंटरमीडिएट कोड दैट इज अ फॉर्म व्हिच कैन बी रीडली अंडरस्टूड बाय मशीन तो ये दोनों के लिए आसान है अब हम यहां तक पहुंच चुके इसका मतलब हाई लेवल लैंग्वेज जो थी वो ह्यूमन के लिए आसान थी मशीन असेंबली लेवल लैंग्वेज जो है वो बेसिकली असेंबलर के लिए मशीन के लिए आसान है ये हम बीच वाली फॉर्म में पहुंच चुके हैं वी हैव मेनी पॉपुलर इंटरमीडिएट कोड्स जैसे थ्री एड्रेस कोड एक् स्टैंडर्ड आगे जाके पढ़ेंगे आर्किटेक्चर में भी हम देखते हैं कि किसी भी इंस्ट्रक्शन में मैक्सिमम तीन एड्रेस हम एक्सेस कर सकते हैं इंटरमीडिएट कोड इज कन्वर्टेड टू मशीन लेवल कोड यूजिंग द लास्ट टू फेसेस दैट इज ओके इट सीम्स वेरी इजी टू कैरी आउट द कंपाइलर कंपाइलर के थ्रू होके हम जा रहे हैं एंड टू बिल्ड अ न्यू कंपाइलर वी डोंट नीड टू बिल्ड फ्रॉम स्क्रैच हां यहां पे एक बात समझिए आईडिया क्या है फ्रंट एंड और लास्ट एंड को ना हम चेंज कर सकते हैं फॉर एग्जांपल मैं बोलना चाह रहा हूं हाई लेवल लैंग्वेज सी है c+ प है जावा है पाइथन है कुछ भी है इंटरमीडिएट कोड जो है वो दरअसल हम बोलते हैं कि जो सोर्स लैंग्वेज है ना उससे न्यूट्रल है तो मान लेते हैं अगर हमने एक लूप लिखा इन चारों पांचों लैंग्वेज का सिंटेक्स सेंटिक्स अलग-अलग हो सकता है बट कायदे से इंटर इडिएट कोड के अंदर उस प्रोग्रामिंग का भी कोई क्वालिटी कोई एट्रिल नहीं बचा तो लॉजिकली होना ही चाहिए कि इंटरमीडिएट कोड देख के आप ना बता पाए कि जो सोर्स प्रोग्राम है वो सी में है जावा में पाइथन में किस में सिमिलरली इसके आगे का जो कंपोनेंट होगा वो असेंबलर पे हार्डवेयर पे डिपेंडेंट होगा तो यहां बोलना ही चाह रहे हैं आप क्या कर सकते हो आप बहुत सारे अलग-अलग फ्रंट एंड बना के रख लो सी का अलग c+ प का अलग जावा का अलग और फिर जिस भी हार्डवेयर के लिए आप कन्वर्ट करना चाहते हो उसी का फ्रें एंड उठा के आप अटैच करोगे तो यू कैन हैव डिफरेंट डिफरेंट कॉम्बिन शंस है ना इट इज़ नॉट कि आपको एकदम सेपरेट सेपरेट सब बनाना पड़ेगा तो इंटरमीडिएट कोड एक तरह का न्यूट्रल स्टेज है जो ना बहुत ज्यादा डेस्टिनेशन पे डिपेंड कर रहा है हार्डवेयर पे जिसके लिए हमें असेंबलर के लिए अ जिसके लिए हमें असेंबली लेवल लैंग्वेज लिखना है ना ही हाई लेवल लैंग्वेज के लिए जहां से हमने काम करना स्टार्ट किया नाउ जैसे यहां देखिए अगेन सेम इंस्ट्रक्शन जो हमारी थी स्टेप बाय स्टेप थ्री एड्रेस इंस्ट्रक्शन यह हमें करना था ना एक बार में तो नहीं कर सकते तो पहले क्या कह रहा है कह रहा है पहले z को 60 से मल्टीप्लाई कर लो जो रिजल्ट आएगा वो एक टेंपरेरी वेरिएबल t1 में स्टोर कर लेंगे देन देखो स्टेप नंबर टू में क्या कह रहा है अब t1 को ऐड कर लेते हैं y के साथ और फाइनली जो रिजल्ट है t2 का वो x में स्टोर करेंगे तो बेसिकली यह सारा काम एक स्टेप में नहीं हो पाएगा छोटे-छोटे तीन स्टेप हमें लगेंगे इस काम को करने में यस देन ओबवियसली ऑप्टिमाइजेशन हर सब्जेक्ट में हर वन शॉर्ट वीडियो में मैं बात समझा रहा हूं इंजीनियरिंग का काम ही क्या है स्टेप नंबर वन क्या करना है अ कंसिस्टेंसी पे ध्यान देना है करेक्टनेस पर ध्यान देना है स्टेप नंबर टू ऑप्टिमाइजेशन पे ध्यान देना है तो एक बार फाइनल कोड को ऑप्टिमाइज करने का एफर्ट हमें जरूर करना चाहिए इसमें बाद में बहुत डिटेल में बात करेंगे अगेन पूरा सेपरेट चैप्टर है आपका ऑप्टिमाइजेशन दो तरह का हो सकता है मशीन डिपेंडेंट और मशीन इंडिपेंडेंट कुछ जेनरिक ऑप्टिमाइजेशन हो सकते हैं जैसे अगर अभी मैं एक सिंपल एग्जांपल लिखूं मान लीजिए कोई इक्वेशन बना समथिंग लाइक दिस कि b = a + 0 हुई होगी कोई कैलकुलेशन क्या कंपाइलर इतना समझदार हो सकता है कि उसको समझ आए कि यार रो के साथ ऐड करना डजन मेक एनी डिफरेंस ज़ीरो इज आइडेंटिटी फॉर एडिशन तो क्यों ना मैं इसको सिंपलीफाई करके ऐसा लिख दूं इस तरह के ऑप्टिमाइजेशन कुछ ऑप्टिमाइजेशन हो सकते हैं मशीन डिपेंडेंट जहां पे मेरे को पता होना चाहिए कि मेरे हार्डवेयर की क्या कैपेबिलिटी है तो सारे के सारे ऑप्टिमाइजेशन जिससे मैं मैं अपना टाइम और स्पेस सेव कर सकूं वो अटेंप्ट हम यहां करेंगे ऑप्टिमाइजेशन फेस में एंड फाइनली इन द लास्ट स्टेप वी हैव टारगेट कोड जनरेशन जहां पर जो फाइनल असेंबली लेवल कोड है देखिए हमारी सिंपल्स इंस्ट्रक्शन चेंज होके कितनी आ गई तब z की वैल्यू पहले r में मूव कर रहा है फिर r1 का 60 के साथ मल्टीप्लाई करेगा रिजल्ट r1 में ही जाएगा फिर r1 के अंदर y की वैल्यू ऐड कर ली एंड नाउ स्टोर करा रहा है तो r1 का वैल्यू x के अंदर चला जाएगा वही सारे स्टेप्स है लेकिन एक हाई लेवल लैंग्वेज अभी असेंबली लेवल कोड में कन्वर्ट हो गई तो ये पूरा डिस्कशन का आईडिया क्या था कि बेसिक आईडिया थोड़ा सा और डिटेल में आपको समझ आ जाए क्यों वीडियो लंबी चलेगी हर एक फेज आपका मान के चलो सेपरेट चैप्टर जिसमें हमें डिटेल में काम करना है तो बिफोर हम लेक्सिक एनालिसिस या स्पेशली पार्सिंग जो सबसे इंपॉर्टेंट चैप्टर है इन सब में काम करें तो आप यह ना भूल जाओ कि बेसिकली हम क्या करने निकले थे तो एक मोटा आईडिया आपको समझ आ गया एक इंस्ट्रक्शन सारे फेस से होके कैसे निकलती है उसका एक बेसिक अंडरस्टैंडिंग आपको क्लियर हो गया अब हम उसमें जा सकते हैं एक चीज़ आप नोटिस करें कि सिंपल टेबल एक सेपरेट यूनिट है आपकी सिंबल टेबल और एरर हैंडलर ये दो मॉड्यूल सारे फेज में काइंड ऑफ यूज़ हुए हैं यस ऑर नो तो इनके बारे पे एक बार छोटा-छोटा डिस्कशन करेंगे बाद में डिटेल में दोबारा बात करेंगे सिंबल टेबल क्या है इट इज़ अ डाटा स्ट्रक्चर बीइंग यूज्ड एंड मेंटेन बाय कंपाइलर कंपाइलर्स को यूज़ भी करता है और मेंटेन भी करता है कंसिस्ट ऑल द आइडेंटिफिकेशन किया क्या वेरिएबल का नाम है क्या उसका स्कोप है क्या उसका लाइफ टाइम है किस तरह का जितनी भी इंफॉर्मेशन है वेरिएबल के बारे में फंक्शन के बारे में व सारी की सारी इंफॉर्मेशन कौन होल्ड करके रखता है सिंबल टेबल होल्ड करता है इट हेल्प कंपाइलर टू फंक्शन स्मूथली बाय फाइंडिंग द आइडेंटिफिकेशन क्विकली तो नॉर्मली ऐसा बोलते हैं कि जो स्टार्टिंग के फेज होते हैं वो ज्यादातर सिंबल टेबल में डाटा स्टोर करते हैं हमारा स्टोरेज है जब हमने प्रोग्राम पढ़ना शुरू किया और जो लेटर फेसेस है कंपाइलर के वोह आमतौर पे अब इस इंफॉर्मेशन को यूज़ करते हैं अलग-अलग स्टेप में तो सिंबल टेबल बहुत हेल्पफुल है अ यह मैं बोल रहा हूं फ्रंट एंड और बैक एंड फ्रंट एंड आमतौर पे डटा स्टोर करता है बैक एंड आमतौर पे उस डाटा को यूज़ कर रहा होता है तो एग्जांपल के साथ देखो जैसे यहां पर आपको नजर आ रहा है कि मान लीज एक लाइन है x = 10 तो लाइन नंबर वन कीवर्ड क्या है आइडेंटिफिकेशन कर रहा हूं वही सारे पॉइंट्स मैंने यहां पे लिख के रखे हैं अगर बात करें आइडेंटिफिकेशन उसका साइज उसका ऑफसेट यह सारी चीजें हमें पता होनी चाहिए अलग-अलग अरेज हो सकते हैं रिकॉर्ड्स हो सकते हैं प्रोसीजर हो सकते हैं उन सब की एरे है तो उसका साइज क्या है कॉलम कितने हैं कोई प्रोसीजर है तो इनपुट पैरामीटर क्या है आउटपुट क्या है फॉर्मल पैरामीटर जितना भी मेटा डाटा इंफॉर्मेशन है वह सब का सब कहां पे सिंबल टेबल में होगा अगर मैं कुछ जनरल ऑपरेशंस की बात करूं क्या-क्या करने की जरूरत पड़ेगी भाई सबसे इंपॉर्टेंट आपको पहले तो कुछ इंसर्ट करना आना चाहिए इंसर्ट नहीं कर तो फिर क्या ही मतलब बनता है उसके बाद कुछ सर्च करना लुक अप करना अगर कुछ मॉडिफिकेशन की जरूरत है मॉडिफाई करना एंड फाइनली डिलीट करना तो चार फंडामेंटल ऑपरेशन है जो आपको सिंबल टेबल पे करना आना चाहिए बाद में अगेन मैं बोल रहा हूं सेपरेट चैप्टर तो डिटेल में बात करेंगे इसके बारे में बट हाउ यू इंप्लीमेंट इट तो इसके भी बहुत सारे अप्रोचेबल नियर टेबल है बाइनरी सर्स ट्री है इवन लिंक लिस्ट है एंड हैश टेबल है हैश इसकी बात हमने आई थिंक डाटा स्ट्रक्चर में की थी तो हशिंग यहां पे ज्यादा पॉपुलर है द रीजन बीइंग कि वो बहुत फास्ट है शिंग का पूरा गेम में किया है ये ट्राई करता है कि आपको सच टाइम ऑर्डर ऑफ वन लाके दे तो क्योंकि कंपाइलर आमतौर पर हम एक्सपेक्ट करते हैं कि बहुत फास्ट होना चाहिए वरना कोई मतलब बनता नहीं है सो दैट इज द रीजन पॉपुलर हम इस अप्रोच को यहां पर यूज़ कर रहे होते हैं तो सिंपल टेबल की बात आपको समझ आई नाउ एरर हैंडलर अब इसकी क्या कहानी है देखो इसको ऐसे समझो जैसे मैंने आपसे बोला कि फर्स्ट फेज फ्रंट एंड जो है कंपाइलर का उसका काम दरअसल ट्रांसलेशन नहीं है है ना मोर इंपॉर्टेंट उसका काम है एरर चेक करना अब आप नोटिस करो आपने कई बार अगर मैं सी की बात कर लूं सिंपल ना जाने कितने सारे प्रोग्राम आपने लिखे और कंपाइल करे होंगे जब आप कंपाइल करते हो और मान लीजिए उसके अंदर एरर है रन नहीं हुआ वो रिजल्ट आपको लाके देता है कि दीज आर द एरर्स क्या वो पहले एरर पे रुक जाता है या पहला एरर पकड़ने के बाद भी कंपाइलेशन कंटिन्यू करता है और जितने भी एरर है सबको एक साथ लाके दिखाता है इजंस एकल एनालिसिस फेज में कुछ एरर मिले तो इसका मतलब यह नहीं कि कंपाइलेशन आप यहीं रोक देंगे आपको सिंटेक्स और सेंटिक्स एनालिसिस भी करनी है ताकि जितने पॉसिबल एरर हैं जो समझे जा सकते हैं वह एरर डिस्प्ले किए जा सके तो एरर हैंडलर का काम क्या है इवन दो यू आइडेंटिफिकेशन इट इज अ सब रूटीन टू टेक केयर ऑफ द कंटिन्यूएशन ऑफ कंपाइलर इवन एनी एरर एट एनी फेस अगर कि कोई एरर किसी फे किसी भी फेज के अंदर मिलता है उसके बाद भी कंपाइलेशन की प्रोसेस को कंटिन्यू करना यह काम है वेदर वो फेज वन हो फेज टू हो फेज थ्री हो है ना तो दिस इज अ बेसिक आइडिया जो एरर हैंडलर का रिस्पांसिबिलिटी ड्यूटी यहां पर है तीन तरह के एरर हैं आई थिंक उसके बारे में तो मैं मैं डिटेल में बात कर चुका हूं कॉल्ड लेक्सिक एरर सिंटेक्स एर और सिमटिक एरर डिपेंडिंग ऑन द फेस एक और बात क्या जरूरी है कि जितने एरर हैं वह सारे के सारे एरर कंपाइलर आइडेंटिफिकेशन नोन एज कंपाइल टाइम एरर और रन टाइम एरर तो आफ्टर कंपाइलेशन सिर्फ कंपाइल टाइम एरर ही पता लगाए जा सकते हैं जैसे डिवाइड बाय 0 इज अ वेरी सिंपल एग्जांपल इज एन एग्जांपल ऑफ़ अ रन टाइम एरर तो अगर रन टाइम एरर होगा तो वो इन द प्रोसेस ऑफ कंपाइलेशन ओबवियसली हम आइडेंटिफिकेशन एक छोटा सा टॉपिक यहां पर हमारे पास है व्हिच इज लाइक फेजस एंड पास अब ये क्या कहानी है देखिए जितने भी स्टेप्स आपको नजर आ रहे हैं ना ये सब के सब क्या है दीज आर नथिंग बट द फेजस ऑफ कंपाइलर है ना तो स्टेज बोल ले फेजस बोल ले अ मोर और लेस वी आर द सेम आइडिया तो देखिए पहले फेज की बात बात कर लेता हूं फेज ऑफ़ अ कंपाइलर इज अ डिस्टिंग्विशेबल स्टेज व्हिच टेक इनपुट फ्रॉम द प्रीवियस स्टेज प्रोसेस एंड आइल्स आउटपुट दैट कैन बी यूज्ड एज अ इनपुट फॉर द नेक्स्ट स्टेज तो एक स्टेज से डाटा लेना इनपुट आउटपुट सबका डिफाइंड है मैं आपसे बोलता हूं सिंटेक्स एनालिसिस का इनपुट क्या है तो इसका इनपुट है टोकन लेना लेक्सिक एनालाइजर से और पास ट्री देना सिमटिक एनालाइजर को सिमटिक एनालाइजर कौन है इसका इनपुट है पास लेना सिंटेक्स एनालिसिस से और अनोटेक कोड जनरेटर को तो एवरीबॉडी करते करते सारा काम कंप्लीट हो जाएगा बट आजकल के जो प्रोग्रामिंग लैंग्वेजेस है है ना वो बड़े कॉम्प्लेक्शन टीज बहुत कॉम्प्लेक्शन नाउ डे प्रोग्रामिंग लैंग्वेज अलाउ लेट डिक्लेरेशन आल्सो कि कोई दिक्कत नहीं है सी में क्या है कि आप पहले डिक्लेयर करेंगे उसके बाद यूज़ करेंगे आजकल क्या हो सकता है कि आप पहले यूज़ कर ले बाद में डिक्लेयर करेंगे तो अब कंपाइलर एक इटरेशन में सारी चीज समझ ले और उसको यू नो आइडेंटिफिकेशन सिंगल पास कंपाइलर एंड वन इज कॉल्ड मल्टी पास कंपाइलर तो सिंगल पास कौन होंगे जो पूरा जितने भी स्टेप्स हैं एक बार पूरा फ्लो करेंगे और एक ही बार फ्लो करके जो भी उनकी प्रॉब्लम है उसको पूरी प्रॉब्लम को रिजॉल्व कर लेंगे मल्टीपास ना कंटरी क्या करेंगे हो सकता है वो मल्टीपल टाइम्स मे बी दो बार या शायद उससे भी ज्यादा बार पूरे कंपाइलर से गो थ्रू होके जाएं इन ऑर्डर अपना पूरा काम कंप्लीट करने के लिए तो कुछ इंपॉर्टेंट पॉइंट्स मैंने लिखे हैं बिकॉज कई बार मैंने देखा है कि आपके यूनिवर्सिटी में एग्जाम्स में इस तरह के क्वेश्चन पूछे गए तो कुछ इंपॉर्टेंट पर्ट सिंगल पास के रीड एंड प्रोसेस द सोर्स कोड इन अ सिंगल पास ट्रांसलेटिंग डायरेक्टली इनटू मशीन कोड आप उसे अ असेंबली लेवल कोड मान के चलें तो एक पास में काम करेगा फास्टर होगा बिकॉज़ ऑब् वियस उसको एक ही बार ट्रैवर्स करना है मेमोरी एफिशिएंट भी होगा बिकॉज़ उसको कुछ बहुत ज्यादा चीजें यूज़ करनी नहीं है ऑप्टिमाइजेशन के केस में अच्छा नहीं चलेगा क्यों देखो जिसके पास ऑप्शन है मल्टीपल पास लेने का जाहिर सी बात है वह बेटर ऑप्टिमाइजेशन ऑफर कर सकता है बट यहां पर ऑफर्स लिमिटेड ऑप्टिमाइजेशन कैपेबिलिटी ड्यू टू लेस कॉन्टेक्स्ट अंडरस्टैंडिंग ऑफ द एंटायस पास की बात तो समझ आएगी लेकिन पूरे प्रोग्राम में क्या हो रहा है क्योंकि मैं एक ही बार फ्लो कर रहा हूं वापस नहीं जा सकता तो ऑप्टिमाइजेशन इच्छा नहीं होगा अगर लैंग्वेजेस सिंपल है कोई बहुत वही मैं आपसे बोल रहा था कि सी जैसी सिंपल लैंग्वेज है यू कैन गो फॉर इट कॉम्प्लेक्शन वेज में मुश्किल हो जाता है तो बेस्ट फॉर सिंपल लैंग्वेज आईडिया ऑफ सिंपलर लैंग्वेज प्रोग्रामिंग लैंग्वेज वेर कॉम्प्लेक्शन आर नॉट रिक्वायर्ड देन इट इज बेटर टू गो विद सिंगल पास कंपाइलर्स एग्जांपल फटन पास्कल इवन टाइनी सी कंपाइलर यह सब के सब कौन है सिंगल पास है लेट मी गो विद मल्टी पास नाउ सो अ आई विल गो वन बाय वन अ मल्टीपास कंपाइलर इज अ टाइप ऑफ कंपाइलर दैट प्रोसेस द सोर्स कोड मल्टीपल टाइम बिफोर प्रोड्यूस द फाइनल आउटपुट तो यह एक बार मैं नहीं मल्टीपल टाइम्स पूरे सोर्स कोड को स्कैन करेगा कैसे करेगा लुक एट दिस मल्टीपल स्कैंस ऑफ द सोर्स कोड यह बात हमने समझ ली यहां पे ऑब् वियस क्योंकि मैं मल्टीपल टाइम्स स्कैन कर रहा हूं तो जो ऑप्टिमाइजेशन होगा वह नेक्स्ट लेवल है क्योंकि पूरा कॉन्टेक्स्ट मैं समझ सकता हूं मल्टीपल टाइम्स रीड करके कॉन्टेक्स्ट अवेयरनेस हैव अ डीपर अंडरस्टैंडिंग ऑफ़ द प्रोग्रामिंग कॉन्टेक्स्ट व्हिच अलाउ मोर सोफिस्टिकेटेड एरर चेकिंग एंड ऑप्टिमाइजेशन जैसे मैं एग्जांपल आपसे दे रहा था इवन लेट डिक्लेरेशन इज़ अलाउड तो वो सारी चीजें हो सकती हैं मेमोरी यूसेज ऑ ओबवियसली सिंगल पास के कंपैरिजन में इसको ज्यादा मेमोरी इस्तेमाल करना पड़ेगा क्योंकि मल्टीपल पासेस इसको लगाने हैं एग्जांपल हम जीसीसी की बात करते हैं एलएलवीएम मल्टीपास कंपाइलर्स हैं जो आजकल प्रोग्रामिंग लैंग्वेजेस में सपोर्ट जिनका हमें देखने को मिलता है तो ये एक छोटा सा डिस्कशन था फिर भी मेरा मन नहीं माना तो व्हाट आई हैव डन आल्सो जो आई थिंक आप लोगों को ज्यादातर केस में बहुत हेल्पफुल होता है ये टेबल बाय टेबल डिफरेंस सो दैट पांच नंबर में कोई आपसे पूछ लेना कि सिंगल पास मल्टीपास क्या है या डिफरेंस क्या है तो हेडिंग आपको याद रहे दो-दो चार-चार पॉइंट्स लिखने हैं यू विल गेट फुल मार्क्स यस ठीक है सर यह बात क्लियर हो जाती है अगला टॉपिक अब बात करते हैं बूट स्ट्रैपिंग की अब बूट स्ट्रैपिंग और मैं बोलूं तो क्रॉस कंपाइलर यह दोनों थोड़े रिलेटेड हैं तो एकदम इंडिविजुअली दोनों को डिस्कस करना थोड़ा मुश्किल है बट एक-एक करके मैं पैटर्न बाय पैटर्न लेके चलता हूं तो आई होप आप आईडिया समझोगे मैं पहले बूट स्ट्रैपिंग डिस्कस करता हूं तो लॉजिक समझिए क्या है आई विल गो वन बाय वन बूट स्ट्रैपिंग इन कंपाइलर डिजाइन इज अ फैसटिकट अ क्रिटिकल कांसेप्ट इन अर्ली स्टेजेस इनिशियली कंपाइलर वर रिटन इन असेंबली लैंग्वेज और अ लो लेवल स्पेसिफिक लैंग्वेज स्पेसिफिक टू द हार्डवेयर भाई जब हमने गेम खेलना स्टार्ट किया था जो यू नो 1950 और 60 की बात कर रहे हैं जब हमने कंपाइलर बनाने स्टार्ट किए थे तो उस समय हमारे जो कंपाइलर थे वो किस लैंग्वेज में लिखे थे तो ऑब् वियस या तो हम कोशिश करते थे सीधे मशीन लेवल पे लिखे या असेंबली लेवल पे लिखे आईडिया समझो ना क्या है मान लीजिए हमने पहली लैंग्वेज बनाई फर टन ये मान लीजिए फर्स्ट लैंग्वेज इमेजिन करते हैं कि c बनी अब जब सी पहली बार बन रही है तो उसका कंपाइलर भी तो किसी लैंग्वेज में लिखा होगा है ना तो हाउ डू यू कंपाइल द फर्स्ट कंपाइलर प्रॉब्लम ये है तो क्या सबसे पहले जब बनाएंगे क्या स का कंपाइलर स में ही लिखा हो सकता है नहीं वो तो फर्स्ट प्रोग्रामिंग लैंग्वेज है ना सी का कंपाइलर सी में लिखा होगा तो उस कंपाइलर को कंपाइल कौन करेगा तो लॉजिक ये है कि जो पहला कंपाइलर था स्टार्टिंग के जो कंपाइलर थे वो हम डायरेक्ट मशीन लेवल में असेंबली लेवल में लिखते थे ओबवियस सली वो लिखना बहुत मुश्किल था वो लिखना बहुत टफ था लेकिन और ऑप्शन भी नहीं था तो स्टार्टिंग में तो चला बट धीरे-धीरे क्या होने लगा लैंग्वेज की कॉम्प्लेक्शन बढ़ने लगी अब अगर आज के टाइम पे हम बात करें सी c+ प् जावा पाइथन ये जो एकदम एडवांस हाई लेवल प्रोग्रामिंग लैंग्वेजेस हैं क्या इनके जो कंपाइलर है वोह आप मशीन लेवल में डायरेक्ट लिखने की हिम्मत कर सकते हो 01 01 में दैट विल बी डैम टफ तो हुआ क्या द प्रोग्रामिंग लैंग्वेज इवॉल्वड एंड नीड्स फॉर राइटिंग कंपाइलर इन अ हाई लेवल लैंग्वेज बिकम एविडेंस तो हुआ क्या समय के साथ वही जो मैं आपसे बोल रहा हूं जैसे-जैसे प्रोग्रामिंग लैंग्वेज स्टफ होते गए ना इस बात की जरूरत समझ आने लगी कि यार कंपाइलर जो है अब वह मशीन या असेंबली लेवल में नहीं लिख सकते उसको एक हायर फॉर्म में हमें लिखना पड़ेगा और यहां पर जो कांसेप्ट आया वो आया बूट स्ट्रैपिंग का बूट स्ट्रैपिंग कैसे काम करता है सो बूट स्ट्रैपिंग वा इंट्रोड्यूस्ड सॉल्यूशन टू दिस इट रेफर्स टू राइटिंग द कंपाइलर इन द सेम लैंग इंटेंडेड टू कंपाइल अब यह होगा कैसे तो आई विल टेक यू स्टेप बाय स्टेप और यहां पर यह टी डायग्राम स्टडी करते हैं बड़े कमाल की चीज है पहली बार देखने में आपको थोड़ा अजीब लगेगा बट देन यू विल अंडरस्टैंड तो ऐसे समझो आप इन द स्टार्टिंग मैं सी लैंग्वेज को एग्जांपल मानता हूं तो मान लेते हैं सी का हमने एक इनिशियल वर्जन बना है जिसे हम बोल रहे हैं c नॉ इसको आप ऐसे भी समझ सकते हो दिस इज नॉट अ फुल फ्लेज सी लैंग्वेज मान लेते हैं सी की कुछ बेसिक फंक्शनालिस या एक इनिशियल वेरिएंट हमने लिया सो दिस इज द इनपुट और हमने कंपाइलर बनाया जो इस सी के सबसेट को कन्वर्ट करता है असेंबली लेवल लैंग्वेज में यस और यह जो कंपाइलर है यह खुद लिखा हुआ असेंबली लेवल में अब क्योंकि खुद असेंबली लेवल में लिखा है तो उसको कंपाइल करने की जरूरत नहीं है अब ये भी इमेजिन कर सकते हो कि मशीन लेवल में लिखा है आई विल कंसीडर दैट इट इज रिटन इन असेंबली लेवल इसको बोलते हैं टी डायग्राम तो दिस इज इनपुट दिस इज आउटपुट एंड दिस इज द मीडियम और द लैंग्वेज ऑफ द कंपाइलर कंपाइलर के इसमें लिखा है तो पहले हमने यह काम किया यह काम करना फिर भी रिलेटिवली थोड़ा सिंपल है क्योंकि ये फुल फ्लश प्रोग्रामिंग लैंग्वेज नहीं उसका एक छोटा सा सबसेट है है ना और कंपाइलर असेंबली में लिख लिया तो मैनेज किया जा सकता है देन कहानी आगे बढ़ी एक बार जब ये कंपाइलेशन हमने कर लिया अब हम स्टेप नंबर टू पे पहुंचे और देखिए हमने क्या किया इस बार हमने सी के सबसेट पे नहीं हमने प्रॉपर फुल फ्लेस सी लैंग्वेज उठाया और उसको हमने कन्वर्ट किया असेंबली लेवल में जो कि ओबवियसली कंपाइलर की रिस्पांसिबिलिटी उसे करना भी था बट मजे की बात यह है कि चीजों को थोड़ा आसान करना है तो इस बार जो हमारा कंपाइलर है वो हमने असेंबली लेवल में नहीं लिखा वो हमने c नॉ में लिख दिया क्योंकि c नॉ ऑलरेडी कंपाइल हो चुकी है तो अगर c नॉ कंपाइल हो चुकी है तो कंपाइलर भी बेसिकली कंपाइल्ड है अब यह काम करना रिलेटिवली थोड़ा सा आसान है अब आप बोलेंगे ये एग्जीक्यूट कैसे होगा तो देखिए ये फॉर्मेशन आपको समझाता हूं दो t डायग्राम कैसे मर्ज होते है और कैसा थर्ड डायग्राम बनता है हम क्या कह रहे हैं हम कह रहे हैं कि अब हमारे पास एक कंपाइलर है जिसका इनपुट सी है और आउटपुट असेंबली लेवल है जो लिखा हुआ है c न में अब मशीन को c नो कैसे समझ आएगी तो है ना हमारे पास अर्लिया वर्जन हमारे पास अर् ये दोनों हमेशा सेम होंगे नोटिस करिए हमारे पास एक वर्जन है जो कि असेंबली में लिखा हुआ है जो कि मशीन को समझ आता है कंप्यूटर के हार्डवेयर को समझ आता है जो c को असेंबली में कन्वर्ट करता है तो बेसिकली कितने स्टेप हुए c कन्वर्ट हुआ c न में और c नॉट कन्वर्ट हुआ असेंबली में और असेंबली में कन्वर्ट हुआ तो बात कंप्लीट हो गई तो टेक्निकली इन दोनों का रिजल्ट हमें यहां नजर आया तो बेसिकली अब दोनों मिलकर कैसे बिहेव कर रहे हैं यह बिहेव कर रहे हैं जैसे कि एक कंपाइलर हमने बना लिया हो जो c को असेंबली में कन्वर्ट कर रहा है और कंपाइलर लिखा हुआ है असेंबली में हालांकि फैक्ट ये है हमने डायरेक्ट असेंबली में लिखा नहीं है हमने दो अलग-अलग काम किए हमने c को c नॉ में कन्वर्ट किया और c या c नॉ का कंपाइलर c का कंपाइलर c न में लिखा और c न का मशीन में लिखा तो हमारे लिए दो काम स्टेप बाय स्टेप करने आसान हो गए हमें डायरेक्ट c न का असेंबली में नहीं लिखना पड़ा इमेजिन करो यह बूट स्ट्रिपिंग समय के साथ बढ़ती जा सकती है कल को मान लो हमने सी का एक और एडवांस वर्जन बना लिया तो अब लॉजिक क्या है ध्यान से देखिए वो एडवांस वर्जन कैसे चलेगा लेट मी से उसका नाम रख देता हूं सी एडवांस मे भी जावा पाइथन कुछ और मान लो अब उसका कंपाइलर मैं लिख सकता हूं सी में वो कन्वर्ट करेगा सीधा लेवल में अब कैसे चल रहा है तो फिर वही कहानी सर यह जो कंपाइलर है वह सी में लिखा हुआ है c को c नॉ पढ़ना जानता है स नॉट को असेंबली पढ़ना जानता है तो दिस इज अ प्रोसेस ऑफ बूट स्ट्रैपिंग कि धीरे-धीरे धीरे-धीरे हम कॉम्प्लेक्शन भी आंसर कर पाते हैं इस कंसेप्ट की मदद से है ना तो आई होप बूट स्ट्रैपिंग का एक बेसिक आईडिया आपको समझ आएगा और वही यहां पर लिखा है कि इनिशियल स्टेप में हम एक बूट स्ट्रैप बूट स्टैप बूट स्प क्यों बोल रहे हैं पहला प्रोग्राम जो मेन मेमोरी में ऑपरेटिंग सिस्टम लोड करता है या नॉट नॉट ऑपरेटिंग सिस्टम वह प्रोग्राम जो ऑपरेटिंग सिस्टम को लोड करता है उसे बोलते है बूट स्ट्रैप करना गेम शुरू करना कहते है ना सिस्टम बूट हो रहा है यहां से गेम शुरू हुआ और आप जब तक चाहे इसको आगे लेके जा सकते हैं है ना तो अगर हम कोई पाइथन या कोई भी नई लैंग्वेज लेके आते हैं हमें ये टेंशन नहीं लेनी कि इसका कंपाइलर डायरेक्ट असेंबली में लिखेंगे वो बहुत सारे काम हम पहले से कर चुके हैं तो रिवर्क कम है रीयूज ज्यादा है वह कहानी है है ना तो दैट इज़ द आइडिया और न्यूर वर्जन नेक्स्ट टू नेक्स्ट हम क्रिएट करते जा सकते वो पूरी कहानी मैं दोबारा यहां पर लिख रहा हूं सो दैट यूनिवर्सिटी में इफ इट इज फाइव मार्क 10 मार्क में पूछा जाए तो कोई कंफ्यूजन ना हो सो इट्स अ प्रोसेस ऑफ राइटिंग अ कंपाइलर फॉर प्रोग्रामिंग लैंग्वेज यूजिंग द लैंग्वेज इट सेल्फ इन अदर वर्ड इट इज अ प्रोसेस ऑफ यूजिंग कंपाइलर रिटन इन अ पर्टिकुलर प्रोग्रामिंग लैंग्वेज टू कंपाइल अ न्यूअर वर्जन ऑफ अ कंपाइलर रिटन इन द सेम लैंग्वेज तो न्यूर न्यूअर वेरिएंट्स पे हम जाते जाते हैं और यह जैसे सी का मैंने पूरा एग्जांपल दिखा वही एग्जांपल यहां पर मैं कोट कर रहा हूं सेम लैंग्वेज में लिखने का एडवांटेज क्या है अब जैसे सी का हमने सी नॉट में लिखा या सी एडवांस का सी में लिखा क्योंकि लैंग्वेज का कंपाइलर भी टेक्निकली उसी लैंग्वेज के प्रीवियस वर्जन में लिखा हुआ है ना तो उसका सिंटेक्स सिमटिक समझना ऑप्टिमाइजेशन कर पाना अ रिलेटिवली बेटर कंट्रोल रखना वो सब पॉसिबल होगा वही सारे पॉइंट यहां पे मैं एग्जांपल में लिख रहा हूं विद एडवांटेज एक थोड़ा सा डिसएडवांटेज बोल सकते है थोड़ा टाइम कंजूमिंग तो होगा क्योंकि यू आर नॉट राइटिंग इट डायरेक्टली यू आर डूइंग इट स्टेप बाय स्टेप है ना वो का नहीं है नाउ अगला एक आईडिया था क्रॉस कंपाइलर अब क्रॉस कंपाइलर क्या है देखिए बूट स्ट्रैपिंग तो यह आईडिया हुआ कि हम बात कर रहा है डे वन से 1960 से आज तक कैसे हम धीरे-धीरे यू नो लैंग्वेजेस की कॉम्प्लेक्टेड क्या है इसको ऐसे समझो आई विल गो स्टेप बाय स्टेप अब तो आपको टी डायग्राम पढ़ना आ गया है दिस इज डायग्राम नंबर वन हमारे पास एक कंपाइलर है जैसा आपने समझा इनपुट आउटपुट एंड किस लैंग्वेज में लिखा है जो वा लैंग्वेज को किसी मशीन ए के लिए डायरेक्ट मशीन लेवल कोड में कन्वर्ट करता है और मान लेता हूं कि वो कंपाइलर लिखा भी मशीन लेवल मशीन लेवल लैंग्वेज यानी कि एम में ही है तो कोई प्रॉब्लम नहीं है इसको अगर ऐसे इमेजिन करें इनपुट है वा कंपाइलर भी लिखा हुआ है मशीन लेवल लैंग्वेज में तो इसको फर्द किसी का सपोर्ट नहीं चाहिए और यह किसके लिए कन्वर्ट कर रहा है यह डायरेक्ट मशीन लेवल में कन्वर्ट कर रहा है बात खत्म हो गई अब मैं क्या चाहता हूं मैं एक नया मशीन बनाना एक नया कंपाइलर बनाना चाहता हूं जो कि इनपुट x को किसी लैंग्वेज x को किसी लैंग्वेज z में कन्वर्ट करें फॉर द सेम मशीन इसी हार्डवेयर के लिए कैसे बनाऊंगा तो इसको बोलते हैं क्रॉस कंपाइलर एक नया मशीन बनाना एनी यह बूट स्पिंग की तरह नहीं तो आईडिया देखिए क्या है आईडिया यह है क्यों ना हम एक काम करें इसका कंपाइलर y लैंग्वेज में लिखें अब देखो फिर वही बात है x को z में कन्वर्ट करेंगे यूजिंग वा लैंग्वेज अब वा लैंग्वेज क्या मशीन को समझ आती है वो मशीन को पहले समझ आती है तो मशीन के पास ऑलरेडी एक कंपाइलर है जो वाय लैंग्वेज को मशीन लैंग्वेज में कन्वर्ट करना जानता जो खुद मशीन लैंग्वेज में लिखा उसे किसी का सपोर्ट नहीं चाहि तो फिर वही बात ये दोनों इक्वल ये दोनों इक्वल ये मिलके कैसे बिहेव करेगा ये y को x को ये ट्रांसिटिविटी होते हुए m में कन्वर्ट करेगा m को यूज करते हुए z को x को z में कन्वर्ट करेगा तो x कन्वर्ट हो जाएगा z में एंड द मशीन इज रिटन इन m हालांकि डायरेक्ट लिखा हुआ नहीं है यह बिहेव कर रहा है लिखा हुआ कैसे है x y के थ्रू कन्वर्ट होता है और y m पे डायरेक्ट लिखा हुआ है जो मशीन पढ़ना जानता है तो दिस इज़ नोन एज क्रॉस कंपाइलेशन जहां पर कि हम दो वेरिएंट है इसके दोनों समझाता हूं एक वेरिएंट तो यह है कि सेम कंप्यूटर है कंप्यूटर का नाम है m उस पे प्रीवियस एक मशीन एक कंपाइलर पहले से बना हुआ था एक नया कंपाइलर हमने बना लिया पुराने कंपाइलर का यूज करते हुए एक और आईडिया है ये आईडिया देखिए बहुत मजेदार है यहां दो मशीनस है और कैसे एक जैसे बोलते है ना प्लेटफॉर्म इंडिपेंडेंस एक मशीन पर रहते हुए क्या दूसरे मशीन के लिए कोड जनरेट किया जा सकता है हां कैसे नोटिस करिए अब यहां देखिए हमारे पास मैं इसको डायग्राम वाइज अलग से दिखाता हूं हमारे पास एक कंपाइलर है जो कि इनपुट लेता है लेट मी से सी लैंग्वेज डायरेक्ट कन्वर्ट करता है मशीन लेवल लैंग्वेज में और ये जो कंपाइलर है सर यह m में लिखा हुआ है नोटिस करिए है ना बहुत बेसिक बात है ऑर्डर में चल रहा हूं नाउ मुझे एक नया कंपाइलर बनाना है जो कि c को कन्वर्ट करे लेट मी से लेट मी टेक अ न्यू लैंग्वेज जो कि c+ प को कन्वर्ट करें किसी नए मशीन n के लिए बट यह काम होना चाहिए मशीन m पे ही तो बेसिकली क्या एक कंप्यूटर पे हम एक ऐसा कोड जनरेट कर सकते हैं क्या जो किसी दूसरी मशीन पर रन करें ऐसा कर सकते हैं कैसे कर सकते हैं नोटिस करिए तो देखिए यह तो हमारे पास पहले से है कि हमको c को कन्वर्ट करना मशीन हमारे पास पहले से है जो c को मशीन लेवल m में कन्वर्ट कर रहा है कैसे यूजिंग m अब मैं क्या कर रहा हूं मैं एक नया कंपाइलर बनाता हूं जो c+ प को मशीन n के मशीन लेवल कोड में कन्वर्ट करेगा और वो मैं लिखूंगा c में अब यह गेम क्या है फिर वही बात ट्रांजिटिंग क्योंकि c को मुझे पहले से कन्वर्ट करना आता है इन मशीन फॉर मशीन m अगर मेरे पास एए कोड लिखा हुआ है तो फिर वही बात ये दोनों सेम है ये दोनों सेम है तो लॉजिकली ये कैसे बिहेव करेगा हम c को भी n c+ प् को भी n में कन्वर्ट करना सीख जाएंगे और टेक्निकली वो किस में लिखा हुआ है m में हालांकि वो m में नहीं लिखा वो एक तरफ लिखा है c में और सिर्फ फर m के थ्रू हो जाता है m में कन्वर्ट दैट इज हाउ इट इज वर्किंग तो क्रॉस कंपाइलेशन के दो वेरिएंट है पहला सेम मशीन के लिए अगर आप कोई नया कंपाइलर बनाना चाह रहे हैं किसी नए लैंग्वेज में कन्वर्ट करने के लिए वो हम कर सकते हैं और दूसरा सेम मशीन पे अगर किसी दूसरे मशीन के लिए आप कोड जनरेट करना चाहते हैं वो भी कर सकते हैं यह दोनों चीजें मिलकर यहां पर एज अ क्रॉस कंपाइलर काम करती है यस तो इनिशियली सॉफ्टवेयर वाज अ ऑफें डेवलप्ड एंड एग्जीक्यूटेड फॉर द सेम टाइप ऑफ मशीनस इसका इंसेप्शन क्या है जरूरत क्या है भाई स्टार्टिंग में कुछ ही लिमिटेड तरह के आर्किटेक्चर थे मशीन थी उसी के लिए सॉफ्टवेयर डेवलप होता था काम हो जाता था बट जैसे-जैसे डेवलपमेंट हुआ और हम जानते हैं हार्डवेयर में ज्यादा डेवलपमेंट हुआ रिलेटिव टू सॉफ्टवेयर तो अब इतने सारे वेरिएंट हमारे पास है इतने तरह के मशीन है इतने सारे तरह के आर्किटेक्चर है उसको कैसे मैनेज करें तो ये टेक्निक्स हमें मदद करती हैं कि जो हमारी मशीन है उस पर बैठकर हम किसी तीसरे मशीन के लिए आईडिया जनरेट करें अगर बहुत ज्यादा दिमाग में नहीं बैठ रहा है ल एडवाइस कि कम से कम एक या दो बार तो आप दोबारा से देख देख अदर वाइज यह दो-तीन डायग्राम याद करके एक एग्जांपल बना के आएंगे तोर गोइंग टू गेट फुल मार्क्स यस ठीक है सर अब थोड़ी सी बात करते हैं डिटरमिनिस्टिक फाइना इट ऑटोमेटा के बारे में थोड़ा सा मैं कॉन्टेक्स्ट क्लियर कर दूं कि ये अचानक से डीएफए मशीन मॉडल ये क्या है अ अगर आप पहले से टीसी वाली सिंगल शॉट देख चुके हैं वन शॉट देख चुके हैं देन ओबवियसली आपको पूरा आईडिया कि यह क्या है तो ऑटोमेटा या थ्योरी ऑफ कंपटीशन जो हमारा मेन सब्जेक्ट है मान सकते हैं कंपाइलर का थोरेट्स में जहां से मिलता है तो वहां पर हम यू नो डीएफए पीडीएस एंड टूरिंग मशीन वो सारी चीजें बहुत डिटेल में और बहुत अच्छे से हम डिस्कस कर चुके हैं यहां पर इसको पढ़ने का कारण यह है कि जो कंपाइलर का टेक्निकली हमारा पहला फेज है व्हिच इज लाइक लेक्सिक एनालिसिस वहां पर जो टूल यूज़ होता है दैट टूल इज एक्चुअली डीएफए तो दैट इज द रीज़न डीएफए या रेगुलर एक्सप्रेशन या एएफए का बहुत छोटा सा स्लाइट अंडरस्टैंड कंपाइलर के सिलेबस में आमतौर पे रखा जाता है सो दैट आपको उसका थोड़ा सा बैकग्राउंड समझ आए बिकॉज़ जो स्टेप नंबर टू है कंपाइलर का व्हिच इज सिंटेक्स एनालिसिस जो हम कॉन्टेक्स्ट फ्री ग्रामर का यूज़ करके करेंगे वो तो डिटेल में पढ़ ही लेंगे उसमें कोई बड़ी बात नहीं है लेकिन ये क्योंकि इतनी डिटेल में नहीं पढ़ रहे इस वजह से यहां पर लिखा हुआ है तो मैं थोड़ा समय लूंगा एक-एक दो-दो बेसिक बेसिक टॉपिक आपको याद दिलाऊंगा बट अगेन अगर आप इसमें बहुत डिटेल में अंडरस्टैंडिंग लेना चाहते हैं तो जो टीओटीपी बैकग्राउंड एकदम शानदार तरीके से समझ आ जाएगी तो फिर मैं यहां पे स्टार्ट करता हूं सो डीएफए अ डिटरमिनिस्टिक फाइना इट ऑटोमेटा इज डिफाइंड बाय हाउ मेनी टपल्स फाइव टपल्स हम इसे डिफाइन करते हैं एक तरह का मशीन मॉडल है जिसमें कौन-कौन से टपल्स है कैपिटल q जो टोटल नंबर ऑफ स्टेट्स हमारे होते हैं उसको रिप्रेजेंट करता है सिग्मा इनपुट अल्फाबेट अ एक हमारे पास एगजैक्टली वन इनिशियल स्टेट होती है वी हैव नंबर ऑफ फाइनल स्टेट जो कि रो भी हो सकती है तो फ्रॉम रो टू एनी नंबर फाइनल स्टेट्स इज़ देयर एंड देन वी हैव अ ट्रांजीशन फंक्शन तो ट्रांजीशन फंक्शन हमें कैसे क्या बताता है कि कैसे एक स्टेट से दूसरे स्टेट पे हमें ट्रांजीशन करना है हमें स्विच करना है टू गिव यू एन एग्जांपल एक एक्सप्रेशन की मदद लेके एक एक्सप्रेशन बना भी लेते हैं एक मशीन बना लेते हैं जो कि अगेन एक प्रीवियस ईयर क्वेश्चन है और अप्रोच क्या है वो भी आपको समझा देता हूं सो लुक एट दिस और मजे की बात है कि यहां पे ऐसा नहीं बोला गया कि डीएफए बना बोला गया एए पे नॉन डिटरमिनिस्टिक वर्जन में क्या होता है हम एक से ज्यादा मूव्स भी ले सकते हैं सो ऑब्लिक का मतलब है चॉइस तो बेसिकली व्हाट डज इट मीन इसका मतलब है आइर ए या फिर ए ब या फिर क्या लिखा है नोटिस करिए दैट इज a स्टार एंड b प्लस है ना कीन क्लोजर पॉजिटिव क्लोजर बाय यूजिंग थॉमसन कंस्ट्रक्शन मेथड तो थॉमसन कंस्ट्रक्शन मेथोड क्या होता है जहां पर आप सारी चीज की एक्स्ट्रा टेंशन मत ल वैसे भी रेगुलर एक्सप्रेशन पे काम करना आसान है जो समय के साथ हमने सीखा है आईडिया क्या है कि इसको कुछ स्टेप बाय स्टेप हम डीकंपोज कर सकते हैं कैसे करेंगे नोटिस करिए तो मैं एक काम करता हूं पहले सिंगल इनिशियल स्टेट मानता हूं और तीन रास्ते हमारे पास है इनिशियल से फाइनल पर जाने के या तो सिंगल ए आपके पास हो या तो जैसे ट्रांजीशन ग्राफ में हमने पढ़ा था ओसी में एी बी या फिर ए स्टार एंड बी प्लस अब ओबवियसली यह कोई परफेक्ट एनएफ नहीं है इसको फदर सिंपलीफाई करते हैं यही है थॉमसन कंस्ट्रक्शन तो एक लॉजिक क्या हो सकता है नोटिस करिए लुक एट दिस एक तो य अंग्रेज छोटे-छोटे काम भी करते उसमें भी नाम लगा देते कितनी महान बात हो गई तो सिंगल ए इसको तो फरदर सिंपलीफाई कर नहीं सकते यहां पर ए बी बी है ना तो वी कैन हैव अ सिंगल ए एंड देन वी कैन हैव सिंगल बी एंड देन वी कैन हैव बी ऐसे हम आगे जा सकते हैं ए स्टार है तो यहां पर आप बिल्कुल एलन का इस्तेमाल कर करिए सो दैट नल ट्रांजीशन लिया आगे बढ़े a स्टार मतलब एनी नंबर ऑफ़ एज यू कैन हैव अभी b प्लस है तो इसका मतलब क्या बताओ कम से कम एक b तो लेना ही पड़ेगा आपको बिकॉज़ पॉजिटिव क्लोजर है अगेन ये सारी बैकग्राउंड हम टीसी में पढ़ चुके हैं व्हाट इफ कीन क्लोज एंड पॉजिटिव क्लोजर देन वी हैव b प्लस तो सिंगल बी के बाद कितने भी नंबर ऑफ़ बी हो सकते हैं एंड अगेन यूजिंग एलन आई वांट टू गो टू द फाइनल स्टेट तो देर यू सी सेम एक्सप्रेशन का हमने यहां पे मशीन वर्जन बना लिया और यही दरअसल वर्जंस या वेरिएंट जो है ना वह बाद में हमें हेल्प करते हैं लेक्सिक एनालिसिस में टोकन आइडेंटिफिकेशन में इस वजह से इसका थोड़ा सा बैकग्राउंड इसका थोड़ा सा आईडिया यहां पर डिस्कस करके चल रहे हैं एक और क्वेश्चन देखिए ये क्या पूछा है ए स्टार ऑ ए है ना ये भी आमतौर पे कॉलेज यूनिवर्सिटी में इस तरह के क्वेश्चन पूछे तो मुझे लगा कि सैंपल से लेके बात करूंगा एग्जांपल के साथ तो आप जल्दी रिलेट करेंगे लगाइए एक मिनट दिमाग लगाइए इसमें बताओ कैसे से करेंगे वीडियो पॉज भी कर सकते हो है ना ट्राई करते हैं तो अगेन स्टेप नंबर वन आप चाहो तो यहां एक और छोटा स्टेप लिख देता हूं स्टेप नंबर वन जो भी एक्सप्रेशन लिखा है ना इनिशियल से फाइनल का रास्ता बनाइए और यह पूरा का पूरा एक्सप्रेशन बस यहां पे ऑब्लिक है तो मैं चॉइस के साथ लिख देता हूं एक साथ भी लिख सकते हैं नाउ दैट इज स्टेप नंबर वन स्टेप नंबर टू में अब देखो आप क्या कर सकते हो इन स्टेप नंबर टू यू कैन हैव टू डिफरेंट पथ्स इसे थोड़ा सिंपलीफाई कर लेता हूं सो a b स्टार एंड दैट इज़ तो बस एक सिंगल स्टेट मैं बीच में लगा लेता हूं सर उसके अलावा मुझे नहीं लग रहा इसमें और कुछ प्रॉब्लम होगी सो अगेन यू सी स्टेप बाय स्टेप थॉमसन कंस्ट्रक्शन ताकि एग्जाम में जब आप करके आए तो एग्जामिनर को समझ भी आए कि इसने एकदम से आंसर उठा के कहीं से चीटिंग करके नहीं लिख दिया है स्टेप बाय स्टेप पूरा आंसर कन्वर्ट किया है तो यह कहानी हो जाती है देन आगे बढ़ी एक और आखिरी केस देख लेते हैं यह क्या है ़ यह 0 1 पे ले लेते हैं तो 0 + 1 का होल स्टार एंड देन वी हैव सिंगल जीरो सिंगल वन एंड वन जीरो तो जैसा हमने सीखा है स्टेप नंबर वन पूरी की पूरी कहानी में ऐसे लिख देता हूं सो दिस इज लाइक 0 प्सव होल स्टार एंड देन वी हैव 0 व एंड देन वी हैव रो यस नाउ आफ्टर दिस अब इसको डीकंपोज करना स्टार्ट करो तो एलन से इस ऑर्डर को रेस्पेक्ट करते हैं ताकि कोई कंफ्यूजन ना हो तो देयर यू हैव यू हैव अ साइकिल ऑफ़ 01 01 जब तक चाहो जितनी बार चाहो एक और एलन लगा लेता हूं ताकि कोई कंफ्यूजन ना हो ऑर्डर में अब यहां पर आप देख रहे हो चॉइस है इस चॉइस का क्या मतलब होगा अगर एक ही स्टेप में कर दूं तो या तो रो दो अलग-अलग रास्ते बना देता हूं या तो वन दोनों में से कोई एक लेके आप आगे जा सकते हो और आगे आप देखोगे तो कॉन्कैटिनेट है तो या तो रो या तो वन नहीं वन भी चाहिए और रो भी चाहिए और सेम ऑर्डर में चाहिए सो फर्स्ट यू मस्ट हैव अ वन एंड देन यू मस्ट हैव अ ज़ीरो एंड देन यू गो टू फाइनल स्टेट लुक एट दिस पूरी कहानी एकदम वैल्यू बाय वैल्यू ऑर्डर में हम कन्वर्ट कर रहे हैं और देख रहे हैं है ना सो मैं दोबारा से याद दिला रहा हूं वेदर इट इज रेगुलर एक्सप्रेशंस और एनएफ एज और डीएफ एज है ना बहुत डिटेल में टीओटीपी अंडरस्टैंडिंग मैं यहां डिस्कस करके चलूंगा एंड अगर अभी सेमेस्टर में सिर्फ कंपाइलर डिजाइन है तो उसके कॉन्टेक्स्ट में कोई बहुत इंपॉर्टेंट बात नहीं जिसमें इतनी डिटेल में यहां बात की जाए और नॉर्मली तो यह होता ही है कि कंपाइलर जब पढ़ाया जाता है तो यूजुअली उससे पहले सेमेस्टर में आपको टीटीओ ऑलरेडी पढ़ा चुके होते हैं नॉर्मली ऐसा ही है अगला यहां पर भी जो मेंशन किया गया है मुझे पता नहीं क्योंकि यू नो दे वांट यू टू कन्वर्ट एएफए इनटू डीएफए तो आई थिंक अगेन ऑलरेडी वीी हैव डन दिस बहुत डिटेल में और कैसे-कैसे स्टेप बाय स्टेप कन्वर्ट करते हैं कर सकते कि नहीं कर सकते हो सारी चीज में मेंशन कर रहा हूं एक एग्जांपल करके दिखा देता हूं दिस इज अ प्रोसीजर तो आप चाहो तो वीडियो पॉज करके अगर आप नोट्स लिखना चाहो या दो-तीन पॉइंट पर ध्यान देना चाहो सो दैट एग्जाम में लिख के आने के लिए तो आप कर सकते हो मैं करके दिखाता हूं सो लुक एट दिस यह हमारे पास एक एएफए है इसको कन्वर्ट करना डीएफए में तो क्या चीज यूजुअली एडवाइस की जाती है स्टेप नंबर वन में आप क्या करें आप पहले इसको टेबल में कन्वर्ट कर ले क्योंकि टेबल से टेबल में कन्वर्ट करना आसान है तो कितने इनपुट अल्फाबेट है सर दो अल्फाबेट है तो लेट मी से ए एंड बी एंड हाउ मेनी स्टेट्स वी हैव सो हियर वी हैव थ्री स्टेट्स आप देखो कौन-कौन सा है q नॉ एंड q1 एंड q2 और q1 हमारा फाइनल है देखिए दोबारा एक बात जो नोटिस करनी है अभी जो पहले हम ये टेबल बना रहे हैं ना ये टेबल हम किसके लिए बना रहे हैं ये टेबल बना रहे हैं एएफए के लिए तो यहां पर बेसिकली हम कोई कन्वर्जन नहीं कर रहे है ना लेट दैट बी वेरी क्लियर ये सिर्फ एएफए का एएफए वाला ही रिप्रेजेंटेशन है जो ट्रांजीशन है मेंशन करते चलते हैं तो बताओ न ए पे क्या कर रहा है सर न a पे दो काम कर रहा है दे यूसी q1 पे भी जा रहा है और q2 पे भी जा रहा ध्यान से देखो q नॉ बी पे क्या कर रहा है q नॉ बी पे कुछ नहीं कर रहा और एएफए में आपके पास लिबर्टी होती है इस तरह के काम करने की बेसिकली इस तरह का काम मतलब काम ना करने की भी लिबर्टी होती है फिर आगे बढ़ी q1 क्या कर रहा q1 ए और बी दोनों में से किसी पर कुछ नहीं कर रहा q2 क्या कर रहा है नोटिस करें सो q2 जैसा मैं देख पा रहा हूं ए पर q1 और q2 दोनों पर जा रहा है बट बी पे वह सिर्फ q2 पे है नोटिस करिए यस ना डूइंग दिस अब हम जल्दी से स्टेप बाय स्टेप इसको कन्वर्ट करते कैसे करेंगे तो अब एक्चुअली कंस्ट्रक्शन स्टार्ट हो रहा है डीए का डीए में क्या कानी है एक स्टेट पर आप एगजैक्टली एक ही मूव लेंगे ना एक से कम लेंगे ना एक से ज्यादा लेंगे तो रूल क्या है दोनों कॉलम सेम भरो और जो पहला रो है वो एगजैक्टली कॉपी कर दो एकदम कॉपी कर दो कोई दिक्कत नहीं इनिशियल स्टेट सेम रहेगा तो कॉपी करो सर क्या होगा बताओ q1 q2 एंड फ अब ये दोनों ही चीजें डीएफए में अलाउड नहीं है ना तो यू नो दो स्टेट प जाना अलाउड है और ना ही मूव ना लेना अलाउड है बट दोनों का सॉल्यूशन क्या है यू ट्रीट देम एज अ स्टेट आप इ ए स्टेट ट्रीट कर लो तो इसको ऐसे मानो एक नया स्टेट है सर जिसका नाम है q1 q2 एक नया स्टेट है जिसका नाम है फई अगर ऐसा मान ले तो तो कोई प्रॉब्लम नहीं होनी चाहिए ठीक है अब डीए क्योंकि कंप्लीट सिस्टम भी है तो अगर कोई स्टेट आया तो उस पर भी मूव होंगे तो अब अगली स्टेट फिर वहां से कॉपी नहीं करनी जो नया स्टेट बने लिखते जाओ तो एक नया स्टेट बना वहि इज q1 एंड q2 अब q1 और q2 प क्या मूव होगा वो उस टेबल से पूछो q1 एंड q2 ऑन a तो q1 तो a पे फाइव कोई मूव नहीं ले रहा q2a पे जरूर दो मूव ले रहा है q1 q2 तो फ का और q1 q2 का यूनियन भी करूंगा तो भी मेरे को दोबारा q1 q2 ही मिलने वाला है तो बेसिकली इट इज काइंड ऑफ अ सेल्फ लूप सर नो चेंज सेल्फ लूप नाउ q1 q2 ऑन b q1 q2 जब b पर देखेंगे इधर फ मिलेगा इधर q2 मिलेगा फिर वही बात दोनों का यूनियन करेंगे तो क्या मिलने वाला है q2 यस एक नया स्टेट और मिल गया यहां पर फई था फई बेसिकली डीएफ में रिप्रेजेंट करता है किसको डेड स्टेट्स को तो फई के ट्रांजीशन देखने की जरूरत नहीं है क्योंकि डेड स्टेट हमेशा क्या करता है सेल्फ लूप लेता है सो देर यू सी आइर ऑन ए और बी य दोनों केस में सेल्फ लूप करेगा और अब ले लेते हैं आखरी शादी हैट q2 के मूव देखिए सर q2 ऑन ए इज q1 q2 जो कि पहले से हमारे पास एक नया स्टेट है कोई प्रॉब्लम है एंड q2 न बी इज अगेन q2 जो कि अगेन हमारे पास स्टेट है कोई प्रॉब्लम नहीं है नाउ फाइनल थिंग फाइनल स्टेट कौन-कौन बनेगा तो हम देखते हैं ओरिजिनल मशीन में कौन फाइनल था q1 फाइनल था यहां पे वोह सब फाइनल बनेंगे जहां पर q2 आया है बट आप देखिए q2 सिर्फ q1 माफ कीजिएगा वहां q1 फाइनल था तो वो सब फाइनल बनेंगे जहां पर q1 आया बट आप नोटिस करें q1 एक ही बार आया है इसका मतलब फाइनल स्टेट भी एक ही बनेगा और यह देखिए जैसे आप बोल सकते सबसेट कंस्ट्रक्शन या कन्वर्जन बहुत आराम से और बहुत शानदार तरीके से हमने अपना एनएफ डीएफए में कन्वर्ट कर लिया स्टिल एक काम इस पर किया जा सकता है क्या आप मशीन मॉडल में कन्वर्ट कर लो टू हैव बेटर अंडरस्टैंडिंग की हा यार सब काम ठीक से हुआ भी है कि नहीं है तो देखो जरा क्या कर रहा है ू नॉ ऑन ए अगर ए आया तो आगे बढ़ा और क्या कह रहा है ए पे कि सर q1 q2 पर चले जाओ जो कि टेक्निक इसका फाइनल स्टेट भी है अगर बी आया तो सीधे भाई भेज रहा है डेड स्टेट में बी आते ही डेड प भेज दिया दे य सॉरी फई है ना एंड दिस इज लाइक दिस इज नॉट फाइनल लूप करेगा ओके q1 q2 ए पे लूप कर रहा है बी आया तो शायद आपको आगे भेज रहा है ऑन स्टेट q2 और q2 प अगर बी है तो यही लूप आपसे करा रहे है बट अगर ए आया देखिए नोटिस करिए वापस आ रहा है क्या है ये आप आप ध्यान से देखेंगे ओरिजिनल एनएफ क्या था अगर लैंग्वेज पे आप ध्यान द सर ये वो मशीन था यू नो वेर एवरी स्ट्रिंग एक्सेप्टेड स्टार्टस एंड एंड्स विद सेम सिंबल नोटिस करो एवरी स्ट्रिंग एक्सेप्टेड स्टार्टस एंड एंड्स विद सेम सिंबल ए नॉट सेम सिंबल ए ए से स्टार्ट होगा ऐसे ही खत्म होगा तो अगर सिंगल ए है तो बोल सकते हैं सर वही स्टार्टिंग और वही एंडिंग स्टेट भी है तो एक्सेप्ट कर रहा है वरना यहां पे यहां देखो सेम हो रहा है क्या स्टार्टिंग में अगर बी आया सीधे डेड प लेकर जा रहा हो अब कोई पॉसिबिलिटी है अब क्या बात करूं आपसे बात खत्म हो गई लेकिन अगर स्टार्टिंग में a आया नोटिस करो तो फिर मैं एक्सेप्ट करूंगा जब तक जब तक य आता रहेगा b आएगा नॉन फाइनल पे लेके जाऊंगा वहीं बैठा के रखूंगा बट जैसे ही a आएगा वापस आ जाऊंगा तो यह बिल्कुल परफेक्ट तरह से काम कर रहा है एंड दैट इज हाउ यू कैन कन्वर्ट अ एएए इंटू डीएफए यस मैं दोबारा आपको दिखा रहा हूं दिस इज द आइडिया कि हां हर एएफए को डीएफए में कन्वर्ट किया जा सकता है हर डीएफए एएफए भी होता है हर एएफए डीएफए हो जरूरी नहीं है द सबेट कंस्ट्रक्शन टोटल स्टेट कितने बढ़ सकते हैं और एग्जैक्ट प्रोसीजर क्या है यह तो भी आपने देख भी लिया इनिशियल स्टेट चेंज नहीं हो रहा इनपुट अल्फाबेट चेंज नहीं हो रहा ट्रांजीशन फंक्शन चेंज हो रहा है कैसे चेंज हुआ आपने एग्जांपल से देख लिया फाइनल स्टेट कौन बनेगी वो सारे स्टेट फाइनल बन रहे हैं जहां पे फाइनल स्टेट आ रहा है तो दैट इज द आइडिया यस और फिर भी आपका मन ना भरे तो मैंने क्या किया है मैंने एक बार जैसे मैं हर केस में नॉन यूजुअली कर रहा हूं जहां भी मुझे लगता है कि एग्जामिनर की पॉसिबिलिटी के व आपसे पूछ ले डिफरेंस तो एएफए और डीएफए का डिफरेंस टेबल फॉर्म में भी आपको लिख के दे रहा हूं ओके अब फाइनली मान सकते हैं कि यहां से अभी भी खैर बहुत डिटेल में नहीं लेकिन कंपाइलर का जो पहला फेज था वो क्या है वो है लेक्सिक एनालाइजर है ना तीन स्टेप है लेक्सिक एनालाइज सिंटेक्स एनालाइजर सिमटिक एनालाइजर तो अब फाइनली इतना बेसिक्स पढ़ने के बाद हम स्टार्ट करेंगे लेक्सिक एनालिसिस या लेक्सिक एनालाइजर तो जैसा ऑलरेडी हमने बेसिक आईडिया ले लिया था इट इज अ फेज जो कंपाइलर डिजाइन का फर्स्ट स्टेप है इनपुट क्या है इनपुट होगा आपको मिलेगा सोर्स प्रोग्राम आउटपुट क्या होगा आउटपुट होगा स्ट्रीम ऑफ टोकेंस तो सोर्स प्रोग्राम को छोटे-छोटे टोकेंस में कन्वर्ट करता है और बेसिकली ऑब्जेक्टिव फंक्शन क्या है स्पेलिंग मिस्टेक चेक करना है ना यह चेक करना कि जो इंडिविजुअल टोकन है या लेगम्स या स्पेलिंग्स है या वर्ड हैं वो सही है कि नहीं है तो आई विल गो वन बाय वन लेक्सिक एनालिसिस और लेक्सिंग और टोकना इजेशन इज अ प्रोसेस ऑफ कन्वर्टिंग अ सीक्वेंस ऑफ कैरेक्टर्स सच एज अ कंप्यूटर प्रोग्राम और अ वेब पेज व्हाट एवर इट इज इनटू अ सीक्वेंस ऑफ टोकेंस तो कंटीन्यूअस स्ट्रीम को टोकेंस में ब्रेक करना यह काम है लेक्सिक एनालिसिस का तो जैसे आप देख सकते हैं अगेन यह मतलब समझो डिफरेंस क्या पहले मैंने इस पर बात की है लेक्सिम और टोकन बच्चे बड़े कंफ्यूज रहते हैं जो एग्जैक्ट चीज आप स्कैन कर रहे हैं वह लगम है और उसका जो मीनिंग है उसका जो क्लास है है ना वो टोकन है तो फॉर एग्जांपल लेस दन इक्वल टू ये लगम है कंपैरिजन ये टोकन है वाई एक वाई इज वा ये लगम है और वो क्या है वो आइडेंटिफिकेशन है तो यहां पर देखिए वही दो तीन चीज मैं लिख के मेंशन कर रहा हूं अलगम इज अ सीक्वेंस ऑफ कैरेक्टर इन द सोर्स प्रोग्राम दैट मैचेस द पैटर्न ऑफ अ टोकन एंड इज आइडेंटिफिकेशन द लेक्सिक एनालाइजर एज अ इंस्टेंस ऑफ दैट टोकन वेयर अ टोकन इज अ स्ट्रिंग विदन असाइन एंड थस आइडेंटिफिकेशन है तो आई थिंक ये बेसिक बात है कैसे आप करते हैं तो पहले स्कैन करते हैं लगम बनाते हैं फिर उसका लॉजिकल वैल्यू आइडेंटिफिकेशन लगम व्हिच इज आइडेंटिफिकेशन सी सेपरेटेड बाय कॉमा जितने भी लेग जम अलोंग विद देर टोकन वो सब चीजें यहां पर हमने टेबलेट करके लिखी हुई है एज सिंपल एज दैट अब लैक्सिकल एनालाइजर काम कैसे करेगा यह तो हमें समझ आ गया यह बेसिकली क्या है वो हमें समझ आ गया यह डिजाइन कैसे होगा वो समझना मु मुश्किल है तो मान लीजिए सी प्रोग्रामिंग लैंग्वेज ही ले लेते हैं है ना तो सी लैंग्वेज हमारे पास है उसे टोकन में ब्रेक करते हैं कैसे ब्रेक होता है टोकेंस में कैसे आइडेंटिफिकेशन उस रूल को इस्तेमाल करके हम उसे डीएफए में लेके जाते हैं फॉर एग्जांपल मैं एक छोटा सा एग्जांपल समझाता हूं हाथ से जैसे बोलते हैं हैंड कोडिंग करना ये काम कैसे किया जा सकता है यहां देखिए मैं एक एक्सप्रेशन लिख रहा हूं क्या एक्सप्रेशन है नोटिस करिए अगेन टीसी का थोड़ा सा बैकग्राउंड यहां काम आएगा लेकिन आईडिया बड़ा इंटरेस्टिंग है लुक एट दिस मैं लिख रहा हूं ए व्हिच स्टैंड्स फॉर अल्फाबेट तो अलग से आपको बता देता हूं सर ए का मतलब है किमल एल बी अप टिल अप टिल अप टिल अप टिल स्ल ज या कैपिटल ए कैपिटल बी अप टिल अप टिल अप टिल कैपिटल z तो स्मल केस कैपिटल केस आप कुछ भी लिख सकते हो दैट इज a s इज अ लेट मी से स्पेशल सिंबल तो जो जो भी स्पेशल सिंबल चलता है रेट हो सकता है या हाइन हो सकता है या हैश हो सकता है जितने भी स्पेशल सिंबल है वो सारी पॉसिबिलिटी और डी का मतलब है मान लीजिए डिजिट यानी कि रो या वन या टू अप टिल अप टिल अप्टिल यू कैन गो टिल नाइन यह कहानी है अब देखिए मैंने एक्सप्रेशन क्या लिखा मैंने बोला ए उसके बाद चॉइस दिया है ए में s में या डी में चॉइस है और कितनी बार रिपीट करना है तीन टाइम उसके बाद a में या s में या d में चॉइस दिया अलोंग विद एलन जिसको रिपीट आप कर सकते हैं चार टाइम तो होगा क्या यहां से कोई भी एक a तो आपको मिलेगा ही तो बेसिकली आप स्मल a से लेके कैपिटल z तक कुछ भी पिक कर लो पहला पहला जो आपका कैरेक्टर होगा तो मान लीजिए मैं पिक कर लेता हूं b है ना उसके बाद तीन कैरेक्टर आपको चाहिए नाउ दैट कैन बी अ डिजिट दैट कैन बी अ स्पेशल सिंबल और दैट कैन बी अ अ अल्फाबेट तो फॉर एग्जांपल मान लीजिए मेरा मन है चूज करने का आईल गो फॉर b ब और मैं वैसे तो चाहूं तो कुछ भी रिपीट कर सकता हूं बट चलो मैं हर एक नंबर ले लेता हूं तो रेट ले लेता हूं एंड डी के लिए मैं सेवन ले लेता हूं अगर मैं चाहूं तो इसको मैं एलन भी कर सकता हूं बात खत्म हो गई क्योंकि मैं चारों बार एलन ले सकता हूं अगर मैं चाहूं तो यहां से मैं अगेन कुछ नंबर ले सकता हूं फॉर एग्जांपल मेरा मान लीजिए मन है 00007 लेने का अब यह मान लीजिए मेरा यूजर नेम या पासवर्ड बनाने का रूल हो गया आप जाते किसी वेबसाइट पे वहां पर मेंशन होता है अपना ईमेल आईडी भरे या अपना यूजर नेम अपना पासवर्ड बताएं है ना और कभी-कभी आपने देखा होगा वो मेंशन करता है बहुत स्ट्रांग है या बहुत वीक है या यू मस्ट हैव अ स्पेशल सिंबल या मस्ट स्टार्ट विद नंबर और मस्ट स्टार्ट विद अ कैरेक्टर इस तरह के रूल्स होते हैं देखो ऐसे वो रूल डिफाइन किया जाता है तो अब ये रूल क्या है कम से कम चार लेंथ तो करनी करनी है उसमें मैंने आपको कोई ऑप्शन नहीं दिया पहला सिंबल मस्ट बी एन अल्फाबेट बाकी के तीन सिंबल कुछ भी हो सकते हैं इट कैन बी अ स्पेशल सिंबल और मैं मेंडेट भी नहीं कर रहा कि स्पेशल सिंबल होना ही चाहिए बट अल्फाबेट स्पेशल सिंबल डिजिट कुछ भी हो सकता है अगर आप चार का भी रखोगे तो ओके है अगर आप चाहो तो 5 6 7 8 तक आप जा सकते हो क्योंकि यह पूरा ब्रैकेट में चार बार रिपीट कर रहा हूं दिस इज़ अ चॉइस है ना एक बार ये एक्सप्रेशन आपने बना लिया तब आप क्या कर सकते हैं यू कैन हैव अ फाइना इट ऑटोमेटा तो फॉर एग्जांपल मान लीजिए लॉजिक क्या है पहली बार a का कोई भी भी पॉसिबिलिटी आए स्टेट चेंज करो उसके बाद तीन बार चेंज करना है ना तो अगेन व्हाट यू कैन हैव एक बार अगेन आप तीनों पर लिख लो आदर ए आए एस आए या डी आए फिर से ए आए एस आए या डी आए फिर से ए आए एस आ याडी आ एंड देन यू गो टू फाइनल स्टेट और मान लीजिए इस फाइनल स्टेट का मतलब है द टोकन इज जनरे इस तरह से स्कैन किया जाता है तो अगर मान लीजिए हमें आइडेंटिफिकेशन आएगा मैं स्टेट चेंज करूंगा t आएगा मैं स्टेट चेंज करूंगा और यहां मैं एक टोकन जनरेट कर दूंगा इंटी जर माने एक वैलिड कीवर्ड हमारा जनरेट हो गया तो यह एग्जांपल सिर्फ एक थोड़ा सा आपको बैकग्राउंड समझाने के लिए था कि जो रेगुलर एक्सप्रेशन एक्चुअली टोकन आइडेंटिफिकेशन से रे इसीलिए वो बैकग्राउंड अभी आपको समझा रहे थे रेगुलर एक्सप्रेशन को मशीन में कैसे कन्वर्ट करते हैं वो क्यों क्योंकि इधर काम आता है आप पूरी चीज नहीं करना चाहते वो करना मुश्किल होता है तो आप पहले रेगुलर एक्सप्रेशन डिजाइन करते हैं देन हम उसे मशीन में कन्वर्ट करते हैं एंड देन इसी फाइना इट ऑटोमेटा मिनिमल डिटरमिनिस्टिक फाइना इट ऑटोमेटा का इस्तेमाल होता है लैक्सिकल एनालाइजर के अंदर सोर्स प्रोग्राम को स्ट्रिंग ऑफ टोकेंस में स्ट्रीम ऑफ टोकेंस में ब्रेक करने के लिए यस तो अगेन अब अगर मैं इसके इंप्लीमेंटेशन में थोड़ा स्टेप बाय स्टेप जाऊं जो आपके एग्जाम में क्वेश्चन पूछे जाते हैं तो मान लीजिए क्वेश्चन पूछा हाउ कैन वी इंप्लीमेंट अ लेक्सिक एनालाइजर आई विल गो स्टेप बाय स्टेप इनपुट ऑफ लेक्सिक एनालाइजर द सोर्स प्रोग्राम हम जानते हैं यूजिंग अ बफरिंग स्कीम वी स्कैन द सोर्स प्रोग्राम तो बेसिकली आप पूरा स्कैन करेंगे रेगुलर एक्सप्रेशंस आर यूज्ड टू रिप्रेजेंट द इनपुट पैटर्न अभी आपने देखा एग्जांपल तो रेगुलर एक्सप्रेशंस हम लिखते हैं नाउ दीज इनपुट पैटर्न आर कन्वर्टेड इनटू एएफए यूजिंग फाइना इट ऑटोमेटा देन दीज एफ एएफए आर कन्वर्टेड इनटू डीएफ एज दीज डीएफ एज आर मिनिमाइज्ड और यह सारी की सारी प्रोसेस यहां तो हमने थोड़ा सा देख लिया ओसी में तो यार बहुत डिटेल में ऑब्जर्व किए सारी प्रोसेस तो वो बात ठीक है अब जब मिनिमाइज डीएफए आपको मिल गया ईच मिनिमाइज डीएफ इज एसोसिएटेड विद अ फेज इन द प्रोग्रामिंग लैंग्वेज व्हिच विल इवेलुएट द लगम और अगर मैच करेगा फाइनल स्टेट तक पहुंचेगा तो हम एक टोकन जनरेट कर देंगे टू गिव एन एग्जांपल लुक एट दिस डायग्राम तो ऐसे ऐसे बहुत सारे फाइना इट ऑटोमेटा होते हैं मैं जस्ट एक छोटा सा एग्जांपल कोट कर रहा हूं जरा इसको एनालाइज तो करो और देखो और मुझे बताओ देख के कुछ बात समझ आ रही है क्या यहां पे लुक दिस क्या हुआ अब देखो अगर लेस देन इक्वल टू आया इसका मतलब एक टोकन जनरेट हो गया बिकॉज़ लेस दन इक्वल टू इज अ वैलिड ऑपरेटर देन अगर लेस दन ग्रेटर देन आ नॉट इक्वल टू तो ये एक वैलिड ऑपरेटर है उसी तरह आप देख सकते हैं अगर सिर्फ डिवीजन आया तो दिस इज अ डिवीजन ऑपरेटर इस तरह से अब ये तो जो ऑटोमेटा हो गया सिर्फ किसके लिए हो गया ये हो गया सिर्फ ऑपरेशंस के लिए उस तरह कीवर्ड्स के लिए आइडेंटिफिकेशन बनाते हो स्कैन करते जाते हैं दैट इज हाउ टोकन इज जनरेटर यस तो हाउ यू कैन इंप्लीमेंट इट स्टार्ट होगा रेगुलर एक्सप्रेशन से कन्वर्ट होते-होते आता है आप याद करो पुरानी बात में फिर से लिखूं पूरी बार ओसी में हमने समझा है रेगुलर एक्सप्रेशन बनाना सबसे आसान है रूल रेगुलेशन जब भी बनाना हो इफ आई गो सिस्टेम यहां से आप जाओ ए n ए के पास देन यू गो टू एए देन यू गो टू डीए एंड देन यू गो टू मिनिमल डीएफए यह सारे के सारे स्टेप्स स्टेप बाय स्टेप हमने कन्वर्ट किए एक्सप्रेशन को एएफए में ए एएफए को एएफए एएफए को डीएफए डीएफए को मिनिमल डीएफए ये सारा कन्वर्जन हमने सीखा स्टेप बाय स्टेप है ना तो पूरी कहानी हमें पता है अब लेक्सिक एनालाइजर जनरेटर यह क्या कहानी है बड़े-बड़े सिस्टम्स में बड़ी-बड़ी प्रोग्रामिंग लैंग्वेजेस में यह सारा काम अगर हम खुद से करेंगे बहुत समय नहीं लग जाएगा आप पहले एक्सप्रेशन लिख रहे हैं ज जो जो भी हमने करके देखा उ बोलते हैं हैंड कोडिंग करना खुद से कर रहे हैं फिर एक्सप्रेशन को मशीन में कन्वर्ट करना फिर उसको यू नो मल्टीपल स्टेजेस में कन्वर्ट करना तब मिनिमल डीएफए तक पहुंचना मुश्किल है क्या इसके लिए सॉफ्टवेयर एक प्रोग्राम लिखा जा सकता है क्यों नहीं आइए जानते हैं उसके बारे में सो वही बोल रहा है फॉर एफिशिएंट डिजाइन ऑफ कंपाइलर वेरियस टूल्स आर यूज्ड टू ऑटोमेट द फेज ऑफ कंपाइलर बहुत सारे टूल्स यूज़ किए जा सकते हैं लेक्सिक एनालिसिस फेज कैन बी ऑटोमेटेड यूजिंग अ टूल कॉल्ड लेक्स तो प्यार से शॉर्ट में क्या बोलर लेक्स बोल र है लेक्स इज अ यूनिक्स यूटिलिटी व्हिच जनरेट अ लेक्सिक एनालाइजर तो ये वो सॉफ्टवेयर है या ये वो प्रोग्राम है जो आपके लिए लैक्सिकल एनालाइजर बना देगा कैसे कुछ तो बताना पड़ेगा बस एक्सप्रेशन बता दो शॉर्ट में बोलूं तो आप उस एक्सप्रेशन बनाओ बाकी पूरे कन्वर्जन सी प्रोग्रामिंग सब कुछ वो खुद कर लेगा तो आगे देखिए अ क्या बोल रहा है द लेक्स एनालाइजर इज जनरेट विद द हेल्प ऑफ अ रेगुलर एक्सप्रेशन दे यू सी तो यू गिव रेगुलर एक्सप्रेशन अ लेक्स लेक्सर इज वेरी फास्ट इन फाइंडिंग टोकेंस एज कंपेयर्ड टू द हैंड रिटन लेक्स सी प्रोग्राम प्रोग्रामिंग प्रोग्रामिंग से आप खुद से लिखेंगे तो मुश्किल होगा आप इसको बना के दो लोगों ने इसको ऑप्टिमाइज करके रखा है तो आप इसको इनपुट दो रेगुलर एक्सप्रेशन य आपके बिहाव प पूरा डीएफ प कन्वर्जन खुद कर लेगा लेट स्कैन द सोर्स प्रोग्राम इन ऑर्डर टू गेट अ स्ट्रीम ऑफ टोकन उसका पूरा प्रोग्राम लेगा उसको जैसे जैसे ब्रेक करना है कहां पे कंट्रोल स्टेटमेंट है कहां पे जंप है हर चीज वो खुद से रिकॉग्नाइज करके ब्रेक करता है अगर मैं इसका स्टेप बाय स्टेप आपको प्रोसेस समझाऊं व पढ़ते चलूंगा ताकि आप रिलेट करते चले होगा क्या और ऑटोमेटिक जनरेशन ऑफ लेक्सिक एनालाइजर इज डन यूजिंग लेक्सिक प्रोग्रामिंग जिसकी हमने बात की अ लेक्स स्पेसिफिकेशन फाइल स्टेप नंबर वन में डिनोटेड बाय एक्सटेंशन डॉ ए तो डॉट ए से ये इस फाइल का एक्सटेंशन होगा मान लीजिए यहां पर इस फाइल का हम नाम रख रहे हैं x है ना अ प्रोड्यूस बाय अ डॉट और ये हम इनपुट देंगे इस लेक्स कंपाइलर में ना द लेक्स फाइल इज गिवन टू द लेक्स कंपाइलर ये प्रोड्यूस करेगा लेक्ड की एक फाइल व्हिच इज अ सी प्रोग्राम व्हिच इज एक्चुअली अ लेक्सिक एनालाइजर प्रोग्राम तो मान लो यह करने के बाद ही आपका जो लेक्सिक एनालाइजर है वोह बन गया तो सादी भाषा में बोलूं तो आपने इनपुट दिया रेगुलर एक्सप्रेशन यह एक पहले से लेक्स कंपाइलर है जिसने यह मान लीजिए हमारे बिहाव पे हमारे लिए लैक्सिकल एनालाइजर बना दिया नाउ द लैक्सिकल ए स्पेसिफिकेशन फाइल फिर से बता रहा है स्टोर्स रेगुलर एक्सप्रेशंस तो यह वो रेगुलर एक्सप्रेशन स्टोर करता ता है जिससे हम टोकन बनाते हैं और वह कैसे डायग्राम बने होंगे अंदर सब कुछ उसने हैंडल कर लिया यस तो अब वो फाइनल कन्वर्ट करके दे दिया अब आगे आप देंगे तो अब आपको कर क्या करना है देखिए फाइनली अ सी कंपाइलर कंपाइल दिस फाइल एंड प्रोड्यूस एन ऑब्जेक्ट फाइल a डॉ आउट अब ये जो फाइनल फाइल हमारी बनी थी ये एक सी कंपाइलर को हम इनपुट कराते हैं और यह एक एग्जीक्यूटेबल प्रोग्राम a डॉट आउट के एक्सटेंशन से बनता है और यह है फाइनली आपका लेक्स सिकल एनालाइजर अब जो भी सोर्स प्रोग्राम आपको चाहिए आप इसको इनपुट दो और यह जल्दी से एक्सट्रीम ऑफ टोकेंस बना के दे देगा तो इसका मतलब आपकी जो एक्सपर्टीज है अब वो इंडिविजुअली इसीलिए कंपाइलर में उस पूरी प्रोसेस को इतना इंपॉर्टेंस नहीं देते कि कैसे डीएफए एएफए से डीएफए डीएफए से मिनिमल डीएफए कन्वर्ट करना है ऑलरेडी सॉफ्टवेयर्स है उसके लिए आप तो हमें बस वो रूल्स लिखना सिखा दो एक्सप्रेशंस इसलिए बहुत जरूरी है ओसी में भी और कंपाइलर में भी एक बार एक्सप्रेशन आपने लिखना सीख लिया तो बाकी का काम खुद में खुद आसानी से हो जाता है तो यह पूरी कहानी है इसको फिर भी अगर डिटेल में बात करें मैंने देखा है किसी किसी कॉलेज में क्वेश्चन पूछे हैं तो मैं बस मेंशन कर रहा हूं वैसे दीज आर नॉट इंपॉर्टेंट आमतौर पर जो लेक्स प्रोग्राम है उसके अंदर तीन कंपोनेंट होते हैं एक होता है डिक्लेरेशन सेक्शन जहां पे वेरिएबल कांस्टेंट रेगुलर एक्सप्रेशंस की डेफिनेशन कंपोनेंट्स के रेगुलर एक्सप्रेशन जो होते हैं वो सब हम मेंशन करते हैं सेकंड इज द रूल सेक्शन जहां पर जितने भी अलग-अलग वेरियस रू रूल्स रेगुलेशंस है व हर एक्सप्रेशन के लिए व आप मेंशन करते हैं एंड थर्ड इज द ऑक्सल सेक्शन व्हिच प्रोड्यूस वेर ऑल द प्रोसीजर आर डिफाइंड व्हिच आर रिक्वायर्ड बाय द एक्शन इन द रूल सेक्शन तो वो सारे प्रोसीजर्स और अब देखिए दो फंक्शंस यहां पे है मेन फंक्शन या वाई वाई डब्लू आर एपी फंक्शन ये दो लिखे जाते हैं याद करने वाली बात है इफ यू वांट यू कैन रिमेंबर देम अगर इस तरह का कोई क्वेश्चन आता है तो यस सो दैट इज द मेन आइडिया ऑफ लेक्सिक एनालाइजर क्या काम कर रहा है इनपुट प्रोग्राम ले रहा है सीक्वेंस ऑफ टोकेंस में कन्वर्ट कर रहा है डन नाउ अगली बात देखो जो यहां पे समझनी है वो क्या देयर आर सम सेकेंडरी अ फंक्शंस आल्सो ऑफ लेक्सिक एनालाइजर नॉर्मली लोग बात नहीं करते बट मुझे लगा डिस्कस करके चलता हूं तो तीन बात है पहला रिमूवल ऑफ कमेंट लाइन जब हम प्रोग्रामिंग लिखते हैं और इवन इट इज आल्सो एडवाइजेबल समझाया भी जाता है कि कमेंट लिखो कमेंट लिखो यू नो प्रोग्राम रीडेबल बनता है बाद में कोई और आपका कोड पढ़ेगा तो उसको बहुत आसानी होगी बट कंपाइलेशन में कमेंट्स की कोई जरूरत है नहीं तो स्टेज वन जो लेक्सिक एनालिसिस है वह क्या करता है व जितने भी कमेंट्स हैं वो सब के सब हटा देता है इससे पहले कि हम सिंटेक्स और सिमटिक एनालिसिस स्टार्ट करें तो दैट इज अ वेरी बेसिक आईडिया पॉइंट नंबर टू रिमूवल ऑफ वाइट या ब्लैंक स्पेसेस तो कभी-कभी हम यू नो नेक्स्ट लाइन करते हैं स्लैश एन आप लोगों ने कई बार किया होगा वर्टिकल या हॉरिजॉन्टल टैब यूज़ करते हैं वो सारे के सारे स्पेस आपने यूज़ किया जो भी आपने यू नो अ कॉलन लगा के अगली लाइन पर जाते सेमीकलन से एंड करते हैं ना वह सारे के सारे टैब्स फॉर्मेटिंग जो है वह पूरी रिमूव करना काम है लेक्सिक एंड एनालाइजर का क्योंकि यह हमने अपनी सहूलियत के लिए लिखा था प्रोग्रामिंग में कंपाइलर को इन सब से फर्क नहीं पड़ता तो उसको भी हटा देते हैं एक और बात लाइन नंबरिंग करना जब आप कंपाइल करते हैं और एरर आते होंगे भरपूर अगर कंपाइलेशन आपने किया है तो अब होता यह है बड़े प्रोग्राम के अंदर यू मे हैव मल्टीपल एरर्स हमने एरर हैंडलर में समझा ऐसा तो है नहीं कि जहां प पहला एरर आ गया वही रुक जाते हैं बहुत सारे एरर हो सकते हैं बाद में ढूंढने मुश्किल हो सकता है कौन सा एरर कहां पे हो तो तो हर क हर लाइन के साथ एक नंबर एसोसिएट करना और सिर्फ ये नहीं बताना कि एरर है यह बताना कि एरर कौन सी लाइन में है यह काम भी लेक्सिक एनालाइजर का है तो ये एडिशनल काम क्या करता है ये हर लाइन के साथ नंबर एसोसिएट करता है और उसके बाद जब आपको एरर बताएगा तो लाइन नंबर के साथ बताता है यस तो दिस इज आल्सो वेरी इंपोर्टेंट थिंग नाउ अब आपका सिलेबस देखिए किस तरह से डिजाइन किया गया है थोड़ा सा जनरल डिस्कशन किया गया ग्रामर के लिए क्योंकि ग्रामर बाद में काम आएगी अ अगला पूरा यूनिट हमारा ग्रामर ही है और मैं फिर याद दिला रहा हूं ग्रामर पे डिटेल डिस्कशन हम ऑलरेडी ओसी में कर चुके हैं बट स्टिल कैसे आप ग्रामर को फॉर्मली स्टडी कर सकते हैं तो ग्रामर इज डिफाइंड बाय फोर टपल्स v ए सिगमा प एनए v ए जो हमारे सेट ऑफ नॉन टर्मिनल्स है वेरिएबल है या आमतौर पे जो कैपिटल लेटर्स से हम लिखते हैं सिग्मा जो हमारे टर्मिनल्स है जिनके थ्रू बाद में यू नो चीजें स्टॉप होती है स्मल ए स्मल बी आमतौर पे स्मॉल केस लेटर से लिखते हैं देन वी हैव कैपिटल s व्हिच इज लाइक अ स्टार्ट सिंबल ऑफ़ द ग्रामर जहां से पूरा गेम स्टार्ट होता है एंड देन वी हैव कैपिटल p व्हिच इज़ लाइक सट ऑफ़ प्रोडक्शन रूल्स जो आपको बताते हैं कि कब आप लेफ्ट हैंड साइड को राइट हैंड साइड से रिप्लेस कर सकते हैं आईडिया सेम है मैकेनिज्म सेम है आप मान के चलिए फाइना ऑटोमेट है जो चीज़ हम ग्राफिकल रिप्रेजेंटेशन में एक जगह से दूसरी जगह जाके करते हैं यहां उसको ग्रामर फॉर्मेट में हम कर रहे होते हैं तो कोट एन एग्जांपल लुक एट दिस जैसे मान लीजिए एक बहुत सिंपल सा ग्रामर है जहां पे वी हैव अ टू टर्मिनल्स जीरो एंड वन बहुत ही सिंपल ग्रामर है एक ही नॉन टर्मिनल है s ओबवियसली वही स्टार्ट सिंबल भी है और दो हमारे पास प्रोडक्शन रूल्स है तो अगर हम बना के देखें वेर दिस अप्पर एज इज नथिंग बट ए सालन है ना नल स्ट्रिंग तो आप चाहो जैसे मैं बोलता हूं हमेशा ग्रामर पे काम करना है सर तो ग्रामर पे काम कैसे होता है प्रोडक्शन बना के वरना समझ नहीं आएगा आपको तो प्रोडक्शन बना के देख लेते हैं तो आप क्या कर सकते हैं आप डायरेक्ट एलन बना सकते हो और क्या कर सकते हो यू कैन गो टू 0 एंड s एंड देन वन देन यू कैन हैव एलन और क्या कर सकते हो अगेन यू कैन हैव जीरो एंड s एंड वन एक बार रिकर्स यूज कर लो लाइक दिस एंड देन यू कैन हैव एन तो ऐसा करोगे तो आपको पैटर्न समझ आ जाएगा मेरे को तो आ रहा है बेसिकली हो क्या रहा है एनी नंबर ऑफ जीरोज बट विल ऑलवेज बी फॉलो बाय सेम नंबर ऑफ वनस सो कैन आई से 0 का पावर n वन का पावर इज आल्सो n एंड n कैन बी एनीथिंग ग्रेटर दन इक्वल टू 0 क्योंकि एलन भी है ना ये एक लैंग्वेज जनरेट हुआ है ना तो इस तरह से ग्रामर का इस्तेमाल करके आप किसी लैंग्वेज को स्पेसिफाई कर सकते हैं बाकी अभी डिटेल में आगे काम करेंगे और ये आखिरी चीज यहां बता रहे थे कि किसी भी ग्रामर का जो प्रोडक्शन है वो सबसे इंपॉर्टेंट है एंड व्हेन कैन वी से इफ दे इज अ प्रोडक्शन यू सी अल्फा टू बीटा वो वैलिड कब है राइट हैंड साइड पर आप कुछ भी रखो v ए सिग्मा v ए यूनिन सिग्मा का होल स्टार इट कैन बी एनीथिंग बट ऑन द लेफ्ट हैंड साइड देयर यू सी v ए सिगमा होल स्टार v ए यूनियन सिग्मा होल स्टार बट कम से कम एक सिंगल नॉन टर्मिनल होना चाहिए यह सारी चीज में जैसे बोल रहा हूं टीसी में हमने पढ़ा है तो न द लेफ्ट हैंड साइड ऑफ द प्रोडक्शन कम से कम एक नॉन टर्मिनल चाहिए ही चाहिए न ओनली हम उस ग्रामर को वैलिड ग्रामर मानते हैं है ना दैट इज अ बेसिक आईडिया नाउ ओसी के अंदर देखिए पूरी हिरर की हमारे पास है सबसे पहले यू नो रेगुलर है देन टाइप अगर उल्टा चलू तो टाइप जीरो है देन टाइप वन है टाइप टू है टाइप थ्री है कंपाइलर के कॉन्टेक्स्ट में हमारे लिए सबसे इंपॉर्टेंट है वो है टाइप टू ग्रामर या कॉन्टेक्स्ट फ्री ग्रामर जो जनरेट करता है कॉन्टेक्स्ट फ्री लैंग्वेज व्हिच इज एक्सेप्टेड बाय पुश डाउन ऑटोमेटा है ना ये उसकी पूरी मैथमेटिक्स है यहां पर बस अलग से एक चीज क्या समझनी है प्रोडक्शंस पे कुछ एडिशनल रिस्ट्रिक्शंस हमने लगा दिए क्या रिस्ट्रिक्शन है सो इफ देर इज अ प्रोडक्शन फ्रॉम अल्फा टू बीटा दे यू सी बीटा पे कोई रिस्ट्रिक्शन नहीं है सर सो बीटा कैन बी सिग्मा यूनिन v का होल स्टार इट कैन बी एनीथिंग बट एज फार एज अल्फा इज कंसर्न इट इज ऑफ लेंथ वन एंड इट इज अ सिंगल नॉन टर्मिनल तो अल्फा क्या है अल्फा सिंगल नॉन टर्मिनल होगा ऑफ लेंथ वन तो फॉर एग्जांपल ऐसा करके मैं कोई प्रोडक्शन लिखूं वैलिड है क्या नहीं सर इनवैलिड है दिस इज नॉट अ वैलिड प्रोडक्शन यस लेकिन अगर मैं लिखता हूं समथिंग लाइक दिस a टेंड्स टू ए बी बी समथिंग लाइक दिस इज इट अ वैलिड प्रोडक्शन ये प्रोडक्शन वैलिड है इसमें कोई प्रॉब्लम नहीं है है ना तो प्लीज अंडरस्टैंड दिस कि टाइप टू ग्रामर किस तरह से बिहेव कर रहा है और क्या उसका पूरी कहानी है अ अगेन एक और हेडिंग मैं देखा सिलेबस के अंदर कभी-कभी पांच-पांच नंबर में थोरेट्स करके आइएगा पूरी तैयारी के साथ कंटेंट बना के लाया हूं सो अ फॉर्मल ग्रामर एंड इट्स एप्लीकेशन टू सिंटेक्स एनालिसिस दो चार पॉइंट पढ़िए मेरे साथ मजा आएगा तो फॉर्मल ग्रामर रिप्रेजेंट द स्पेसिफिकेशन ऑफ़ अ प्रोग्रामिंग लैंग्वेज विद द यूज़ ऑफ़ प्रोडक्शन रूल्स तो जो मैं आपसे बोल रहा हूं प्रोडक्शन रूल का जो मैंने पहले भी एक सैंपल दिखाया आपको है ना अ यूनिट वन में दिखाया था इधर रखा है क्या आगे ये ये लुक एट दिस तो ग्रामर क्या करता है अ ग्रामर की मदद से लैंग्वेज के जो भी सिंटेक्स सेंटिक्स हैं वो प्रोडक्शन रूल की मदद से ऐसा ऐसा करके हम दिखाते हैं जैसे यह मैं शायद सी लैंग्वेज के प्रोडक्शंस आपके साथ शेयर कर रहा हूं यस लेट्स गो बैक अगला क्या है द सिंटेक्स एनालाइजर बेसिकली चेक द सिंटेक्स ऑफ द लैंग्वेज जो अब हमारा चैप्टर नंबर टू आने वाला है जहां पर हम ग्रामेटिकल मिस्टेक देखेंगे स्ट्रिंग सही से बना कि नहीं बना ग्रामर चेक करेंगे सिंटेक्स चेक करेंगे सिंटेक्स एनालाइजर टेक्स टोकन फ्रॉम द लेक्सिक एनालास ग्रुप देम इन सच अ वे दैट सम प्रोग्रामिंग स्ट्रक्चर कैन बी रिकॉग्नाइज अभी अगले स्टेप की बात है सिंटेक्स एनालाइजर का इनपुट क्या होगा जो लेक्सिक एनालाइजर का आउटपुट है तो सिंटेक्स एनालाइजर को मिलेंगे ंग ऑफ टोकेंस स्ट्रीम ऑफ टोकेंस और वो उसको कन्वर्ट करेगा सिंटेक्स ट्री या पास्ट ट्री में वो हम जानते हैं तो आगे कर लेंगे लेकिन यह सारा काम करने में हमारी मदद कौन करेगा कॉन्टेक्स्ट फ्री ग्रामर सीएफजी वो पूरा गेम सेट करेगा आफ्टर ग्रुपिंग द टोकेंस इफ ऑल एंड एट ऑल एनी सिंटेक्स कैन नॉट बी रिकॉग्नाइज अगर वो सिंटेक्स हम नहीं पकड़ पाए अगर ट्री नहीं बना पाए देन दे दैट मींस दैट देयर इज सम सिंथेटिक मिस्टेक कोई प्रॉब्लम है उसके अंदर ओवरऑल प्रोसेस इस सिंटेक्स चेकिंग यह सब बेसिक बेसिक बात लिखी है और यही सारा काम हम यहां पे फॉर्मल ग्रामर के अंदर कर रहे होते हैं यस आगे बढ़ता हूं अच्छा यह एक इंपॉर्टेंट बात है बीएनएफ नोटेशन तो हालांकि सेम ही बात है जो ग्रामर हमने लिखना सीखा है ऐसा मान लो ग्रामर को लिखने का पैटर्न को स्पेसिफाई करने का कुछ एडिशनल रूल है जैसे टीसी में अगर आपको याद हो हम नॉर्मल फॉर्म पढ़ते हैं ग्रामर की जहां पे चॉम्स की नॉर्मल फॉर्म एंड ग्रेब नॉर्मल फॉर्म हमने पढ़ा था उसी तरह का आईडिया है तो बैकस नॉर्म फॉर्म क्या है इज अ नोटेशन टेक्नीक यूज्ड टू एक्सप्रेस ग्रामर ऑफ अ कंप्यूटर लैंग्वेज किस तरह से आप उसे रिप्रेजेंट करेंगे इट इज अ फॉर्मल मैथमेटिकल वे टू डिस्क्राइब अ लैंग्वेज व्हिच इज़ पर्टिकुलर यूज़फुल इन कॉन्टेक्स्ट ऑफ़ प्रोग्रामिंग लैंग्वेज अब क्या-क्या चीजें हैं अगेन सिंबल्स जैसा हम पहले करते हैं टर्मिनल्स नॉन टर्मिनल्स टर्मिनल्स वो जो बाद में जिनसे गेम रुकेगा जो फाइनल लैंग्वेज में आपको नजर आएगा नॉन टर्मिनल्स जो कि ओबवियसली वेरिएबल है जिनसे हम कोई प्रोडक्शन लिखते जो आपको प्रोडक्शन के लेफ्ट हैंड साइड पे दिखेंगे तो वही सारी बातें दज आर द बेसिक स्ट्रक्चर ऑफ द स्ट्रिंग ऑफ द लैंग्वेज लाइक नंबर्स लेटर स्पेसिफिक वर्ड दे रिप्रेजेंट एक्सक्यूज मी दे रिप्रेजेंट अ सेट ऑफ स्ट्रिंग एंड दे आर डिफाइंड बाय राइटिंग बीएनएफ रूल्स प्रोडक्शन रूल्स ऑलरेडी आपको पता है दे इज नथिंग न्यू अल्फा टू बीटा वाला प्रोडक्शन एक एग्जांपल कोट कर रहा हूं तो देखो जैसे एक्सप्रेशन है तो बता रहा है एक्सप्रेशन को जब चाहे एक्सप्रेशन प्लस किसी टर्म से रिप्लेस कर सकते हैं टर्मिनेट भी कर सकते हैं टर्म से तो यह क्या करेगा कितने भी प्लस प्लस वाले बनाने देगा फिर टर्म से अगर मल्टीप्लाई करना है फैक्टर में जा सकते है फैक्टर से दोबारा एक्सप्रेशन में नंबर को डिजिट या नंबर डिजिट में कन्वर्ट कर सकते हैं अगेन डिजिट को किसी से भी कन्वर्ट करेंगे तो होगा क्या इस तरह की ग्रामर का इस्तेमाल करके आप कोई भी अरियम एक्सप्रेशन बना सकते हो जिसमें आई होप एडिशन एंड मल्टीप्लिकेशन दो चीजें आपको देखने को मिल सकती है इस तरह की चीजें आगे बहुत एग्जांपल हम देखेंगे बाकी ये मैं एग्जांपल कोट कर रहा हूं ये सब भी बीएनएफ में लिखा हुआ है बैकस नन फॉर्म में तो इसमें कभी कोई बात करें तो यू कैन राइट इट बाकी फिर से पार्सिंग में इसका एक्सटेंसिवली यूज होता है रीडेबिलिटी बहुत शानदार है क्योंकि देखो क्या है ना अगर 10 लोग अलग-अलग तरह से रूल्स रेगुलेशंस लिखेंगे तो प्रॉब्लम होगी अब इंडिया को चलाने के लिए भी कॉन्स्टिट्यूशन ऑफ इंडिया है ना हमारे पास संविधान है ना एडवांटेज क्या है सिंटेक्स सिमटिक सेम है कहां इज लिखा है कहां एट लिखा है सब कुछ तय है सबके पास सेम रूल बुक है तो कंफ्यूजन नहीं हो सकता वरना कोई बोले नहीं नहीं ऐसा नहीं ऐसा बोला होगा सो यू मस्ट हैव अ रिटन कॉपी तो ये उसका एडवांटेज उसका सिंटेक्स सेंटिक्स एकदम फिक्स्ड है एक्सटेंशंस भी है बीएनएफ को फर्द आजकल अलग-अलग चीजें आती है समय के साथ उसको एक्सटेंड किया जा सकता है बट आपके लिए नहीं है आपको फिर वही बात पांच नंबर में लिखना है एक एग्जांपल याद करिए दो-तीन केस बना के आना आपका काम हो गया बेसिक थीम समझ आनी चाहिए बीएनएफ है क्या ग्रामर को रिप्रेजेंट करने का एक तरीका है स्टैंडर्डाइज मेथड है यस ओके आगे बढ़ते हैं अ एमिगस यह सारी प्रॉपर्टी आई हैव डिस्कस इन डेप्थ एमिगो जल्दी से बता देता हूं व्हाट इज़ एमिगस में भी इस पे बात करेंगे जब हम सीएफजी पे बात करेंगे अ ग्रामर जो है जैसे यह एक वैलिड कॉन्टेक्स्ट फ्री ग्रामर है लेफ्ट हैंड साइड पे सिंगल नॉन टर्मिनल राइट हैंड साइड पे कुछ भी हो सकता है एमिगस ग्रामर क्या होता है कि कम से कम एक स्ट्रिंग ऐसा हो उस लैंग्वेज के अंदर जो यह ग्रामर बनाएगा जिसमें उस ग्रामर को बनाने को उस स्ट्रिंग को बनाने के एक से ज्यादा तरीके हो एक भी स्ट्रिंग अगर ऐसा है तो ग्रामर एमिगस है उदाहरण के लिए यहां देखिए तो मैंने लेफ्ट और राइट दोनों रिकर्स रखे ताकि बिना कॉम्प्लेक्शन में जाए एक साधारण से एग्जांपल बनाया जा सके लुक एट दिस नाउ लुक एट दिस तो यहां पर आप देख रहे हो डबल ए यहां पर भी क्या स्ट्रिंग बना डबल ए क्या एक ही स्ट्रिंग को बनाने के लिए दो डिफरेंट ट्री हमारे पास है हां है इसको बोलते हैं एमगी ये एडवाइजेबल है क्या ये एडवाइजेबल नहीं है सर हम यह चाहते हैं कि एक स्ट्रिंग को बनाने का एक ही तरीका हो ताकि बाद में पार्सर को कंपाइलर को कोई कंफ्यूजन हो क्या कंफ्यूजन ना हो कंप्यूटर के अंदर जब भी एक काम को करने के एक से ज्यादा तरीके कंप्यूटर होल्ड कर जाता है क भाई साहब मेरे को समझ नहीं आ रहा क्या गेम है तो उस चीज का हमें ध्यान रखना है है ना दिस इज द आईडिया यह चीज किसको यह आईडिया क्या है एमगस ग्रामर को दैट इज हाउ वी रिप्रेजेंट आगे बढ़ता हूं और इस पर दोबारा बाद में डिटेल में बात करेंगे यट अनदर कंपाइलर कंपाइलर अब ये क्या कहानी है अगेन अ टर्म सुनने में ऐसा लगता है कि भाई साहब ये क्या कहानी है बट वेरी सिंपल आईडिया इजी टू अंडरस्टैंड आई विल गो वर्ड बाय वर्ड वाई एसीसी यट अनदर कंपाइलर कंपाइलर इज अ टूल यूज्ड इन द कंपाइलर कंस्ट्रक्शन टू जनरेट अ पार्सर फॉर अ स्पेसिफाइड ग्रामर तो ये वही बात है जैसे लेक्स जनरेटर था ना ऐसे वाई एसीए ये आपके लिए पार्सर जनरेट करता है पार्सर माने सिंटेक्स एनालाइजर क्या सिंट अभी तो हमने खैर गेम खेलना शुरू भी नहीं कि अगले चैप्टर में सीखेंगे बट क्या सिंटेक्स एनालाइजर का एक-एक एल्गोरिथम एक-एक स्टेप आप हाथ से लिखना चाहते हैं दैट विल बी डैम टफ पूरा मैथमेटिकल है तो कोई सॉफ्टवेयर हो सकता है जो बना बना हमारे बिहाव पे काम कर दे हो सकता है तो यही वह कहानी है लॉजिक क्या है वाईसीसी यूटिलाइज फॉर क्रिएटिंग कंपाइलर्स एंड इंटरप्रेटर इट टेक द लैंग्वेज ग्रामर फिर आ गया ना बैकस नर फॉर्म इन बैकस नर फॉर्म एंड प्रोड्यूस सी कोड फॉर अ पार्सल तो भाई आपको कुछ करना ही नहीं है फिर पढ़ा क्यों रहे हैं अरे आप तो इंजीनियर आपको पढ़ाएंगे क्योंकि आप कल को ऐसा सॉफ्टवेयर बनाओगे और उन्हे इंप्रूव करोगे लेकिन आम आदमी को कुछ करने की जरूरत नहीं आप क्या है आप इसमें इनपुट दो आपकी लैंग्वेज का क्या ग्रामर है बस और यह आपके बिहाव में प्रॉपर पार्सल जनरेट करके दे देगा एक ऐसा सॉफ्टवेयर जिसमें आज के बाद आप सिर्फ स्ट्रिंग डालना और वो उसके लिए पासरी बना देगा खुद में खुद तो ये एक यू नो ये तीन स्टेप याद रखना इनपुट फाइल दोगे तो आपको डॉट सी फाइल मिलेगी डॉट सी फाइल से वही पुरानी कहानी है एडल एग्जीक्यूटेबल फाइल मिलेगी और अब इस एडॉट फाइल का आप इस्तेमाल करो जो भी इनपुट देना है दो एंड यू गेट अ स्ट्रीम ऑफ टोकेंस एज आउटपुट है ना तो उसी का ऑटोमेटेड वर्जन है वो यहां पर स्टेप बाय स्टेप बताया है इसके अंदर वाइस रूल डिक्लेरेशन सब रूटीन और इसका इंटीग्रेशन है लेक्स के साथ ये लो और मजे की बात तो अब लेक्स ने क्या किया था याद है हमारे लिए ऑटोमेटेड लेक्सिक एनालाइजर बनाया था वाई एसीसी हमारे लिए ऑटोमेटिक पार्सर बना रहा है तो यह कहानी है आगे इसको मैं डिटेल में समझाऊ ये एक्चुअली कौन सा पार्सल जनरेट करता है एल ए एलआर वन पार्सल हमें भी यही जनरेट करना है यह सबसे ऑप्टिमाइज पार्सल और सबसे पावरफुल भी है तो आगे से डिटेल में हम डिस्कस करेंगे यस अगेन अगर इसके एडवांटेजेस और इसके एप्लीकेशन अल्टरनेटिव लिखा है तो ऑटोमेशन कर देगा सिंपलीफाई कर देगा चीजें आसान हो जाएंगी वाइड यूज होता है इंडस्ट्री के अंदर और बायसन और अलग-अलग टूल्स भी हैं बट वाईएससी इज द इंपोर्टेंट कांसेप्ट एक मोटा मोटा अंडरस्टैंडिंग आप समझ गए आगे बढ़ता हूं डेफिनेशन ऑफ अ ग्रामर दैट इज ओके अब फिर वही और दो-तीन बेसिक बेसिक टर्मिनोलॉजी क्योंकि ग्रामर पे एक्सटेंसिव काम करना है तो एक बार डिस्कस कर लेना चाहिए टीसी में मैं कर चुका हूं दोबारा बोल रहा हूं जो लोग देख के आ रहे उनके लिए थोड़ा सा रिपीटेशन हो सकता है बट एक सेमेस्टर में तो क्यों देखोगे आप तो अगर आपने टीसी लास्ट सेमेस्टर में लिखा भी है तो भी छ महीने हो गए होंगे कम से कम तो देख लेते हैं एक बार डेरिवेशन क्या है ग्रामर का स्टार्ट सिंबल यूज करके यह जो ट्री बनाते हुए पूरी स्ट्रिंग डिराइवर करने की प्रोसेस है इसको बोलते हैं डेरिवेशन करना अब वेरी सिंपल बात डेरिवेशन का ये जो ग्राफिकल रिप्रेजेंटेशन बनता है कि अच्छा e आया तो मैं उसे e मल्टीप्लाई बा e से लिखूंगा फिर e को e + e लिखूंगा इस ये जो ट्री बनता है इसको मैं पार्स ट्री सिंटेक्स ट्री डेरिवेशन ट्री कुछ भी बोल दूं एक ही बात है इसका भी ध्यान रख लेना बेसिक अंडरस्टैंडिंग यहां पर मैं आपको इसको ग्राफिकल फॉर्म में दिखा रहा हूं ट्री बना के दिखा रहा हूं अगर मैं इस तरह देखो रिटन फॉर्म में एक के बाद एक के बाद एक ऐसा प्रोडक्शन रूल लिखने लगे इसको बोलते हैं सेंटेंशल फॉर्म तो स्टार्ट सिंबल से लेके स्ट्रिंग तक पहुंचने के जितने भी इंटरमीडिएट स्टेप्स हैं दीज आर नोन एज सेंटेंशल फॉर्म्स क्या बोलते हैं सेंटेंशल फॉर्म तो दीज आर वेरी इंपॉर्टेंट है ना ये आपको पता होना चाहिए कि सेंटेंशल फॉर्म्स क्या होते हैं ये समझ गया इंटरमीडिएट स्टेप्स डेरिवेशन दो तरह के होते हैं लेफ्ट मोस्ट डेरिवेशन राइट मोस्ट डेरिवेशन अगर किसी भी स्टेप पे किसी भी सेंटेंशल फॉर्म में मैं हमेशा जो एक्सट्रीम लेफ्ट नॉन टर्मिनल अब ध्यान से देखना जो एक्सट्रीम लेफ्ट नॉन टर्मिनल है हमेशा उसी के प्रोडक्शन पर काम करूं हमेशा उसके प्रोडक्शन पे काम करूं तो इसको हम क्या बोलते हैं लेफ्ट मोस्ट डेरिवेशन करना फिर वही बात अगर मैं कुछ और करूंगा आप कुछ और करोगे तो फिर कंफ्यूजन होगा तो एक नियम बना लिया यार हर स्टेप में जो एक्सट्रीम लेफ्ट नॉन टर्मिनल है पहले उस परे काम करेंगे तो इसको लेफ्ट मोस्ट डेरिवेशन बोलेंगे स्क उल्टी खोपड़ी होगी कुछ लोग कहेंगे अच्छा तुम लेफ्ट में करो तो हम राइट में करेंगे भाई राइट में कर लो उसको बोलेंगे राइट मोस्ट डेरिवेशन तो अगेन एट एवरी सेंटेंशल फॉर्म अगर हम हमेशा एक्सट्रीम राइट नॉन टर्मिनल को एक्सपेंड करते हैं देन दैट इज़ नोन एज़ राइट मोस्ट डेरिवेशन वेरी बेसिक्स यस आगे बढ़ता हूं देन कैपेबिलिटी ऑफ़ सीएफजी तो मैं तो तारीफ़ कर रहा हूं मन नहीं भर रहा फिर से क्वेश्चन क्यों पूछा होगा सेमेस्टर में इसलिए मैंने स्लाइड में ऐड कर लिया कि सम बडी अगेन आस्क कि सब कुछ पढ़ने के बाद यह कैपेबिलिटी क्या सीएफजी का बोल र है सर ने एगजैक्टली यह तो नहीं बताया अबे सब कुछ यही तो है फिर भी कंपाइल करके बोल रहा हूं भाई प्रोग्रामिंग लैंग्वेज को जो सिंटेक्स एनालिसिस उसमें जबरदस्त तरह से काम कर रहा है पार्सर कंस्ट्रक्शन बढ़िया करता है एसोसिएटिविटी एंड प्रेसिडेंस आगे बात करेंगे ऑपरेटर्स होते हैं बहुत सारे सो सीएफजी के अंदर एक्सप्रेशंस को ऑपरेटर्स को प्रेसिडेंस को एक्सप्रेशंस को हैंडल करना बहुत आसान और बढ़िया होता है नेस्टेड स्ट्रक्चर्स इफ एल्स होगा कंडीशन के अंदर कंडीशन लूप के अंदर लूप वो सारी चीजें सीएफजी में बहुत अच्छे से मैनेज हो जाती हैं तो ये सब एडवांटेज है जिस वजह से सीएफजी हमारा हीरो है एंड दैट विल बी ऑल अब ये जो चैप्टर नंबर टू है भाई ये असली चैप्टर मैं तो मानता हूं सिलेबस तो पूरा पूरा करेंगे पांच यूनिट का बट कंपाइलर की जो सॉलिड अंडरस्टैंडिंग है ना वो एक्चुअली पार्सिंग ही है है ना कॉम्पिटेटिव एग्जाम में मान लीजिए अगर 100 नंबर के ब 70 नंबर का सिर्फ पार्सिंग है बाकी से तो कुछ पूछे ना पूछे यहां पे आपकी एक यूनिट है तो दीज आर द टॉपिक्स यू कैन चेक देम आउट और फोड़ दूंगा इसके अंदर बिल्कुल डिटेल में स्टेप बाय स्टेप स्टेप बाय स्टेप एक-एक टॉपिक प काम करेंगे यहां चैप्टर चलता रहेगा इधर ऊपर आपको नजर आता रहेगा कौन सा टॉपिक चल रहा है यस चलिए अभी बात करते हैं चैप्टर टू की डिस्कशन स्टार्ट करते हैं सिंटेक्स एनालिसिस क्या है पता नहीं कितनी बार यह बात हम कर चुके बट स्टिल मैं यह दोबारा याद दिला रहा हूं इनपुट क्या है इट्स अ फेज़ ऑफ़ अ कंपाइलर इनपुट इधर से क्या मिलेगा आपको स्ट्रीम ऑफ़ टोकेंस अ जो लेक्सिक एनालिसिस देगा और हम उसको कन्वर्ट करेंगे सिंटेक्स ट्री या पार्स सो इन सिंटेक्स एनालिसिस इनपुट इज़ अ स्ट्रीम ऑफ़ टोकेंस एंड आउटपुट इज़ अ सिंटेक्स ट्री अ प्रॉ प्रस ऑफ कंस्ट्रक्शन ऑफ पार्स ी और सिंटेक्स डेरिवेशन ट्री इज नोन एस पार्सिंग तो उसको और थोड़ा सा डिफाइन कर रहे कि जो प्रोसेस है जिसमें हम एक्चुअली बना रहे हैं इस प्रोसेस को हम पासिंग बोलते हैं यह पूरा अंडरस्टैंडिंग ऑलरेडी आप देख चुके हो इनपुट आउटपुट आई थिंक य बारबार रिपीट करने की को जरूरत नहीं है अब लॉजिक समझो क्या है सर पार्सल्स या पार्सिंग दो तरह की होती है एक भया जो पार्सिंग करता है उसे पार्सर कहते हैं इसमें कंफ्यूज तो नहीं हो जाओगे तो सॉफ्टवेयर है जो प्रोग्राम है जो मॉड्यूल है जो पार्सिंग करता है उसको पार्सर कह कहते हैं सिमिलरली सिंटेक्स एनालाइजर सिंटेक्स एनालिसिस करता है ये सब एक ही बात है सिंटेक्स एनालाइजर या पार्सर एक ही बात अ सिंटेक्स एनालिसिस या पार्सिंग एक ही बात अब दो तरह के होते हैं एक बोलते है टॉप डाउन एक बोलते हैं बॉटम अप कंप्यूटर साइंस में आमतौर पे कई जगह इस तरह का हम गेम देखते हैं टॉप डाउन बॉटम अप टॉप डाउन बॉटम अप यहां भी ऐसा है एक अप्रोच है टॉप डाउन एक अप्रोच है बॉटम अप और ये उसका पूरा डिटेल्स है है ना तो अभी देख के आपको भूत की तरह लगेगा लेकिन इफ यू वांट यू कैट हैव अ स्क्रीनशॉट अगर आप कुछ बेसिक अंडरस्टैंडिंग पहले से रखते हैं तो भी आप चेक कर सकते हैं मैं बिल्कुल अभी अंदर इसको डिटेल में एक्सप्लेन करने के मूड में नहीं हूं पहले बेसिक से स्टार्ट करूंगा फिर आगे जाऊंगा यस तो पहले समझिए टॉप डाउन पासिंग क्या है देखो पैटर्न समझना क्या है ग्रामर का एक स्टार्ट सिंबल है इस पे आपकी मेरी हम सबकी अंडरस्टैंडिंग है और जैसा हमने अभी तक करते देखा है स्टार्ट सिंबल से स्टार्ट करते हैं कुछ प्रोडक्शंस बनाते हैं जो ग्रामर हमें देता और बाद में हमें एक स्ट्रिंग मिल जाती है ड है ना अगर स्ट्रिंग ड मिली तो इसका मतलब ग्रामर के अंदर कोई सिंटेक्स मिस्टेक नहीं है और अगर डब्लू नहीं मिली इसका मतलब ग्रामर के अंदर कोई ना कोई सिंटेक्स मिस्टेक है यहां भी अलाइन मेंट है अब टॉप डाउन बॉटम अप का मतलब क्या है टॉप डाउन में हम क्या कहते हैं वी स्टार्ट विद द स्टार्ट सिंबल एंड यूजिंग द प्रोडक्शंस ऑफ द ग्रामर हम ऊपर से नीचे की तरफ आते हैं जो कि आज तक हमने हमेशा किया भी है बट इस अप्रोच को टॉप डाउन कहते हैं तो ऊपर से नीचे की तरफ आएंगे और पूरी स्ट्रिंग अपनी डिराइवर कर लेंगे कहानी खत्म पैसा हजम लेकिन बॉटम अप क्या कहता है कि हम ना स्ट्रिंग से ही स्टार्ट करेंगे और उल्टा चलेंगे अभी कैसे चलेंगे वो आगे देखेंगे तो फॉर एग्जांपल अगर कहीं स्मल ए कैपिटल ए है तो हम उसको ए में कन्वर्ट करेंगे लाइक दिस और उल्टा कन्वर्ट करते करते करते करते हम बाद में पहुंचेंगे स्टार्ट सिंबल पे और अगर हम स्टार्ट सिंबल प पहुंच गए इसका मतलब सब कुछ परफेक्ट है ग्रामर में कोई गलती नहीं है अदर वाइज दिस अ सिंथेटिक मिस्टेक तो लॉजिक सेम है बाद में ट्री भी सेम ही बनेगा बस गेम यह है आप स्टार्ट सिंबल से स्टार्ट करके ऊपर से नीचे की तरफ आके स्ट्रिंग बनाते हो या इस स्ट्रिंग को क यू नो कंप्रेस करते करते करते करते दोबारा स्टार्ट सिंबल पर पहुंच जाते हो प्रूफ तो यही करना है कि स्टार्ट सिंबल से स्ट्रिंग तक पहुंचा जा सकता है कि नहीं जो स्टार्ट सिंबल से स्ट्रिंग तक पहुंचते हैं वो कहलाता है टॉप डाउन पार्सर जो स्ट्रिंग से स्टार्ट सिंबल तक पहुंचते है वो कहलाता है बॉटम अप पार्सर हां एक डिस्क्लेमर यही दे देता हूं कि एक्चुअली जो इंडस्ट्री में यूज होता है वो बॉटम अप पार्सर है देखने आपको लगेगा सर उल्टा काम मुश्किल नहीं होगा नहीं कॉम्प्लेक्शन वेजेस पे हाई लेवल लैंग्वेजेस पे की फर्दन एनालिसिस मेरे ख्याल से बॉटम अप अ मैंने एक्सप्लेन भी नहीं की बट मैंने अभी आपको बता दिया बॉटम अप की क्या कहानी है अब अब आगे समझिए टॉप डाउन पार्सिंग दो तरह की है एक है विद बैक ट्रैकिंग ब्रूट फोर्स मानो तुक्के बाजी कोई अप्रोच ना होना भी तो एक अप्रोच है कि मैं क्या करूंगा सर मेरे पास प्रोडक्शन है मैं हिट एंड ट्राई करूंगा अलग-अलग प्रोडक्शन बना के देखूंगा और चेक करूंगा कि मेरी स्ट्रिंग बन पा रही है कि नहीं स्ट्रिंग बनी तो ऑल गुड स्ट्रिंग नहीं बनी तो कोई बात नहीं नहीं बनी नहीं बनी इसका मतलब उसमें कोई प्रॉब्लम है लेकिन कॉम्प्लेक्शन में बड़ी ग्रामर पे बड़ी स्ट्रिंग में अगर ऐसा करोगे तो तो इनफाइनों यही काम करते रहोगे तो यहां पर क्या करने की जरूरत है यहां पर हमें एक ऐसा मैकेनिज्म चाहिए जहां पे बैक ट्रैकिंग ना हो मतलब मैं एक स्टेप स्टेप स्टेप फॉलो करते हुए नीचे आऊं और बाद में अगर मैं स्ट्रिंग नहीं बना पाऊं तो इसका मतलब यह नहीं मेरा अंपन गलत था मैंने शायद गलत प्रोडक्शन ले लिया मैं वापस जाके किसी और प्रोडक्शन से ट्राई करूंगा नहीं एक बार कमिटमेंट कर दी तो फिर अपने आप की भी नहीं सुनता तो अगर यहां पर हम देखते तो यहां बैक टं का कोई सपोर्ट नहीं इसको बोलते है प्रिडिक्टिव पार्सिंग करना मुझ क्या बोलते हैं प्रिडिक्टिव पार्सिंग करना तो तुक्का नहीं मारेंगे एक पूरा टेबल बनेगा जो बताएगा किस समय कौन सा प्रोडक्शन चूज करना है उसका जो सबसे पॉपुलर वेरिएंट है ट इज एलएल व एग्जाम में पूछता है मान लो त क्वेश्चन है क्योंकि टॉप डाउन में तो एक ही है बॉटम अप में चा रहा टॉप डाउन में अकेला है तो इ इज द मोस्ट इंपोर्टेंट थिंग यह दोनों अप्रोच हमें पढ़ने है बट बिफोर वी एंटर इनटू दिस और बिफोर हम ये सब देयर आर सर्टेन रेड फ्लैग्स ग्रामर के अंदर कुछ प्रॉब्लम्स है ऐसी जैसे मैं अगर बताऊं तो लेफ्ट रिकर्स एक प्रॉब्लम है एमगी एक प्रॉब्लम है नॉन डिटरमिनिज्म एक प्रॉब्लम है अगर वो प्रॉब्लम्स है सीएफजी के अंदर तो हम पार्सर बनाने का अटेंप्ट ही नहीं करते हम कहते हैं नहीं बन सकता तो हम उन्हीं ग्रामर के लिए इसका मतलब क्या हुआ क्या हर कॉन्टेक्स्ट फ्री ग्रामर के लिए पार्सल बनाया जा सकता है जी नहीं तो कॉन्टेक्स्ट फ्री ग्रामर एक खास तरह की होनी चाहिए तब मैं उसके लिए पार्सर बना सकता हूं तो वो प्रॉब्लम्स क्या है पहले वो प्रॉब्लम समझनी पड़ेगी उन प्रॉब्लम्स को कैसे हटाते हैं यह समझना पड़ेगा तब आप पार्सल डिजाइनिंग पे जा सकते हैं है ना अब प्रॉब्लम क्या है अभी क्योंकि हमने पार्सल बनाना सीखा नहीं तो यह बताना भी अपने आप में मुश्किल है कि इस ग्रामर से बाद में क्या दिक्कत आएगी लेकिन मैं थोड़ा आईडिया आपको देके चलूंगा और कोई रास्ता है नहीं तो पहली एक आईडिया समझिए अभी तक हमने मशीन में ही समझाया ऑटोमेटा में पीडीए में ट्यूनिंग मशीन में डिटरमिनिस्टिक नॉन डिटरमिनिस्टिक क्या ग्रामर भी डिटरमिनिस्टिक और नॉन डिटरमिनिस्टिक हो सकती है जी हां तो य एक एग्जांपल से समझाता हूं लुक एट दिस अब एक मान लीजिए ग्रामर है हमारे पास a से मैं स्टार्ट कर रहा हूं दो प्रोडक्शन है a से या तो अल्फा बीटा 1 बन रहा है या तो अल्फा बीटा 2 बन रहा है अब इसकी प्रॉब्लम समझो क्या है प्रॉब्लम यह है यह मेरे पास एक टेप है है ना जो मान लीजिए एक स्ट्रिंग है जिसको मैं डिराइवर करना चाह रहा हूं जिसको मैं चेक कर रहा हूं कि मैं बना सकता हूं कि नहीं और यहां पर लिखा हुआ है अल्फा आगे लिखा होगा और कुछ अभी मेरे को नहीं पता यह भी आपको समझा देता हूं यह जो टेप है क्या अब एक बार मैं पूरा टेप स्कैन कर सकते हैं नहीं आप एक बार में सिर्फ एक ही सिंबल देख सकते हैं और फिलहाल क्या नजर आ रहा है अल्फा तो हमारा ऑब्जेक्टिव है कि हमें अल्फा बनाना है मजे की बात है अल्फा बनाने के तो दो ऑप्शन है बट प्रॉब्लम क्या है मान लो कि अभी मैं पहला प्रोडक्शन चूज कर लूं तो मैं चूज करूं a टेंस टू अल्फा बीटा 1 और बाद में अल्फा से अल्फा मैंने मैच कर लिया आगे जाके देखूं तो यहां लिखा हो ी 2 प्रॉब्लम है आप बोलोगे सर प्रोडक्शन गलत चूज कर लिया वापस जाओ और एक्चुअली अल्फा से a से अल्फा बी 2 चूज करो इजेंट इट लेकिन जैसा मैं आपसे बोल रहा हूं एक बार मैं कमिटमेंट कर दूं तो फिर अपने आप की भी नहीं सुनूंगा मैं बैक ट्रैकिंग नहीं करता अब तो प्रॉब्लम है भाई अगर मेरे को अगला सिंबल आप दिखा नहीं रहे और बोल रहे हो चूज करो मैं कैसे चूज करूं हो सकता है मैं बीटा 2 वाला चूज कर लूं वहां बाद में बीटा 1 मिले हो सकता है मैं बीटा 1 वाला चूज करूं वहां बाद में में बीटा 2 मिले तो प्रॉब्लम क्या है प्रॉब्लम यह है कि मैं डिसाइसिवली प्रोडक्शन चूज नहीं कर पा रहा और इस तरह की ग्रामर को बोलते हैं नॉन डिटरमिनिस्टिक ग्रामर यह बात समझ आ गई अब पहचान क्या है यहां देखो मल्टीपल प्रोडक्शन में एक कॉमन प्रीफिक्स नजर आ रहा है जिस वजह से हम डिसाइसिव डिसीजन नहीं ले पा रहे सो अ ग्रामर विद अ कॉमन प्रीफिक्स यहां पर वह अल्फा है अ कॉमन प्रीफिक्स इज नोन एज नॉन डिटरमिनिस्टिक ग्रामर जहां कॉमन प्रीफिक्स इसको क्या बोलते हैं नॉन डिटरमिनिस्टिक ग्रामर एज सिंपल एज दैट सो अ ग्रामर विद कॉमन प्रीफिक्स रिक्वायर्स अ लॉट ऑफ बैक ट्रैकिंग एंड बैक ट्रैकिंग इज टाइम कंजूमिंग और एल एलव जो हमारा ऑब्जेक्टिव फंक्शन जो बनाना है वो तो बैक ट्रैकिंग करता भी नहीं है तो इस तरह की ग्रामर पे बोलो काम कर पाएंगे क्या नहीं कर पाएंगे है ना तो दो ऑप्शन है ग्रामर या तो ऐसी बनाओ पहले से जिसमें इस तरह की प्रॉब्लम ना हो कॉमन प्रीफिक्स वाली क्योंकि आपको पता है बाद में प्रॉब्लम आएगी या फिर अगर नहीं ठान लिया करना ही है तो यह भी कर सकते हैं कि ग्रामर को मॉडिफाई करें कि वोह कॉमन प्रीफिक्स की प्रॉब्लम हट जाए वह कैसे मॉडिफाई करते वो भी समझाऊ टू अवॉइड बैक ट्रैकिंग वी नीड टू रिमूव द कॉमन प्रीफिक्स वही बात कर रहा हूं एंड वी नीड टू कन्वर्ट अ नॉन डिटरमिनिस्टिक ग्रामर इंटू डिटरमिनिस्टिक व नॉन डिटरमिनिस्टिक को डिटरमिनिस्टिक में कन्वर्ट करना कैसे करना है यहां देखिए या वही समझा देता हूं या यही देख लीजिए लुक एट दिस ये ओरिजिनल ग्रामर है ना ए टेंड्स टू क्या है सर अल्फा बीटा व एंड अल्फा बीटा 2 अब प्रॉब्लम है कॉमन प्र इसको अलग निकाल लो जैसे मैथ में कॉमन लेते हैं यहां भी कॉमन ले लो तो मैं यहां पे ये अलग लिख लेता हूं लेट मी चूज सम न्यू नॉन टर्मिनल बीटा बस एक ही प्रोडक्शन है अब तो कोई टेंशन नहीं जिसको भी चूज करना है ये प्रोडक्शन चूज करना है यहां लिखा हुआ है अल्फा अब क्या करेंगे नोटिस करिए इन द वेरी नेक्स्ट स्टेप नाउ अब आप बीटा से बना लो अल्फा 1 अल्फा 2 अब बोलो इसमें कोई खास चेंज तो हु हुआ नहीं लेकिन प्रॉब्लम सॉल्व हो गई आपकी फिर दोबारा इमेजिन करो अब टेप के ऊपर आपको क्या डिराइवर करना है अल्फा बताओ कैसे करोगे दैट इज अल्फा डिराइवर कर लिया अब जब तक आप अगले सिंगल यू नो सिंबल पर पहुंचो ग तो आपको क्लियर कट समझ आएगा कि अब आपको क्या चाहिए अच्छा सॉरी बीटा था ये अब आपको क्या चाहिए बीव या बीट बीव चाहिए तो ये प्रोडक्शन चूज करो बीटा 2 चा तो ये करो बट मुझे बैक ट्रैक नहीं करना पड़ा तो कॉमन प्रीफिक्स को अलग निकाल लो और इस तरह से इसको कर सकते हो यस अब फिर वही टर्मिनोलॉजी का गेम यह भी समझ लो नॉन डिटरमिनिस्टिक डिटरमिनिस्टिक को समझ गए अब डिटरमिनिस्टिक ग्रामर का एक और नाम भी है जिसे बोलते हैं लेफ्ट फैक्टर्ड ग्रामर लेफ्ट फैक्टर्ड ग्रामर क्या बोलते हैं लेफ्ट फैक्टर्ड ग्रामर और ये जो प्रोसेस है ऑफ कन्वर्टिंग अ नॉन डिटरमिनिस्टिक ग्रामर इंटू डिटरमिनिस्टिक वन इज नोन एज लेफ्ट फैक्टरिंग इसे क्या बोलते हैं लेफ्ट फैक्टरिंग कंफ्यूज मत होना तो हमारे पास क्या है नॉन डिटरमिनिस्टिक को कन्वर्ट कर रहे डिटरमिनिस्टिक में कुछ लोग डिटरमिनिस्टिक को लेफ्ट फैक्टर्ड भी कहते हैं है ना और नॉन डिटरमिनिस्टिक को डिटरमिनिस्टिक में कन्वर्ट करने की जो प्रोसेस है वह लेफ्ट फैक्टरिंग कहलाती है पढ़ूं एक बार द प्रोसेस ऑफ़ कन्वर्जन ऑफ़ अ नॉन डिटरमिनिस्टिक ग्रामर इंटू डिटरमिनिस्टिक इज़ नोन एज़ लेफ्ट फैक्टरिंग सो दैट इज़ इट तो यह एक पूरा गेम आपको समझ आ गया तो अभी हमने क्या किया हमने एक प्रॉब्लम समझी सर कि क्या प्रॉब्लम है और कैसे उस प्रॉब्लम को हम मैनेज कर सकते हैं एक और प्रॉब्लम है लेफ्ट रिकर्स अब उसकी कहानी समझो रिकर्स क्या है पहले यह समझा देता हूं सो अ अगर कोई भी आपको इस तरह का प्रोडक्शन मिले जहां पे लेफ्ट हैंड साइड और राइट हैंड साइड प सेम नॉन टर्मिनल है इसको बोलते हैं रिकसिव प्रोडक्शन बिकॉज इसका मतलब क्या है ये ले लेता हूं जैसे इसका मतलब क्या है अब आप ये प्रोडक्शन कितनी भी बार यूज कर सकते हो लाइक दिस है ना ग्रामर पक्का लैंग्वेज जो बनेगी इनफा वाली लैंग्वेज बनेगी इट कैन हैव एनी नंबर एनी पॉसिबल नंबर ऑफ स्ट्रिंग तो रिकर्स प्रोडक्शन क्या जब सेम नॉन टर्मिनल लेफ्ट और राइट हैंड साइड ऑफ द प्रोडक्शन मिले तो द प्रोडक्शन इज रिकर्स प्रोडक्शन पॉइंट नंबर वन पॉइंट नंबर टू व ग्रामर जिसमें कम से कम एक रिकर्स प्रोडक्शन हो देन द ग्रामर इज सेड टू बी रिकसिव ग्रामर सो द प्रोडक्शन इन व्हिच द सेम वेरिएबल औरन नॉन टर्मिनल एक ही बात है बोथ एट लेफ्ट एंड राइट हैंड साइड ऑफ द प्रोडक्शन इज नोन एज रिकसिव प्रोडक्शन आगे बढ़ो अ ग्रामर व्हिच कंटेन एटलीस्ट वन रिकर्स प्रोडक्शन एटलीस्ट वन रिकसिव प्रोडक्शन इज नोन एज रिकसिव ग्रामर तो वो ग्रामर जिसमें कम से कम एक रिकसिव प्रोडक्शन है उसे क्या बोलते हैं उसे बोलते हैं रिकर्स ग्रामर तो दोनों बातें आई होप हमें समझ आ रही है अब इसमें कैटेगरी सर लेफ्ट रिकर्स एंड राइट रिकर्स लुक एट दिस जैसे मान लीजिए कोई कैटेगरी लिखी मैंने चलो यही समझा देता हूं ऐसे समझो एक ये आईडिया हो सकता है एक ये आईडिया हो सकता है एक ये आईडिया हो सकता है एक ये आईडिया भी हो सकता है ये चारों ही रिकर्स प्रोडक्शन है क्योंकि यहां पर ग्रामर में राइट हैंड साइड प ऐसा आपको नजर आ रहा है इसको बोलते हैं राइट रिकर्स क्या बोलते हैं राइट रिकर्स क्योंकि वो जो नॉन टर्मिनल है वो एक्सट्रीम राइट में है इवन ये भी राइट रिकर्स का केस है ध्यान से देखो राइट रिकर्स द ग्रामर जी इज सेड टू बी राइट रिकसिव इफ द राइट मोस्ट वेरिएबल ऑन द राइट हैंड साइड इज सेम एज द वेरिएबल ऑन द लेफ्ट हैंड साइड राइट हैंड साइड का जो एक्सट्रीम राइट है सिमिलरली लेफ्ट रिकर्स जब राइट हैंड साइड में जो न टर्मिनल है वो एक्सट्रीम लेफ्ट में हो तो यह दोनों लेफ्ट रिकर्स है ध्यान से देखो है ना और यह क्या है यह जनरल रिकर्स है नाइ दर इट इज लेफ्ट और नॉर राइट एक्सट्रीम पोजीशन होना चाहिए तो अगर एक्सट्रीम लेफ्ट में है तो लेफ्ट रिकर्स एक्सट्रीम राइट में है तो राइट रिकर्स अब हमारी प्रॉब्लम क्या है हम क्यों बात कर रहे हैं रिकर्स की क्या हमें रिकर्स से प्रॉब्लम है नहीं हमें रिकर्स से प्रॉब्लम नहीं है हमें लेफ्ट रिकर्स से प्रॉब्लम है चड़ है हमारी क्या प्रॉब्लम है यह समझो लेफ्ट रिकर्स और खासकर टॉप डाउन पार्सल्स को आगे बात करूंगा बॉटम अप को प्रॉब्लम नहीं है टॉप डाउन पार्सल्स ना स्ट्रिंग जो है वो लेफ्ट मोस्ट डेरिवेशन करते है मान लीजिए मेरे को तीन बार ए बनाना है और यह ग्रामर है ग्रामर वैलिड है है ना बट प्रॉब्लम क्या है अगर मैं आपको अलग से बताऊं कॉमन सेंस है कि भाई दो बार रिकसिव प्रोडक्शन यूज करो और टर्मिनेट कर दो यह बन गया िप ए बन जाएगा लेकिन इमेजिन करो आप मैं यूज करूंगा लेफ्ट मोस्ट डेरिवेशन अब मैं s और ए बनाया क्या s का a से मैच हो पा रहा है नहीं क्या मैं आगे के a देख सकता हूं नहीं मैंने आपको बताया एक बार में एक ही सिंबल स्कैन करने की परमिशन है एक बार मैं एक सिंबल देखेंगे तो s से तो मैच होगा नहीं मैं क्या करूंगा मैं फिर से यह करने की कोशिश फिर s मिले मैं कितनी भी बार रिकर्स यूज कर लूं मैं कभी मैच कर ही नहीं पाऊंगा सर ऑन द कांट्रेरी अगर यह ग्रामर ऐसे लिखी हो राइट रिकर्स हो फिर देखो कितना आसान है अब मैं a को a से मैच करूंगा फिर दो दोबारा मेरे को a मिला मैं a को a से मैच करूंगा अभी सिंगल a बचा है तो मैं टर्मिनेट कर दूंगा तो प्रॉब्लम रिकर्स नहीं है दोस्त प्रॉब्लम लेफ्ट रिकर्स से है बिकॉज़ देयर इज अ पॉसिबिलिटी ऑफ गोइंग इन टू इनफाइनों मैं लेफ्ट मोस्ट डेरिवेशन करता हूं टॉप डाउन पार्सिंग में और लेफ्ट मोस्ट डेरिवेशन में एक्सट्रीम लेफ्ट में कभी मुझे नॉन टर्मिनल मिलता नहीं ये टर्मिनल नहीं मिल रहा नॉन टर्मिनल मिलने जा रहा मैं मैच कर नहीं पा रहा अभी इतना समझ लो ब्रीफ में समझा रहा हूं आगे तो डिटेल में पढ़ेंगे ही ll1 बनाएंगे हम सो इन टॉप डाउन पार्सिंग रिकर्स से इशू है सर इस पर काम नहीं करना यस और यह क्या दिखाया दैट इज हाउ वी कैन कन्वर्ट ग्रामर विद अ लेफ्ट रिकर्स अच्छा केस समझा देता हूं आपको प्रॉब्लम क्या यह तो समझ आ गया कुछ ब्लूप्रिंट आपके लिए लेकर आया हूं कि अगर वहां पर है रिकर्स तो क्या करेंगे अब यहां देखिए ध्यान से देखिए ये एग्जांपल है लेफ्ट रिकर्स को और बाद में देर पॉसिबिलिटी आप किसी से भी टर्मिनेट कर सकते तो हाउ कैन यू रिमूव दैट कुछ ऐसा करो देखो मैं पहले आपको थोड़ा फील दि लाऊं है क्या स्मल कैपिटल एल ए कैपिटल ए स्ल ए यही ड्रामा चलता रहेगा बाद में इसको या तो बी 1 या तो ी 2 ऐसा आप किसी से टर्मिनेट करोगे तो मैं काम करूं ना वो पहले ले लूं तो आई डू यू आई गिव यू चॉइस a टेंड्स टू आइर बी 1 a ' जो चूज करना है पहले कर लो आइर बी टू a ' अप टिल अप टिल अप टिल आइर बी ए ए ' और अब इस a ' से आपके इस एक ही प्रॉब्लम सॉल्व कर देता हूं आई विल गिव यू अ रिकर्स बट दिस टाइम आई विल गिव यू अ राइट रिकर्स तो देखो इस ग्रामर से क्या बनेगा सर यही बनेगा स्टेप नंबर वन पे मान लो मैं बीटा चूज कर लूं बीट a ' और a ड से फिर वही a a ड a ए ड तो स्ट्रिंग तो सेम ही बनी नोटिस करो स्ट्रिंग सेम बनी बस बनाने का तरीका अलग है तो लेफ्ट रिकर्स से काम नहीं करेंगे फिर भी अगर करना ही है तो क्यों ना लेफ्ट को राइट में कन्वर्ट कर लिया जाए तो यहां पर मैंने क्या केस बनाया टर्मिनेशन की चॉइस थी कभी-कभी केस क्या हो सकता है यहां देखो यहां पर रिकर्स पे चॉइस है टर्मिनेशन सि टर्मिनेट जो करना है वो बीटा से करना है इसको कैसे आप चेंज कर सकते हैं अगेन आप टर्मिनेशन पहले करा दीजिए यू टेक अ न्यू नॉन टर्मिनल और अब आप चॉइस दीजिए अल्फा 1 एड की लेकिन विद अ राइट रिकर्स अल्फाट एड की अल्फा 3a ' की और चलते जाइए लास्ट में कर दीजिए ए सो दीज टू ग्रामर आर टेक्निकली द सेम ग्रामर बिकॉज़ दे जनरेट द सेम लैंग्वेज बट दोनों का जो लैंग्वेज जनरेटिंग कैपेबिलिटी है वह एकदम सेम है बट वह लेफ्ट रिकर्स पे राइट रिकर्स में मुझे राइट रिकर्स से प्रॉब्लम नहीं तो एग्जाम में इस तरह के केसेस भी आ सकते हैं और यह आप देखेंगे तो इसमें दोनों चीज़ हैं इसमें टर्मिनेशन का भी चॉइस है रिकर्स का भी इसको कैसे कन्वर्ट करूं तो a से शुरू करो पहले टर्मिनेशन की जितनी चॉइस है सारी चॉइस को रिस्पेक्ट कर लो लाइक दिस लाइक दिस बीटा एट एड और अभी रिकर्स जितना उसको रिस्पेक्ट कर लो सो अल्फा 1 एड अल्फाट एड अप टिल अप टिल अप टिल अल्फा एंड एड फॉलो बाय ए सो दैट इज हाउ लेफ्ट रिकर्स मेरे लिए प्रॉब्लम है एंड दैट इज हाउ इफ रिक्वायर्ड आई कैन कन्वर्ट दिस लेफ्ट रिकर्स इनटू राइट रिकर्स यस ये समझ आ गया एगी एमगी ऑलरेडी बड़ी प्रॉब्लम है जिस पर अभी हम बात कर चुके हैं चैप्टर वन में फिर से दिला डेफिनेशन तो आपको पता है अगर एक स्ट्रिंग को बनाने के एक से ज्यादा तरीका है द ग्रामर इज एमिगस ग्रामर और एमिगस बड़ी प्रॉब्लम है टू बी वेरी ऑनेस्ट नाइ दर टॉप डाउन नॉर बॉटम अप दोनों में से कोई काम नहीं कर सकता एमगस पे तो सबका रेड फ्लैग है कोई काम नहीं करता एमिगस पे एक है छोटा सा टाइप ऑपरेटर प्रेसिडेंस पार्सर वो काम करता है बट दैट इज नॉट अ फुल फ्लशड ग्रामर वो तो एक्सप्रेशन को हैंडल करने के काम आती है बाद में उसपे डिटेल में डिस्कशन करेंगे सो इट्स अ बिग नो एमिगस अगर कोई ग्रामर है तो कोशिश कर सकते हो उससे एमगी हटाने की लेकिन एक टॉपिक हम ओसी में ऑलरेडी पढ़ते हैं यहां हम उस परे डिटेल में बात नहीं करते इन्हेरेंटली एमिगस कुछ लैंग्वेजेस ऐसी हो सकती हैं कि आप उसके लिए जो ग्रामर चाहे लिखो जो भी सीएफजी लिखो दैट हैज टू बी एंबीस ओनली आप लिख ही नहीं पाएंगे अन एमिगस ग्रामर तो उन ग्रामर के लिए उन लैंग्वेजेस के लिए हम नहीं बना सकते पार्सर एमिगो है ना एक दो पहचान है एमगी सीएफजी है कि नहीं ये अनडिसाइडेड प्रॉब्लम है तो पता लगाने के कोई एल्गोरिथम नहीं है वैसे भी मुश्किल काम है टीटीओ में डिटेल में हमने डिस्कशन किया था इस पे अ इतना जरूर किया जा सकता है कुछ पहचान है आसान जैसे अगर किसी ग्रामर में लेफ्ट और राइट रिकर्स दोनों हो अब तो ये जान चुके हो आप दिस इज राइट रिकर्स दिस इज लेफ्ट रिकर्स वो एमिगस होगा ही होगा चेक करने की जरूरत नहीं तो कभी कोई आपसे पूछ ले तो है ना मैं लेकिन मैं ऐसा नहीं बोल रहा कि अगर लेफ्ट और राइट रिकर्स नहीं है तो एमिगस नहीं है हो सकता है उसके बाद भी हो बट अगर लेफ्ट और राइट रिग्रेशन दोनों है तो तो पक्का एमिगस होगा ये हम जानते हैं तो इस तरीके को शॉर्टकट ट्रिक लगा सकते हैं लेकिन जितना मैंने देखा है इस तरह के क्वेश्चन नहीं पूछे गए कि ये ग्रामर एमिगस है इसको अन एमगस बनाओ इतना पता होना कि एमगी क्या है इतना काफी है क्योंकि वो हमारे लिए बिग नो है उसपे हम काम नहीं करेंगे यस तो यह दो तीन आईडियाज हमने पढ़ लिए और लेफ्ट मोस्ट डेरिवेशन क्या है वो मैं ऑलरेडी आपको बता चुका हूं एमबीटी हम ऑलरेडी पढ़ चुके हैं तो अब हम बेसिकली इसके अंदर जाते हैं दो तीन बातें पहले से क्लियर कर देता हूं बिफोर हम ब्रूट फोर्स एलएल व पे काम करना शुरू करें पहली बात क्या हम इवन टॉप डाउन पार्सल में लेफ्ट रिकर्स के साथ काम करते हैं नहीं करते दैट इज बिग नो तो चाहे वो ब्रूट फोर्स क्योंकि लूप में तो आप ब्रूट फोर्स में भी चले जाओगे कैसे रुकोगे और एलएल व में भी रुक जाओगे तो अगर ग्रामर लेफ्ट रिकर्स रखती है तो टॉप डाउन पार्सर नहीं बना सकते याद रखिएगा पॉइंट नंबर वन या तो फिर आपको उसका वही जो हमने करके देखा लेफ्ट रिकर्स को राइट रिकर्स में कन्वर्ट करेंगे तो तो चलेगा याद रखनी है पॉइंट नंबर टू एमगी की बात बता चुका हूं अगर ग्रामर एमिगस है तो भी काम नहीं कर सकते हैं फिर वही बात चाहे ब्रूट फोर्स हो या एलएल व हो अगेन इट इज अ बिग नो दोनों के लिए बिग नो है तीसरी है डिटरमिनिस्टिक वाली बात लेफ्ट फैक्टरिंग अ वाली बात तो जो ब्रूट फोर्स मेथड है वो तो कह रहा है मैं बैक ट्रैक कर लूंगा उसको फर्क नहीं पड़ता तो अगर ग्रामर नॉन डिटरमिनिस्टिक है तो इस अप्रोच के लिए इस ब्रांच के लिए नॉन डिटरमिनिस्टिक ग्रामर इज अ बिग नो बट ये जो ब्रांच है ये नॉन डिटरमिनिस्टिक के सा साथ काम करने के लिए ओके है कि कोई बात नहीं भाई साहब बैक ट्रैक्ट कर लेंगे वैसे भी हमारे पास कोई एल्गो तो वैसे भी नहीं है है ना तो अब इस ब्रांच का भी हम दोनों डिटेल में समझेंगे बट यहां का टॉप डाउन का जो हीरो है एलएल वन उसके लिए तीनों बिग नो है ना वो लेफ्ट रिकर्स के साथ काम करता ना वो एमगी के साथ काम करता ना वो नॉन डिटरमिनिस्टिक ग्रामर के साथ काम करता है एक-एक के बारे में आगे अब डिटेल में पढ़ेंगे अगला टॉपिक है ब्रूट फोर्स ठीक है सर अभी बात करते हैं बूट फोर्स मेथड की तो जैसे मैंने बोला कि कोई टेक्निक ना होना भी एक तरह की टेक्निक है है ना पढ़िए क्या लिखा है व्हेन एवर अ नॉन टर्मिनल इज एक्सपेंडिंग फॉर द फर्स्ट टाइम बल्कि पढ़ने की बजाय बेटर है कि आई विल गो विद द प्रोडक्शन आपको प्रोसेस यूज करके दिखाता हूं आदी बात खुद ही समझ आती है तो देर यू सी एक ग्रामर हमारे पास है है ना एंड दैट इज अ डिजायर्ड स्ट्रिंग w1 जैसे मैंने रैंडम लिखी है यह बनाने की कोशिश करनी तो क्या अप्रोच है एक एक प्रोडक्शन लेंगे ट्राई कर अगर बनता है तो बढ़िया नहीं बनता तो बैक ट्रैक करेंगे दोबारा ट्राई करेंगे सो आई विल गो विद द फर्स्ट प्रोडक्शन देयर यू सी स्टार्ट सिंबल से क्या बनाता हूं स्ल सी कैपिटल ए एंडडी और कैपिटल ए से जो पहला ऑप्शन मेरे पास है दैट इज स्मल एंड स्मल ब तो फाइनल स्ट्रिंग क्या बनी सी ए बी और d जबकि बनाना क्या था सी एडी काम नहीं करा कोई और ऑप्शन है क्या हां एक ऑप्शन हो सकता है क्या आप वापस जाओ a के पास और एक और प्रोडक्शन वो ट्राई करो तो आई विल डू दैट तो s से c a और d मैं ऐसे ही रखे रहने देता हूं और a से मैं क्या बना सकता हूं देयर यू सी a से बना सकता हूं स्ल ए एंड नाउ इट बिकम c ए एंड नाउ यू कैन सी c ए क्या ये स्ट्रिंग हमें मिल गई हां मिल गई दिस इज अ द ट्री कॉल्ड द पार्स ट्री और द सिंटेक्स ट्री तो ट्री बढ़िया से हमारे पास हो स्ट्रिंग हमारी वैलिड है या देयर इज नो ग्रामेटिकल मिस्टेक ये अप्रोच है ट्राई करने की एक और ट्राई कर लो ये क्या कह रहा है सी यह तो मेरे ख्याल से बन ही नहीं सकती बिकॉज़ दोनों प्रोडक्शन ऑलरेडी हम ट्राई कर चुके और कोई ऑप्शन है क्या देखो स्टार्ट सिंबल से तो एक ही प्रोडक्शन है दोनों हम ट्राई कर चुके हैं तो दो ही स्ट्रिंग पॉसिबल है सर c ए बीडी और सी ए दिस इज नॉट पॉसिबल तो क्योंकि यहां पे कोई रिकर्स प्रोडक्शन नहीं है जितने पॉसिबल केसेस हो सकते थे काइंड ऑफ ऑलरेडी हम ट्राई कर चुके हैं तो वी आर 100% श्यर कि w1 जो है स्ट्रिंग हमारा वो ग्रामेटिकली करेक्ट है एंड दैट इज द सिंटेक्स र पास्ट टू सपोर्ट दैट और w2 जो है वो ग्रामेटिकली करेक्ट नहीं है है ना तो दैट इज हाउ वी कैन इन्वेस्टिगेट एक दो केस और ट्राई कर लेते हैं ये देखो यहां पे थोड़े प्रोडक्शन ज्यादा है अलग-अलग केस है जो टारगेट स्ट्रिंग बनाना है वह क्या है वो है एडी स तो आई विल गो 1 बाव s से शुरू करता हूं सर तो s से आई कैन हैव स्ल a कपिट ए एंडल c अब a के पास बताओ क्या ऑप्शन है तो अगेन जैसे मैं बोलता हू ना फाइना इट ऑटोमेटा के केस में सबसे पहली बार में नहीं करनी स्टार्ट विद द सिंपलेस्ट स्ट्रिंग पॉसिबल तो यहां भी सिंपलेस्ट से स्टार्ट करता हूं तो सिंपलेस्ट क्या मिलेगा b तो स्ट्रिंग क्या बनेगा ए बी स वैलिड है क्या वैलिड है कि नहीं हमें नहीं चाहिए बात खत्म हो गई तो आई विल बैक ट्रैक और फिर a के पास कोई और ऑप्शन एक और ऑप्शन है सर अ सी का तो देर यू सील एपि a एंड c और a के पास और ऑप्शन है तो वापस जाता हूं और वहां से बनाता हूं c तो नोटिस करिए क्या मिला हमें मिला ए स अब बताओ एसीसी वैलिड है क्या ये भी वैलिड नहीं ये भी नहीं चाहिए ए के ऑप्शन एग्जॉस्ट कर चुके हैं तो इसका मतलब a तक जाने से काम नहीं चलेगा और पीछे जाना पड़ेगा s के पास s के पास कोई और ऑप्शन है हां इस बार एक ऑप्शन और है तो वो ऑप्शन चूज करते हैं तो s से स्ल ए एंड कैपिटल बी लुक एट दिस और कैपिटल बी से बताओ क्या बता सकते हैं c सडी सो लेट मी हैव c एंड c एंडडी फाइनल स्ट्रिंग क्या बना ए सडी शायद ओ नो हमें चाहिए एडीसी बना क्या ए सडी तो यह भी काम नहीं करेगा दिस इज़ आल्सो इनवैलिड फ़िलहाल बट अभी शायद एक और ऑप्शन है b के पास ना तो फर्द बैक ट्रैक करते हैं और यह बैक ट्रैक करते-करते आपको अप्रोच भी समझ आएगी और इस अप्रोच की प्रॉब्लम भी क्या ऑप्शन है b के पास तो इस बार एक ऑप्शन है देर यू सी लाइक दिस एंड एडी स नाउ दिस स्ट्रिंग इज़ वैलिड सो यह है सर ब्रूट फोर्स अप्रोच और यह तो जाहिर सी बात है मैंने बहुत सिंपल से ग्रामर लिए हैं सिंपल सिंपल स प्रोडक्शन ली ताकि आपको अप्रोच समझा सकूं बट अगेन याद है जो 5060 प्रोडक्शन ऑफिशियल सी लैंग्वेज के हैं अगर उसके साथ अब यह सारा खेल करना शुरू करेंगे तो दैट इज़ दिस एनटायर प्रोसेस गोइंग टू बी वेरी टफ बहुत मुश्किल होगा इसे मैनेज करना यस एक बार जरा पढ़िए क्या लिखा हुआ है वही वाला आईडिया सो इट सेज दैट व्हेन एवर अ नॉन टर्मिनल इज एक्सपेंडिंग फॉर द फर्स्ट टाइम पहली बार जब हम उसे एक्सपेंड करते हैं तो क्या होता है अ गो टू द फर्स्ट अल्टरनेटिव एंड कंपेयर द इनपुट स्ट्रिंग इफ इट डज नॉट मैच गो फॉर सेकंड अल्टरनेटिव कंपेयर द इनपुट स्ट्रिंग बस यही करते रहो ट्राई करते रहो है ना इफ इट डज नॉट मैच देन गो फॉर द थर्ड अल्टरनेटिव एंड कंटिन्यू विद ईच एंड एवरी अल्टरनेटिव पॉसिबल हर अल्टरनेटिव पे आपको ट्राई करना है इफ द अ मैचिंग अकर्स इन एटलीस्ट वन अल्टरनेटिव अगर एक बार भी मैच हुआ है तो आपका स्ट्रिंग वैलिड है अदर वाइज पासिंग फेल एंड विल डिक्लेयर दैट देर इ सम काइंड ऑफ़ अ सिंटेटिक मिस्टेक यह काम नहीं कर रहा दैट इज द आईडिया यस अ अगेन कुछ इंपोर्टेंट पॉइंट टॉप मैंने एक बार याद करके आपको बताया देखिए पहले क्लियर किया है टॉप डाउन पार्सिंग के लिए लेफ्ट फैक्टरिंग और मतलब बेसिकली ये पॉइंट मैं ऑलरेडी आपको बता चुका हूं है ना तो अगर हम जाते हैं ब्रूट फोर्स के अंदर तो नॉन डिटरमिनिस्टिक भी हो तो चलता है लेकिन हां लेफ्ट रिकर्स एमगी नहीं होनी चाहिए दैट आई हैव ऑलरेडी मेंशन इफ अ ग्रामर इज नॉन डिटरमिनिस्टिक ऑलरेडी मैं बता चुका हूं लॉन्ग रन में क्योंकि हैवी बैक ट्रैक करना पड़ता है एप्रोक्सीमेटली जो टाइम है वो ऑर्डर ऑफ़ 2 रे टू पावर n स् चल जाता है व्हिच इज लाइक एक्सपो एं शियल ग्रोथ तो साधारण भाषा में बोलने का मतलब यह भाई यह कोई लॉजिक नहीं है आप यह मत मानना कि ब्रूट फोर्स मेथड यूज़ करके कोई प्रॉपर हाई लेवल लैंग्वेज को पास कर लोगे आप नहीं कर पाओगे यस इट इज वेरी कॉस्टली परफॉर्मेंस खराब हो जाती है डीबगिंग बहुत डिफिकल्ट है इसका चैप्टर खत्म खत्म हो गई बात अब हमें क्या करना है हमें टॉप डाउन पार्सिंग की तरफ आगे बढ़ना है और टॉप डाउन पार्सिंग की तरफ आगे बढ़ने से पहले बेसिकली हमें एलएल व करना है बेसिकली हमें प्रिडिक्टिव पार्सिंग करनी है बेसिकली हमें बैक ट्रैक सपोर्ट नहीं करना है और एक बार कमिटमेंट कर देंगे तो उसके बाद अपनी आप की भी नहीं सुनेंगे वो वाली पार्सिंग करनी है बट अब ये क्या आ गया बीच में सर ये आ गया फर्स्ट एंड फॉलो दो फंक्शन है एक फंक्शन है फर्स्ट एक फंक्शन है फॉलो जब तक फर्स्ट और फॉलो निकालना नहीं सीखते सीखते हम तब तक ना तो हम टॉप डाउन पार्सिंग कर सकते कोई भी टेबल ड्रिवन पार्सल पे आप काम नहीं कर पाओगे वेदर इट इज टॉप डाउन और बॉटम अप है ना तो जिस तरह मैं ऐसा बोलूं जिस तरह नॉर्मलाइजेशन करने के लिए डीबीएमएस में फंक्शनल डिपेंडेंसीज का की का नॉलेज जरूरी है उसी तरह यहां पर वेदर टॉप डाउन या बॉटम अप पार्सर बनाने के लिए हमें यह फर्स्ट एंड फॉलो पे काम करना जरूरी है अगेन थरेट थ्योरी जो है यहां पे वह बड़ी अजीब है और मैं एक बार मैं आपको समझाने की कोशिश करूंगा पगला जाएंगे यह क्या लिखा है भाई इसका क्या मतलब है तो बेटर अप्रोच यही रहेगा कि पहले मैं आपको एग्जांपल से सिखाना शुरू करूं क्या करना चाहते हो देन आई विल कम बैक टू द थ्योरी पार्ट देन आप इसको मैच कर लेंगे सो फर्स्ट फंक्शन अब ये फार्मूला है ये कैसे समझोगे अभी आप नहीं समझ सकते तो पहले आई विल कम टू द पॉइंट फर्स्ट एंड फॉलो दोनों निकालना सिखाता हूं पहले प्रॉब्लम समझो क्या है प्रॉब्लम ये है अगेन टेप के ऊपर स्ट्रिंग लिखा हुआ है सर जो स्ट्रिंग हमें जनरेट करने की कोशिश करनी और स्ट्रिंग कुछ भी हो सकता है आगे के सिंबल्स तो आपको नजर आते नहीं है डॉलर जहां पे एंड होगा एक बार में हमें एक ही सिंबल नजर आता तो मान लीजिए फिलहाल हमारा ऑब्जेक्टिव फंक्शन है a बनाने का ठीक बात है ना अब हम यहां पे एल एलव के अंदर लेफ्ट टू लेफ्ट मोस्ट डेरिवेशन यूज़ करते हैं लेफ्ट मोस्ट डेरिवेशन क्या ऑलरेडी मैं डिस्कस कर चुका हूं कि किसी भी इंस्टेंस पे जो भी हमारी सेंटेंशल फॉर्म है उसमें जो एक्सट्रीम लेफ्ट नॉन टर्मिनल है उसे मैं एक्सपेंड करने की कोशिश करूंगा तोब मान लीजिए ये एग्जांपल देखिए मान लो मेरे पास स्टार्ट सिंबल s लिखा हुआ है तो मेरे को क्या सोचना है मेरे को मेरी पहली प्रॉब्लम यह है इसके आगे क्या स्ट्रिंग है वो छोड़ दो फिलहाल s सेल ए तक कैसे पहुंच बोलो हां या ना अब एक पॉसिबिलिटी तो हो सकती है कि मान लो आपके पास कोई प्रोडक्शन है वहां पर स्ल ए लिखा हुआ है बात खत्म हो गई एक हो सकता है कि यह नहीं लिखा बट मान लो कैपिटल ए कैपिटल भी लिखा है अब आपकी प्रॉब्लम क्या होगी s से आप पहुंचे a के पास अब आप सोचेंगे क्या कैपिटल ए से स्मल ए आ सकता है क्या लाइक दिस ल थिंग है ना तो फर्स्ट फंक्शन का क्या मतलब है अगर मैं कोई भी नॉन टर्मिनल लेता हूं लेट मी टेक एनी नॉन टर्मिनल उसको एंटी के नाम से लिख देता हूं फ्यूचर में इससे जो जो बनेगा में जो भी बनेगा इससे उसमें सबसे पहला जो टर्मिनल होगा व क्या होगा उसे बोलते हैं फर्स्ट और क्यों हम ये फंक्शन कैलकुलेट कर रहे हैं बिकॉज एक बार हमें फर्स्ट अगर समझ आ गया तो हम बाद में डिसीजन ले सकते हैं कि कौन सा प्रोडक्शन चूज करें अभी दो चार एग्जांपल ट्राई करेंगे तो आपको बात समझ आएगी जैसे देखिए मैं इसीलिए बहुत सिंपल ग्रामर से यहां पर स्टार्ट करूंगा ताकि चीजों को बहुत कॉम्प्लेक्शन कर रहा हूं कैपिटल इस का अभी फॉलो की बात नहीं करेंगे ठीक है तो यहां देखना फर्स्ट तो सिखा ही दूंगा पक्का आपको ऐसा सिखा दूंगा भूलोगे नहीं बस थोड़ा सा ध्यान देना तो आप मुझे बताओ प्रोडक्शन इतना सिंपल है कोई और नॉन टर्मिनल है नहीं बताओ सर कैपिटल ए से क्या-क्या बन सकता है सर कैपिटल ए से तीन प्रोडक्शन है या तोल ए या तो स्ल बी या तो एलन तो फिर आपके सामने लिखा हुआ है तो यही हो गया आपका फर्स्ट फंक्शन यही आपका फर्स्ट फंक्शन हो गया तो लिख दूं मैं अभी तो जी हां तीन पॉसिबिलिटी है या तोल ए या तो स्मल बी या तो एलन ये हो गया फर्स्ट आगे बढ़ो यहां देखो अब यहां मल्टीपल प्रोडक्शन है तीन नॉन टर्मिनल है तो ऐसे देखो क्या-क्या बन सकता है अब ऐसे दो ऑप्शन है बल्कि अगर मैं बोलूं a और b का तो फस बहुत आसान है आगे कुछ दिख नहीं रहा तो a का फस भी है एलन b का फस भी है एलन उसमें कुछ रिसर्च करने की जरूरत है नहीं रही बात इसके फस की तो देखो दो प्रोडक्शन है अगर मैं इधर गया तो बोलो सबसे पहले क्या मिलेगा स्ल a मिलेगा सर अगर इधर गया तो सबसे पहले स्ल b मिलेगा इसका मतलब s से फ्यूचर में दोनों चीजें डिराइवर की जा सकती हैं बोलो हां या ना तो s के फर्स्ट में दोनों आएगा स्मल ए भी आएगा स्मल b भी आएगा देखो बात समझ आती है क्या स्टेप बाय स्टेप स्टेप बाय स्टेप आगे बढ़ रहा हूं नेक्स्ट देखो ये ग्रामर क्या कहता है हां देखो इसमें और बहुत कुछ सीखो ग फिर बताओ सर और फर्स्ट अब धीरे-धीरे आप अगेन वो बोल रहा था ना फॉर्मूला से नहीं समझ आता एक्सपीरियंस से समझ आता है धीरे-धीरे य अंडरस्टैंड फर्स्ट अगर कैलकुलेट करना है अच्छे से हमेशा बॉटम ऑफ फैशन में करो आमतौर पे जो ऊपर लिखा रहता है वो फिर नीचे वालो पे डिपेंडेंट रहता है तो मुझे बताओ b का फर्स्ट क्या बोलोगे सर b का बहुत आसान है सामने से नजर आ रहा है तो फर्स्ट ऑफ b विल बी स्ल d एंड स्मल e नथिंग एल्स बहुत सिंपल है व्हाट इज़ फर्स्ट ऑफ़ a तो देयर यू सी फर्स्ट ऑफ a इजल a एंडल b अगेन बहुत सिंपल है डायरेक्टली नजर आ रहा है नाउ व्हाट इज़ फर्स्ट ऑफ़ s अब देखिए फर्स्ट ऑफ़ s में दो ऑप्शन है या तो अगर इस प्रोडक्शन पे आप गए तो आपको मिलेगा कपिट a बट कैपिटल a से क्या-क्या ब बन सकता वो पहले निकाल चुके हैं हम तो कैपिटल ए से दो पॉसिबिलिटी है या तो स्ल a या तोल b अगर इधर गए तो क्या मिलेगा कपि ब कैपिटल ब भी पहले सॉल्व कर चुका हूं तो यहां से क्या मिलेगा स्ल d और स्ल e तो ओवरऑल फर्स्ट ऑफ ए के अंदर क्या-क्या ऑप्शंस है b ए बीडी और यहां पे ए और यहां पे एडी सारी पॉसिबिलिटी हमें एकदम क्लियर कट नजर आ रही है यस फिर आगे बढ़ते हैं प्रैक्टिस है इसमें बस और कुछ नहीं है जितने ज्यादा केस बनाओगे उतनी ज्यादा क्लेरिटी आपको आ जाएगी सर ये देखो अभी ए सालन वाले केस होंगे और मजा आएगा फर्स्ट ऑफ बी ये तो बहुत आसान है फर्स्ट ऑफ बी तो पक्का फिल कर दोगे सी फर्स्ट ऑफ ए भी आसान है तो फर्स्ट ऑफ ए में या तो b मिलेगा तो एलन अब यहां मजा आएगा नोटिस करना ध्यान से देखना फर्स्ट ऑफ s एक ही प्रोडक्शन है अब फर्स्ट ऑफ s है फर्स्ट ऑफ s इज फर्स्ट ऑफ a फर्स्ट ऑफ ए से या तो आपको बी मिल जाएगा सर कानी खत्म पैसा हजम लेकिन नोटिस करें a ए भी हो सकता है अगर यह a एन हो गया तो आपको क्या मिलेगा a मिलेगा इसका मतलब आपको स्मल ए भी कंसीडर करना पड़ेगा ध्यान से देखो एक और बात नोटिस करना क्या मेरे को कैपिटल b के लिए c भी कंसीडर करना चाहिए नहीं क्यों क्योंकि a है स्मल ए है टर्मिनल ये कभी यहां से नहीं भागेगा तो ये आपको b तक कभी नहीं पहुंचने देगा हम ये नहीं देख रहे सब कुछ क्या डिराइवर कर सकता है हम देख रहे हैं आगे क्या होगा तो आगे या तो b मिलेगा अगर नल हो भी गया तो a मिलेगा सर कैपिटल बी तक नहीं पहुंच पाएंगे आप तो फर्स्ट ऑफ ए में दो ही चीज आएंगी या तो बी आएगा या तो ए आएगा एज सिंपल एज दैट तो धीरे-धीरे मेरे ख्याल से इंजन घूमने लगा होगा आपका और अब तो गेम अच्छा अगर खेल रहे हैं तो करिए क्या पॉज करिए हर क्वेश्चन पे पॉज करिए पहले खुद से अटेंप्ट करिए तब रियलिटी में समझेंगे कितना समझ आया ये क्वेश्चन पूछेगा सर एग्जाम में और कोई भी क्वेश्चन पूछ में बोल रहा हूं बिना फर्स्ट और फॉलो के तो सॉल्व होना ही नहीं है लेट दैट बी वेरी क्लियर यहां से आ जाओ व्हाट इज फर्स्ट ऑफ b तो सिंपल है बट ट्रिकी केस है सो फर्स्ट ऑफ b इजल ब इन एलन व्हाट इज फर्स्ट ऑफ a नाउ फर्स्ट ऑफ a इज आल्सो स्ल ए एन एंड नाउ यू सी व्हाट इज फर्स्ट ऑफ s अब यहां देखो फिर वही बात फर्स्ट ऑफ ए इज कैपिटल a कैपिटल ब अब कैपिटल a से क्या मिलेगा सर कैपिटल a से मिलेगा स्ल a बट कैपिटल ए एलन हो सकता है तो मैं b के पास पहुंच जाऊंगा और वहां से मेरे को क्या भी मिलेगा b भी मिलेगा जब ए होगा तो आगे जाना वरना नहीं जाना है ना अब b मिल गया बट मजे की बात क्या है b भी एलन हो सकता है और अगर a और b दोनों एलन हो गए तो इसका मतलब फर्स्ट ऑफ s में मुझे एलन भी कंसीडर करना पड़ेगा तो आई होप वैल्यू बाय वैल्यू आईडिया बाय आईडिया फर्स्ट फंक्शन कैसे कैलकुलेट करते हैं आपको समझ आ रहा होगा देखिए मैंने इतने सारे केस बना के रखे हैं कि बाद में कोई यू नो कंफ्लेक्स कम प्रैक्टिस किया सुपर आगे देखो बॉटम ऑफ फैशन में सिखाया आपको नीचे से चालू हो जा फर्स्ट ऑफ e मुझे नहीं लगता कोई डाउट होना चाहिए स्मल e एन और ऊपर चलो फर्स्ट ऑफ d इज स्मल d फिर ऊपर चलो फर्स्ट ऑफ सी फर्स्ट ऑफ सी इज स्मल c एन एलन फिर ऊपर चलो फर्स्ट ऑफ b फर्स्ट ऑफ b इज स्मल बीन एन फिर ऊपर चलो फर्स्ट ऑफ a फर्स्ट ऑफ a इजल n ए फिर ऊपर चलो अब इसको देखो जरा ध्यान से देखना अब यहां मजा आ जाएगा फर्स्ट ऑफ फर्स्ट ऑफ a जिससे स्मल ए मिलेगा बट वो एलन भी हो सकता है तो आपको b तक जाना पड़ेगा b भी एलन हो सकता है आपको सी तक जाना पड़ेगा सी भी एलन हो सकता है आपको डी तक जाना पड़ेगा बट मेरे दोस्त d एलन नहीं हो सकता उससे आगे जानने की जरूरत नहीं है दैट विल बी ऑल बताओ बात समझ आ रही है क्या यह गेम है सर क्योंकि d ए नहीं हो सकता तो यही रुक जाएंगे तो यह पूरी कहानी हमारी कंप्लीट हो गई फर्स्ट की आई होप अभी आपको क्लियर है एक दो केस और बना के रखे हैं जल्दी जल्दी से कंप्लीट कर दूं अब आगे आप दिमाग लगाना तो फर्स्ट ऑफ जज इज ओपन ब्रैकेट एंड आईडी यह बड़ी पॉपुलर ग्रामर है बाद में भी काम आएगी फर्स्ट ऑफ t ड इज स्टार एंड एलन आप भी सॉल्व करते रहो ना फर्स्ट ऑफ t ध्यान से देखना फर्स्ट ऑफ t इज फर्स्ट ऑफ f फर्स्ट ऑफ एफ ऑलरेडी मैं निकाल चुका हूं व्हिच इज ओपन ब्रैकेट तो एंड आईडी तो बार-बार कैलकुलेट करने की जरूरत नहीं है फर्स्ट ऑफ e ड इज आइर प्लस एंड प्लस इज अ टर्मिनल सी तो कैपिटल t तक जाने की जरूरत नहीं है एंड एलन एंड फर्स्ट ऑफ़ e इज फर्स्ट ऑफ़ t फर्स्ट ऑफ़ t ऑलरेडी मैं सॉल्व कर चुका हूं सो अगेन इट इज़ ओपन ब्रैकेट एंड आईडी सो आई थिंक यूजिंग दिस अप्रोच किसी के लिए भी आप फर्स्ट एंड फॉलो निकाल सकते हैं एक आखिरी केस और देख लेते हैं सो इट इज़ f ए ए अ फर्स्ट ऑफ़ e इज़ g एंड ए फर्स्ट ऑफ़ d इज़ फर्स्ट ऑफ़ e एंड फर्स्ट ऑफ़ f दोनों आ जाएंगे तो मेरे ख्याल से तीनों आ जाएगा सर g भी आएगा f भी आएगा और दोनों भी नल हो सकते हैं तो मेरे को एलन भी लेना पड़ेगा आगे देखिए व्हाट इज फर्स्ट ऑफ सी फर्स्ट ऑफ सी इज स्मल बी एंड एन व्हाट इज फर्स्ट ऑफ बी फर्स्ट ऑफ बी इज स्मल सी एंड व्हाट इज फर्स्ट ऑफ ए ये आसान है उल्टा बल्कि नीचे वालों पे डिपेंडेंट नहीं है इट्स जस्ट फर्स्ट ऑफ क्योंकि टर्मिनल है तो मुझे आगे कहीं नहीं जाना है ना अब मैं आपको लेके चलूं दोबारा फर्स्ट की डेफिनेशन पे यहां से देखो फर्स्ट ऑफ अल्फा इज अ सेट ऑफ ऑल टर्मिनल्स दैट मे बी इन द बिगिनिंग इन एनी सेंटेंशल फॉर्म डिराइवर में अल्फा से जो भी बनेगा है ना उसमें स्टार्टिंग में कौन-कौन से टर्मिनल हो सकते हैं उन सबकी पॉसिबिलिटी का जो सेट है दैट इज़ कॉल्ड फर्स्ट ऑफ़ अल्फा फ़र्स्ट ऑफ़ अल्फा इज़ कैलकुलेटेड फॉर बोथ टर्मिनल्स एंड नॉन टर्मिनल्स अभी टर्मिनल पे मैंने क्यों नहीं आपसे पूछा मुझे बताओ व्हाट इज़ फर्स्ट ऑफ़ स्मल सर दैट इज स्मल ए ओनली इससे कोई प्रोडक्शन थोड़ी है अगर मैं आपसे पूछ लू फर्स्ट ऑफ ए स फर्स्ट ऑफ एसी इज अगेन a ओनली क्योंकि जो सबसे पहले लिखा वही आएगा तो टर्मिनल के लिए दोनों केस मैंने वही लिखे थे तो टर्मिनल के लिए फर्स्ट निकालना कोई महान बात नहीं वो डायरेक्ट निकाल सकते हो गेम बनेगा नॉन टर्मिनल पे वो क्या बनेगा वो नोटिस करिए तो देखिए अलग-अलग केसेस अगर प्रोडक्शन है नल तो फर्स्ट ऑफ अल्फा एन हो जाएगा नल हो जाएगा अगर नॉन टर्मिनल है है ना मान लीजिए अल्फा से आप बीटा तक पहुंचे बीटा टर्मिनल है मैं सिर्फ बीटा लिख दूंगा मल्टीपल पॉसिबिलिटीज क्या हो सकती हैं यहां देखिए अभी आपको समझ आ जाएगा बहुत आसानी से एक प्रोडक्शन है नोटिस करिए अल्फा टेंड्स टू x1 x2 एंड x3 क्या-क्या है तीन चीजें सर x1 x2 एंड x3 अब ध्यान से देखिएगा अगर मैं कह रहा हूं x1 ए नहीं है नोटिस करिए नहीं है तो x2 x3 तक जाने की जरूरत है क्या नहीं सर तो फर्स्ट ऑफ अल्फा इज फर्स्ट ऑफ़ x1 हो जाएगा बोलो बात नहीं समझ आ रही क्या आ रही है अगर x1 नल हो सकता है बट x2 नल ना हो रहा हो तो क्या करोगे बताओ तो फिर x3 तक जाने की जरूरत नहीं है फर्स्ट ऑफ x1 य x2 कर लो ए हटा दो क्योंकि ए एलिमिनेट हो जाएगा अगर यह भी हो सकता है कि x2 भी ए हो तो x3 तक जाना पड़ेगा तब तो तीनों का फर्स्ट देख र जो हमने हर पॉसिबल केस में किया है लेकिन ओवरऑल एलन नहीं आएगा क्योंकि x3 नल नहीं हो रहा और अगर तीनों ही नल हो रहे हैं तब तो तीनों के फर्स्ट का यूनियन कर लो और एलन भी वहां बना रहेगा तो यह वही ऑब्जर्वेशन है जो पहले हमने कर लिए सो देर इज नथिंग न्यू इन दिस है ना तो फर्स्ट आई होप समझ आ रहा है आपको कैसे निकालना है और क्या कहानी है कैसे इसको कैलकुलेट करते हैं अब फॉलो की बात करता हूं बिना फॉलो करे खाना बिना फॉलो पड़े खाना हजम नहीं होगा और क्योंकि इनके लिए फर्स्ट निकाल लिया तो इनप फर्स्ट की प्रैक्टिस कर लेंगे फॉलो की भी कर लेंगे फॉलो समझो क्या है पहले उसकी रिक्वायरमेंट समझाता हूं अब ये मैंने आपको समझाया कि मान लीजिए कहीं भी ये ए बी सीडी कुछ भी लिखा हुआ है और मेरा ऑब्जेक्टिव फंक्शन है a करने का है ना और सेंटेंशल फॉर्म लिखी हुई थी a ए बी समथिंग लाइक दिस और हम कोशिश कर रहे थे a से यह स्ल ए कैसे बना है और वो करने में फर्स्ट हमारी मदद कर रहा था बट जैसा आपने देखा ग्रामर के अंदर नल प्रोडक्शंस है और कोई भी नॉन टर्मिनल कभी भी नल हो सकता है अगर ऐसा होगा तो क्या हो होगा तो इमेजिन करो इस a ने तो सरेंडर कर दिया कह रहे भाई साहब हम तो नल हो गए अब आप जानो आपका काम जाने है अब जैसे ही a नल हुआ बताओ क्या होगा सर a के बाद जो लिखा हुआ है ना एग्जैक्ट बाद में जो लिखा हुआ है उसके ऊपर रिस्पांसिबिलिटी आ जाएगी अगले टर्मिनल को डिराइवर करने की बोलो मानते हो कि नहीं हां तो उस केस में हमें a का फर्स्ट देखना पड़ेगा या देखना पड़ेगा कि सेंटेंशल फॉर्म में a को कौन फॉलो कर रहा है दैट इज द बिहाइंड इट हमें देखना पड़ेगा ए को कौन फॉलो कर रहा एक और बात प्रैक्टिकली प्रैक्टिकली अगर ग्रामर में नल प्रोडक्शन ना हो तो क्या कभी हमें फॉलो फंक्शन की जरूरत पड़ेगी सर पड़ेगी नहीं क्योंकि अगर नल नहीं है ए सालन नहीं है तो कोई नॉन टर्मिनल भागेगा नहीं और नॉन टर्मिनल भागेगा नहीं तो उसका आगे क्या क्या टेंशन है उसी से कुछ ना कुछ बना लेंगे हम यह बात है इसीलिए क्या टर्मिनल का कभी फॉलो देखा जाता है सर टर्मिनल कभी भगोड़े नहीं होते टर्मिनल वहां बना रहता है वो नहीं जाता है तो टर्मिनल के लिए हम फॉलो नहीं देखते लेकिन नॉन टर्मिनल के लिए हमें फॉलो देखना होता है बताइए बात समझ आती है क्या वेरी इंपॉर्टेंट पॉइंट वेरी इंपॉर्टेंट है ना तो नॉन टर्मिनल के लिए हमें फॉलो देखना है क्यों देखना है क्योंकि नॉन टर्मिनल नल हो जाते हैं अब एक तरीका तो ये है सर फिर ठीक है हम ग्रामर स्टडी करेंगे और अगर कोई नॉन टर्मिनल ऐसा है जिसके पास नल प्रोडक्शन है तो हम उसका फॉलो देख लेंगे वरना नहीं देखेंगे ऐसा हो सकता है बट एग्जाम में आपसे बोल सकता है कि नहीं पूरी ग्रामर के लिए फॉलो निकालो है ना और फॉलो के कुछ और यूज केस भी है जो बाद में आपको समझाऊं तो हर नॉन टर्मिनल के लिए फॉलो हम निकालते हैं यस फॉलो निकालने में कभी-कभी फर्स्ट फंक्शन भी काम आ जाता है वो कैसे काम आएगा वो भी देख लेंगे बहुत सारे केसेस हमने ऑलरेडी सैंपल में बना लिए अगेन इसकी डेफिनेशन प बाद में लेके जाऊंगा पहले काम करना सीखेंगे एक और बात अ मान लीजिए जब गेम स्टार्ट होगा तो सबसे पहले तो स्टार्ट सिंबल लिखा होगा सेंटेंशल फॉर्म में या ग्रामर में क्या स्टार्ट सिंबल के राइट में कुछ होगा नहीं तो हम हमेशा एक चीज मान के चलेंगे कि जो हमारी टेप है ना वो टेप कब कैसे कंप्लीट होती है सबसे लास्ट में आता है डॉलर हमारा टर्मिनल है हमारा एंड मार्कर है टेप का एंड मार्कर डॉलर आया मान लो टेप खत्म हो गई तो अगर इमेजिन करो आप मेरे पास एक पूरी स्ट्रिंग है ड है ना अब हम पार्सिंग में यही तो समझ रहे हैं कि अगर टॉप डाउन पार्सिंग है तो स्टार्ट सिंबल से w बनेगा अगर बॉटम अप पार्सिंग है तो डब् से स्टार्ट सिंबल बनेगा बेसिकली डल और स्टार्ट सिंबल सेम है एक दूसरे के रिप्रेजेंटेटिव है अगर डब्लू के बाद में डॉलर आता है तो थोरेट्स सिंबल के बाद भी डॉलर है एक ही तो बात है ना आइर आई से डब् और स्टार्ट सिंबल तो ये क्यों मैं बहस कर रहा हूं नहीं मैं इसलिए बोल रहा हूं किसी भी चीज का फॉलो आप कैलकुलेट करोगे ग्रामर को देख के रूल के हिसाब से अ आपको समझाऊ कैसे बट स्टार्ट सिंबल जो होगा ग्रामर का उसके फॉलो में हमेशा डॉलर लिखोगे याद रखना स्टार्ट सिंबल के फॉलो में हमेशा डॉलर लिखोगे और अभी आपको समझाऊं किसी का भी फॉलो कभी एलन नहीं हो सकता बिकॉज एलन एक स्ट्रिंग है जिसका कोई लेंथ ही नहीं है तो उसको कोई फॉलो कैसे करेगा तो किसी का भी फॉलो अगर कोई नहीं है तो उसका फॉलो डॉलर है जैसे वो बोलता है ना जिसका कोई हे भगवान जैसे वो बोलते हैं ना जिसका कोई नहीं है उसका भगवान है या ज्यादा एक्साइटमेंट हो गया बट यहां मैं बोल रहा हूं जिसका कोई नहीं है उसका डॉलर है फॉलो में याद रखोगे जिसका कोई नहीं है उसका डॉलर है तो कैसे है डॉलर और क्या है कहानी चलिए शुरू करते हैं सर वैसे मैंने फर्स्ट के लिए फॉलो के लिए ना अलग केस बनाया है उसमें शायद मैंने फॉलो के हिसाब से ध्यान रखा होगा मैं आपको यहां प्रैक्टिस कराता हू डायरेक्ट ये देखो तो लुक एट दिस पहला प्रोडक्शन क्या लिखा है सर आपके सामने पहला प्रोडक्शन लिखा है s टेंड्स टू एलन है ना तो अब कोई प्रोडक्शन ही नहीं है फॉलो क्या बताऊ तो यहां पर फॉलो ऑफ s में डायरेक्ट आप डॉलर लिख दो बात खत्म कुछ नहीं समझ आया डॉलर दैट विल बी ऑल अभी धीरे-धीरे आप रिलेट करने लगोगे आगे बढ़ते हैं यह देखिए कितने नॉन टर्मिनल हैं सर दो नॉन टर्मिनल है फॉलो निकालना पड़ेगा s का और फॉलो निकालना पड़ेगा a का ठीक बात है अब जरा मुझे बताइए s का फॉलो कौन है s का फॉलो तो सर डॉलर होता ही है कोई डाउट नहीं है क्या ग्रामर के राइट हैंड साइड ऑफ़ द प्रोडक्शंस में कहीं पर a आया कहीं पर s आया है क्या इस स राइट हैंड साइड पे तो कहीं पे s नहीं आया सो दैट विल बी ओके खत्म हो गई बात फॉलो हम राइट हैंड साइड से देखते हैं अब जरा ध्यान से देखना क्या राइट हैंड साइड ऑफ प्रोडक्शन में कहीं पे a आया है हां ए आया है ये आया a पर फिर वही प्रॉब्लम देखो इसके बाद क्या लिखा हुआ है सर इसके बाद तो कुछ भी नहीं लिखा क्या करें कैसे फॉलो निकाले तो फिर वही आपसे बात बोलूं क्या s और स्ल ए कैपिटल ए दोनों एक ही बात है हां क्योंकि टॉप डाउन पार्सिंग में आप s को रिप्लेस करोगे स्मल ए कैपिटल ए से और बॉटम अप पार्सिंग में आप स्मल ए कैपिटल ए को रिप्लेस करोगे s से तो सर अगर s का फॉलो डॉलर है तो फिर स्मल ए और कटल ए का फॉलो भी डॉलर होगा हां तो लॉजिक क्या है लॉजिक है आपके बाद कुछ नहीं है ना अगर तो आप जाइए और पूछिए किस नॉन टर्मिनल ने आपको जन्म दिया एस ने जन्म दिया एस का फॉलो कौन है डॉलर है तो फिर आपका फॉलो भी कौन होगा डॉलर होगा धीरे-धीरे अभी एक बार सब कुछ मत रिलेट करिएगा दो चार पाच सिंपल पढ़ेंगे मामला सेट हो जाएगा ठीक है इस ए के बाद भी कुछ नहीं लिखा मुझे किसने जन्म दिया मुझे तो मैंने खुद नहीं जन्म दिया है है ना ए का फॉलो क्या कोई नई लर्निंग नहीं लेंगे दैट विल बी ऑल यानी के किसी भी सेंटेंशल फॉर्म में चाहे s मिले या ए मिले उसके बाद डॉलर ही मिल सकता है सर टर्मिनल नहीं मिलेगा कोई आपको अभी धीरे-धीरे समझेंगे ये देखो यहां अच्छे से रिलेट कर पाओगे कितने नॉन टर्मिनल है सर तीन नॉन टर्मिनल है कौन-कौन सा s है a है और b है और जैसे मैंने समझाया था ना दो-तीन केस सॉल्व करने के बाद कि आमतौर पे यह आसान होता है कि फर्स्ट फंक्शन बॉटम ऑफ फैशन में कैलकुलेट करें उसी तरह फॉलो के केस में आसान होता है कि टॉप डाउन कैलकुलेट करें कैसे कैलकुलेट करें टॉप डाउन चलो शुरू करो व्हाट इज़ फॉलो ऑफ एस सर फॉलो ऑफ एस इज डॉलर क्या कहीं राइट हैंड साइड ऑफ़ द प्रोडक्शन में अ करेंस है नहीं है थैंक यू सो मच टाटा बाय बाय खत्म हो गई बात नाउ व्हाट इज फॉलो ऑफ a सर यहां पे a आया है इधर a आया नोटिस करिए दोनों जगह a को कौन फॉलो कर रहा है स्मल ए फाइनली हमारी बोनी दुकान खुली कुछ तो मिला मिला इस बार वो डॉलर वाली बात याद रखेंगे नहीं क्योंकि एक्सट्रीम राइट में नहीं एक्सट्रीम राइट में होता तो मैं घूम के जाता सो आई थिंक दैट विल बी ऑल और सिमिलर लॉजिक पे बी दो बार आया बट दोनों बार इसको फॉलो कर रहा है स्मल बी तो ये लीजिए डॉलर स्मल ए स्मल बी तीनों हमने निकाल लिए ओ मजा आएगा क्या-क्या चीज है फॉलो ऑफ e मैं फिर बोल रहा हूं पॉज करो खुद से ट्राई करो खुद से ट्राई करोगे तो सच में समझेगा कि कितना आया कितना नहीं आया चलो शुरू करते हैं व्हाट इज फॉलो पहली बात क्योंकि ई स्टार्ट सिंबल है तो डॉलर मिलेगा अब देखो मजे की बात फाइनली स्टार्ट सिंबल भी राइट हैंड साइड पर आया है दो बार मेरे को अरेंस दिख रही है e की देर यू सी तो एक बार आएगा प्लस और एक बार आएगा क्लोजिंग ब्रैकेट दैट विल बी ल देखिए सब लोग रिलेट कर पा रहे हैं क्या हा तो यह तो डायरेक्ट प्लस आया या क्लोजिंग ब्रैकेट क्योंकि स्टार्ट सिंबल है तो डॉलर एस रेस्पेक्ट मैंने लिख दिया अब ध्यान से देखना व्हाट इज फॉल ऑफ कैपिटल टी इस टी के बाद कुछ नहीं है मुझे किसने जन्म दिया मुझे ई ने जन्म दिया तो फॉलो ऑफ ई इज सेम एज फॉलो टी इज सेम एज ई ई का फॉलो क्या है यह लिखा है सर पूरी संपत्ति कॉपी कर लो जो पिताजी का है वह हमारा भी है कॉपी कर लिया फिर आगे बढ़े इस टीज से भी कुछ देखने को नहीं मिलेगा इस टीज से जरूर नया सीखने को मिलेगा कुछ हमने खुद भी कमाया तो एक स्टार हमें मिल गया और कुछ लर्निंग है क्या नहीं दैट विल बी ऑल नाउ व्हाट इज फॉल ऑफ एफ अब देखिए एफ के पिताजी कौन है यह भी संपत्ति कॉपी करेगा यह ई का पोता है है ना टी का बच्चा है तो जो टी का फॉलो है वो सब भी यहां पर आएगा डॉलर प्लस क्लोजिंग ब्रैकेट एंड स्टार और भी कुछ है क्या फॉलो ऑफ फेल ऑफ एफ फॉलो ऑफ एफ और कहीं अ करेंस है नहीं दैट विल बी ऑल तो आई होप ये अच्छा केस था है ना इसमें दो तीन चार अलग-अलग तरह की वैरायटी मिल गई तो यह फॉलो हम निकाल रहे हैं और करेंगे क्या टेंशन है ये ट्राई करो फॉलो ऑफ s फॉलो ऑफ ए फॉलो ऑफ बी फॉलो फॉलो फॉलो फॉल ऑफ ए स्टार्ट सिंबल राइट हैंड साइड पर कोई अ करेंस नहीं है डॉलर फॉल ऑफ ए फॉल ऑफ ए एक की जगह अ करेंस है स्मल ब आ गया फॉल ऑफ कैपिटल बी ये तो आसान है इसमें तो कुछ मजा नहीं आया और कुछ पॉसिबिलिटी दिख रही है क्या नहीं यहां बता दो ये आसान है फॉल ऑफ s निकालो तो क्या होगा बोलो फॉल ऑफ ए इज डल और रो और वन क्योंकि इसका फॉलो रो है और इसका फॉलो वन है लाइक दिस वी कैन हैंडल है ना यहां पे देखोगे तो फॉलो ऑफ s एंड फॉलो ऑफ a एंड फॉलो ऑफ b सो व्हाट इज फॉलो ऑफ s फॉलो ऑफ s इज डॉलर एंड देर इज नो अरेंस ऑन द राइट हैंड साइड ऑफ़ द प्रोडक्शन कोई अरेंस नहीं है खत्म हो गई बात व्हाट इज फॉलो ऑफ a फॉलो ऑफ a इज स्मल एंडल b एंड फॉलो ऑफ बी इज अगेन स्मल एंड स्मल बी देयर यू सी है ना तो आई थिंक फर्स्ट एंड फॉलो दोनों बातें आपको समझ आई है अब आपको पढ़ा देता हूं फॉलो की डेफिनेशन क्या है देखिए फॉलो ऑफ ए इज अ सेट ऑफ ऑल टर्मिनल्स दैट मे फॉलो टू द राइट ऑफ ए इन एनी फॉर्म ऑफ द सेंटेंशल ग्रामर और इन एनी सेंटेंशल फॉर्म बात समझ आई राइट हैंड साइड पे हो सकता है इफ ए इज अ स्टार्ट सिंबल देन फॉलो ऑफ ए इज डॉलर ऑलरेडी बता चुका हूं स्टार्ट सिंबल के फॉलो में कुछ आए ना आए सर डॉलर तो पक्का आने वाला है ठीक है अब यह देखो यह ना केस थोड़े थोड़े डिफर भी हो सकते है फ्रॉम बुक टू बुक राइटर टू राइटर लोग अपनी सहूलियत के हिसाब से लिख लेता कॉमन सेंस है कोई रूल वूल नहीं है देखो ध्यान से अभी समझेगा आपको अगर प्रोडक्शन है कैपिटल ए अल्फा ए बीटा है ना और आपका जो फॉलो ऐसा कोई केस मिला नहीं हमें अभी समझ समझ जाओगे आप अब मान लीजिए हमें निकालना है ए का फॉलो लेकिन ए के बाद क्या है ए के बाद खुद एक नॉन टर्मिनल तो क्या करेंगे आपका जो फॉलो है वो b का फर्स्ट है क्योंकि b तो एक नॉन टर्मिनल है अगर मैं ऐसे लिखूं कोई प्रोडक्शन s टेंड्स टू ए a टेंड्स टूल a एंड b टेंड्स टूल b एज सिंपल एज ज अब बताओ a का फॉलो क्या है तो फॉलो ऑफ a इज एक्चुअली फर्स्ट ऑफ b तो यहां पर a के फॉलो में क्या आएगा सर a के फॉलो में आएगा b ओ सॉरी b हां ठीक है ना a के फॉलो में उल्टा लिख दिया मैंने a के फॉलो में b आएगा क्यों क्योंकि मेरे बाद जो है उससे क्या बन सकता है b बन सकता है तो वही कह रहा है अगर b से नल प्रोडक्शन नहीं है तो फॉल ऑफ a इज फर्स्ट ऑफ बी अच्छा अगर यह लास्ट में है इसके बाद कुछ नहीं व्हाट इज फॉल ऑफ a फॉल ऑफ ए फॉलो ऑफ s ये ऊपर वाला प्रोडक्शन विद एलन अगर b नल हो सकता है तो फॉलो ऑफ a इज फर्स्ट ऑफ b पहले तो ये आएगा और क्योंकि एलन है तो ये घूम के अपने पिताजी के पास भी पहुंचेगा तो फॉलो ऑफ फर्स्ट ऑफ b आएगा एंड देन फॉलो ऑफ s भी आएगा दोनों का यूनिन एलन माइनस कर देना क्यों क्या समझाया किसी के फॉलो में कभी भी भी सर एलन नहीं आ सकता एलन आप सगुनी है जिसका कोई नहीं है उसका डॉलर है याद रखना फॉलो में जिसका कोई नहीं है उसका डॉलर है सो आई थिंक दैट इज ऑल विद फर्स्ट एंड फॉलो एंड नाउ आई थिंक वी आर रेडी फॉर एलएल व पार्सर तो एलएल व पार्सर कैसे काम करेगा गेम स्टार्ट होगा टेबल से पहले पूरी पार्सिंग करके आपको दिखाता हूं फिर टेबल के कंपोनेंट एक-एक करके अपन स्टडी कर लेते हैं तो देखिए पैटर्न समझिए एक बार दोबारा से क्लियर कर रहा हूं करने क्या जा रहे हैं हम एलएल व के लिए पार्सिंग टेबल बनाना सीख एल एलव पार्सर के लिए हालांकि जैसा आप देख रहे हैं पूरे कंसेप्ट में जो मैं कर रहा हूं यहां भी वही करूंगा एल एलव क्या है कैसे काम कर रहा है सर मैंने कुछ नहीं बताया वो बताऊंगा मगर फिर वही बात है फार्मूला बाजी में घुसूक फ्यूजन होगा तो पहले टेबल बनाना सीख लेते हैं इन जनरल व्य और एग्जाम पॉइंट ऑफ व्यू से भी ये बहुत इंपॉर्टेंट है देन मैं इसकी थ्योरी आपको समझाता हूं पैटर्न देखिए क्या है ये एक स्ट्रिंग है ताकि आपको बाद में डिराइवर भी करके दिखाऊं फिलहाल इसे भी भूल जाओ है ना ये एक ग्रामर हमारे पास है जिसके लिए हमें एलएल व पार्सल बनाना है तीन खूबियां आपको पहले बताई थी लेफ्ट रिकर्स नहीं होना चाहिए है ना जो चिड है है ना टॉप डाउन पार्सर की एलएल वन की लेफ्ट रिकर्स नहीं होना चाहिए एमगी नहीं होनी चाहिए और लेफ्ट फैक्टर्ड होना चाहिए माने डिटरमिनिस्टिक होना चाहिए ये तीनों खूबियां इसके अंदर आप चाहे तो चेक कर सकते हो रही बात फर्स्ट एंड फॉलो की वो मैंने आपको निकालना सिखा दिया वो काम आएगा अब एलएल व के टेबल का स्ट्रक्चर देखिए जितने भी नॉन टर्मिनल हैं उन सबको एक सेपरेट रो मिली हुई है तो कोई किसी की रो में एंटर नहीं कर रहा तो कितने नॉन टर्मिनल सर कैपिटल e है e ड है t है t ड है f है एवरीबॉडी उन सब को कॉलम मिला हुआ है अलोंग विद अ स्पेशल सिंबल डॉलर अब डॉलर क्योंकि हमारा एंड मार्कर है क्योंकि हमको बताता है कि फाइनली स्ट्रिंग कहां कंप्लीट होगी उसको एक स्पेशल कॉलम में एंट्री मिलती है है ना तो स्ट्रक्चर याद रखिएगा पासिंग टेबल का एवरी टर्मिनल विल हैव अ एंट्री इन द कॉलम एंड नॉन टर्मिनल विल हैव अ एंट्री इन द रो गेम स्टार्ट करता हूं अब भरना कैसे नोटिस करिए तो दो तरह के प्रोडक्शन से वैसे प्रोडक्शन तो एक ही तरह का है बट फिलहाल दो तरह से मान लेते हैं फिलहाल टर्मिनल एलन वाले की बात नहीं करूंगा क्योंकि मैंने आपको याद दिलाया था वहां फॉलो चाहिए होता है कैसे चाहिए होता है देखेंगे उसको छोड़ दो अभी फिलहाल ध्यान दो सिर्फ और सिर्फ किस पे जो एलन वाले नहीं है ठीक है मैं शुरू करता हूं अब ध्यान से देखना ये कहां जाएगा तो सर e टेंड्स टू ड यह तो पक्का पता है कि e वाले रो में जाएगा लेकिन बेसिकली कहां जाएगा यह जाएगा इसके फर्स्ट में और फिलहाल इस प्रोडक्शन का जो राइट हैंड साइड का जो फर्स्ट है वो t का फर्स्ट है अब मैं अलग-अलग नहीं निकाल रहा प्रैक्टिस है हम यहीं पे कैलकुलेट कर लेंगे बताओ t का क्या फर्स्ट है तो फर्स्ट ऑफ t इज एक्चुअली फर्स्ट ऑफ f इधर आ जाओ एंड फर्स्ट ऑफ f इज वैसे मुझे लगता है कि अपने चक्कर में मैं आप लोग को कंफ्यूज कर दूंगा तो लिख लेते हैं भाई है ना क्योंकि बार-बार बार-बार जरूरत पड़ेगी तो फर्स्ट ऑफ e फर्स्ट ऑफ t एंड बल्कि फर्स्ट ऑफ e फर्स्ट ऑफ e ड एंड फर्स्ट ऑफ t एंड फर्स्ट ऑफ t ड और भी कोई है क्या एंड फर्स्ट ऑफ f तो सबके लिख लो सही बात है ताकि बाद में पंगा ना हो और सिमिलरली फॉलो भी बना लेता हूं फॉलो ऑफ अगेन सारे नॉन टर्मिनल फॉलो ऑफ e एंड फॉलो ऑफ e ड एंड फॉलो ऑफ t एंड फॉलो ऑफ t ' एंड फॉलो ऑफ f ठीक बात है ये लीजिए सर सबके फॉलो भी हमने बना लिए ठीक आगे बढ़ता हूं भ भरवा तो दो पहले तो फर्स्ट कैलकुलेट होता है बॉटम अप फैशन में हालांकि इसके लिए भी शायद हमने कैलकुलेट किया था यही दोबारा कर लेते हैं ओपन ब्रैकेट एंड आईडी आ गया f में अ फर्स्ट ऑफ t ड में आएगा क्या आएगा बोलो t ड में आएगा स्टार और एलन किसी पे कोई डिपेंडेंसी नहीं फर्स्ट ऑफ t में आएगा फर्स्ट ऑफ f फर्स्ट ऑफ एफ इज अगेन यू सी ओपन ब्रैकेट एंड आईडी कोई कंफ्यूजन नहीं फर्स्ट ऑफ एड अ फर्स्ट ऑफ सॉरी e ड फर्स्ट ऑफ e ड इज अगेन प्लस एंड एन यह आ गया डायरेक्ट एंड फर्स्ट ऑफ e इज फर्स्ट ऑफ t एंड ये फर्स्ट ऑफ टीटीटीटीटी फर्स्ट ऑफ t इज ओपन ब्रैकेट एंड आईडी तो आगे जाने की जरूरत ही नहीं है यह लीजिए सर दोबारा से कैलकुलेट कर लिए यस लगया तो फॉलो भी कराओ फॉलो टॉप डाउन फैशन में पहले ई ई है तो डॉलर तो आएगा सर स्टार्ट सिंबल है और देखिए राइट हैंड साइड पे कहीं ई का अ करेंस है क्या मेरे को कहीं नजर नहीं आ रहा सिवाय यहां के तो फॉलो में आ जाएगा क्लोजिंग ब्रैकेट फर्स्ट ऑफ e ड अ मेरे बाद कोई नहीं है तो मेरे पिताजी कौन है e है तो फॉलो ऑफ e ड इज फॉलो ऑफ e तो यहां पे डॉलर और क्लोजिंग ब्रैकेट कॉपी कर लेता हूं और कहीं ड यह तो दोबारा अपने को ही फॉलो कर रहा है और कहीं e ' e ' e ' e ' जी नहीं और कहीं ड नहीं दैट विल बी ऑल फर्स्ट ऑफ t फॉलो ऑफ़ t आई एम सॉरी फॉलो ऑफ़ t ना फॉलो ऑफ़ t अब यहां देखिएगा मजा आएगा फॉलो ऑफ t इज ए फॉलो ऑफ t इज़ फर्स्ट ऑफ़ e ' ध्यान से देखना फॉलो ऑफ t इज़ फर्स्ट ऑफ़ e ड व्हाट इज़ फर्स्ट ऑफ़ e ' फर्स्ट ऑफ़ e ' इज प्लस यह लीजिए लेकिन यह ' क्या भी हो सकता है एलन अगर ये e ' एन हुआ देन फॉलो ऑफ t इज आल्सो फॉलो ऑफ e तो फॉलो ऑफ e भी आ जाएगा तो ये लीजिए डॉलर और क्लोजिंग ब्रैकेट भी साथ मिलेगा क्या बात है मजा आ गया सिर्फ इस t से इतना कमाल हुआ है इससे और कुछ नहीं मिलने वाला और कहीं पे t नहीं है दैट विल बी ऑल आगे बढ़ी t ड फिर ये इसका पिताजी कौन है t है फॉलो ऑफ़ t ड इज फॉलो ऑफ t तो t का जो फॉलो है सर कॉपी कर लीजिए प्लस डॉलर और क्लोजिंग ब्रैकेट और कोई नई एंट्री मिल सकती है क्या t ड से t ड t ड t ड t ड और कोई न एंट्री नहीं मिल रही कहानी खत्म व्हाट इज फॉलो ऑफ f f ए f ए ए ए एफ ए ए फॉलो ऑफ f इज अगेन फर्स्ट ऑफ t ड अब t ड के फर्स्ट में स्टार आ गया ये लो एक नई एंट्री मिल गई स्टार आ गया और क्या हो सकता है सर यह t ड एलन भी हो सकता है एलन हुआ तो फॉलो ऑफ f इज नथिंग बट फॉलो ऑफ t t यानी के पूरा कॉपी कर लो तो ये स्टार प्लस क्लोजिंग ब्रैकेट अच्छा ही गया कैलकुलेट कर लिया रन टाइम पर प्रॉब्लम नहीं होगी अब भरना शुरू करता हूं है ना और आपका एक और रिवीजन हुआ होगा आई होप किस चीज का फर्स्ट एंड फॉलो निकालने का तो बोलो ये प्रोडक्शन कहां जाएगा अब देखो बताओ टी का फर्स्ट क्या है टी का फर्स्ट है दो सर ओपन ब्रैकेट एंड आईडी तो ओपन ब्रैकेट और आईडी में प्रोडक्शन जाके लिख दो तो e टेंड्स टूटी ड और आईडी e टेंड्स टूटी ड आमतौर पर टेबल भरना सीख लिया तो मानो आपका सेमेस्टर एग्जाम प्रिपरेशन हो गई खत्म हो गई बात इधर आओ यह प्रोडक्शन का फर्स्ट अभी तो सामने लिखा है फर्स्ट प प्लस है तो इसको और कहीं देखने की जरूरत ही नहीं है सो e ड किधर फिल होगा ड टेंस टू प्स ड फर्स्ट कॉलम में आ जाएगा ये आ गया सर और कहीं मत देखो ये देखो अभी नल वाला कह रहा हूं छोड़ दो बाद में देखेंगे उसको t2 f t ड अब ये व्हाट इज फर्स्ट ऑफ एफ एफ का फर्स्ट क्या है क्लोजिंग ओपन ब्रैकेट एंड आईडी अगेन तो ये ओपन ब्रैकेट और आईडी में ये भी जाएगा तो t टेंड्स टू एटी ड एंड t टेंड्स टू एटी ड ये आ गया आगे बढ़ो ये देखो इधर इसका फर्स्ट क्या स्टार है आपके सामने लिखा हुआ है तो कोई टेंशन नहीं है तो कैसे लिखो t ड टेंड्स टू स्टार एटी ड t ड टेंड्स टू स्टार एटी ड सामने से भर दिया कोई दिक्कत नहीं अब ये दो अलग-अलग प्रोडक्शन है ब दोनों का फर्स्ट सामने ही लिखा हुआ है कैलकुलेट करने की भी जरूरत नहीं दिस इज ओपन ब्रैकेट एंड दिस इज आईडी तो ये ओपन ब्रैकेट वाला इधर आ जाएगा f टेंड्स टू ओपन ब्रैकेट ओपन ब्रैकेट e ड इधर आ गया एंड आईडी है सो f टेंड्स टू आईडी नोटिस करिए इधर आ गया एंड दैट विल बी ऑल सिर्फ स्ट्रक्चर अपन ने समझ लिया रो का क्या स्ट्रक्चर है कॉलम का क्या स्ट्रक्चर है और फर्स्ट के हिसाब से हमने एंट्री कर ली अब बात आई फॉलो की तो यहां देखो यह जो नल प्रोडक्शन है ना आपने सीखा था अगर कोई नॉन टर्मिनल नल हो जाए तो उसका फर्स देखते कि फॉलो देखते फॉलो देखते हैं सर वो लोग तो जिम्मेदारी लेंगे तो इनकी एंट्री फॉलो में होगी तो बताओ ड का फॉलो क्या है सर ड का फॉलो डॉलर और क्लोजिंग ब्रैकेट तो यह एंट्री होगी फॉलो में ड का तो ड में ड टेंड्स टू डॉलर एंड क्लोजिंग ब्रैकेट ड टेंड्स टू डॉन क्लोजिंग ब्रैकेट तो ड टेंड्स टू एन e ड टेंस टू एन ये एंट्री हो गई क्लोजिंग ब्रैकेट और डॉलर में और कहीं भी नल प्रोडक्शन था हां जी एक और है t का फॉलो बताओ क्या t ड का इस बार प्लस भी है प्लस डॉलर इंड क्लोजिंग ब्रैकेट तो देर यू सी t ड टेंड्स टू एन प्लस डॉलर इंड क्लोजिंग ब्रैकेट t ड टेंड्स टू एन एंड t ड टेंड्स टू ए ये देखिए सर स्वस्थ सुंदर तरीके से यह पूरा हमने बना के कंप्लीट कर दिया और ये हमारी टेबल हो गई कंप्लीट यह है एलएल व की पासिंग टेबल हां क्या टेबल बनाते हुए किसी भी सेल में मल्टीपल एंट्री आई नहीं आई इसका मतलब यह ग्रामर एल एलव ग्रामर है लास्ट में भी गड़बड़ हो सकती थी तीन कंडीशन जो हमने चेक करी उसके बाद भी गड़बड़ हो सकती थी बट नहीं हुई तो ये ग्रामर एल ग्रामर है पॉइंट नंबर वन पॉइंट नंबर टू जिसम अब आपको नोटिस करना है यह सारा बनाने के बाद भी बहुत सारे सेल खाली हैं इनका क्या मतलब है सर इन सेल्स की कभी जरूरत नहीं पड़ेगी तो जितने भी एमटी सेल आप चाहो तो लिख लो अदर वाइज एवरी एमटी सेल रिप्रेजेंट्स एरर अगर कभी भी इनको रेफर करने की जरूरत पड़ गई है ना तो इसका मतलब देर समथिंग रंग विद द स्ट्रिंग अब ये हमारा टेबल बन के तैयार हो गया फर्स्ट एंड फॉलो लिखा हुआ है अब आपकी परमिशन से मैं क्या करता हूं सर मैं ये फर्स्ट एंड फॉलो हटा देता हूं यस टेबल काम आएगी उसका भी इस्तेमाल करेंगे और क्या इस्तेमाल करेंगे अब टेबल तो हमने बना ली जब तक मैं आपको पार्सिंग करके नहीं दिखाऊंगा स्टेप बाय स्टेप तब तक मुझे मजा नहीं आएगा है ना अभी तक आज तक हमने जितनी भी बार पार्सिंग की है अपना दिमाग लगाना पड़ा ना बार-बार देखना पड़ा सर कौन सा प्रोडक्शन ले आगे चले किधर चले अब इतना ज्यादा समय हो गया काम करते करते मजा क्या आया अब आपको सिखाता हूं पार्सिंग होती कैसे जगह थोड़ी कम है सम हाउ आई विल ट्राई टू मैनेज देखिए ये हमारी टेप है है ना ये स्ट्रिंग हमें बनानी है दिखाता हूं आपको एलएल व के मजे टॉप डाउन के मजे बताओ स्टार्ट सिंबल क्या है सर स्टार्ट सिंबल है e यहां से ट्री बनाना चालू करता हूं थोड़ा ओवरलैप होगा बट लेट इट बी ठीक है अब देखो हमारे पास है e और हमें बनाना है आईडी हमें सब कुछ नहीं नजर आ रहा हमें लुक अहेड सिंबल एक बार में हमें आईडी नजर आ रहा है बताओ ई से आईडी कैसे बनेगा प्रोडक्शन मत देखो टेबल देखो अब ये टेबल बताएगा e से आईडी कैसे बनेगा सर e से आईडी बनाना है तो e टेंड्स टू ड बनाइए यह लीजिए e टेंड्स टू ड अब क्योंकि लेफ्ट मोस्ट डेरिवेशन कर रहे हैं तो इस सेंटेंशल फॉर्म में हमेशा पहले किसको एक्सपेंड करेंगे टी को प्रॉब्लम क्या प्रॉब्लम तो भी से मैं आईडी बना का तो अब क्या करना है टी से आईडी बनाना है कैसे बनाना है टेबल से पूछिए टी से आईडी कैसे बनाना है टी से कोई एंट्री पूरी नहीं करी क्या हां पूरी नहीं करी अरे एक रो साफ कैसे हो गई टी वाली एंट्री ओ माय गॉड मैं कुछ और डिलीट कर रहा था लगता है ये डिलीट हो गया कोई बात नहीं अब तो फर्स्ट भी च फर्स्ट भी चला गया दोबारा से भरता हूं हे भगवान ये क्या हुआ कोई बात नहीं क्या था ये ये प्रोडक्शन था f व्हाट इज फर्स्ट ऑफ एफ ओपन ब्रैकेट आईडी तो t से ओपन ब्रैकेट में ये प्रोडक्शन डिलीट हो गए हमारे इधर भी और आईडी पे भी t टेंड्स टू एटी ड ऐसा रहा होगा ठीक बात है ना चलो अब मिल गया अब बताओ t से आईडी एकदम मैं मूड में हूं एंट्री गायब हो गई t से आईडी बनाना है t से आईडी यह बनता है सर तो इसका मतलब एटी ड बनाओ तो t से बनाओ एटी ड अभी भी नहीं बन रहा कोई बात नहीं लेफ्ट मोस्ट डेरिवेशन एफ से आईडी कैसे मिलता है एफ से आईडी मिल जाता है डायरेक्ट फाइनली हमें एफ से आईडी मिला आईडी टू आईडी देर इज अ मैच अब बताओ अगला टारगेट क्या है सर अब हमें बनाना है प्लस प्लस प्लस प्लस और लेफ्ट मोस्ट डेरिवेशन के हिसाब से अब हमारे पास है ड t ड से प्लस कैसे बनता है पूछना है ड से प्लस कैसे बनता है ड कह रहा है मैं तो एन हो रहा हूं मेरी जिम्मेदारी नहीं है हो गया फरार अब देखो क्या करना पड़ेगा इसके आगे देखना पड़ेगा अब भी हमारे पास e ' बचा है e ' कुछ कर सकता है ' से पूछो भैया प्लस कैसे बनाते हैं ' से प्लस बनाना है कह रहा है मैं बनवा आता हूं काई टेंशन ले रहे हो तो देर यू सी ' से कह रहा है प्लस मिलेगा t मिलेगा और फिर से e ' मिलेगा तो यह लो दूसरा प्लस भी हमने बना दिया देन अब क्या है हमारे पास t है और आईडी है t से आईडी कैसे बनता है t से आईडी बनाना हमें पता है तो t से हम बनाते हैं f t ड ए से आईडी कैसे बनता है अगेन एफ से आईडी हमें पता है एसी आईडी डायरेक्ट प्रोडक्शन है तो ये लीजिए आईडी से आईडी भी मैच हो गया अब क्या चाहिए स्टार ड से स्टार बन सकता है क्या ड से स्टार हां सर बन सकता है तो देर यू सी स्टार f t ड स्टार से स्टार मैच हुआ अब हमारे पास क्या है f एफ से क्या बनाना है एफ से बनाना है आईडी f से आईडी तो डायरेक्ट बनता है सर एफ से आईडी हमने डायरेक्ट बना दिया आईडी से आईडी मैच हो गया अभी खुश मत होना कंप्लीट होने दो ट्री तो अब ट्री तो वैसे हमने बना लिया सारी स्ट्रिंग पार्स हो गई बट अभी डॉलर है t ड से डॉलर कैसे बनता है ड से डॉलर बनाना है तो उसे ए सालन करो अब जरूरत नहीं है टिंग टिंग टिंग टिंग आगे बढ़ो ईड से डॉलर कैसे बनता है ईड से डॉलर बनाना उसे ए सालन करो काहानी खत्म पैसा आजम पूरा ट्री बना के दिखाया इस टेबल के साथ ये है टॉप डाउन पार्सिंग और ऐसे पार्सर का करता है ऐसा एल्गोरिथम काम करता है बात समझ आती है अब बची हुई प्रोसेस यह जो अभी मैंने आपको उधर डायरेक्ट करके दिखाई इसको अगर स्टैक फॉर्म में स्टेप बाय स्टेप करें तो क्या करें स्टेप नंबर वन में हमने क्या किया हमने e का प्रोडक्शन यूज़ कि किया और उसे रिप्लेस किया ' से बस उसको यहां रिटन फॉर्म में दिखा र है e को रिप्लेस किया ' से अब यहां क्योंकि स्टैक है तो उल्टा लिखते हैं है ना प्रोडक्शन है ' e ' अंदर लिखेंगे रिवर्स ऑफ़ राइट हैंड साइड ऑफ प्रोडक्शन पुश करते है t ऊपर लिखेंगे अगले स्टेप में क्या होगा अगले स्टेप में सर t को रिप्लेस किया होगा f ' से फिर वही बात ये देखिए अगले स्टेप में t को रिप्लेस किया f से फिर उल्टा करके लिखा तो ऐसा उल्टा उल्टा करते जाएंगे और जब भी आईडी मिलेगा आईडी से आईडी मैच करेंगे दैट इज़ हाउ यू कैन राइट इट और मुझे लिखता नहीं है इसको पूरा प्रोसेस को ऐसे लिखने की जरूरत है बट आप चाहो तो ऐसा लिख सकते हो तो मैंने ये एग्जांपल भी यहां पे लिख लिया अब थ्योरी वाले पॉइंट पे चलूं ll1 का क्या मतलब है तो ll1 के अच्छा ये शायद वाइट कलर है एलएल वन के तीन आईडिया है पहले एल का मतलब है लेफ्ट टू राइट स्कैन तो नोटिस करो जो स्ट्रिंग हमने पढ़ा वो कैसे पढ़ा सर वो हमने लेफ्ट टू राइट पढ़ा क्यों पढ़ा अबे इंग्लिश हिंदी देवनागरी रोमन ज्यादातर स्क्रिप्ट लेफ्ट टू राइट चलती है हालांकि जैसे अरेबिक स्क्रिप्ट है उर्दू है फारसी है वो राइट टू लेफ्ट चलती है या जापानीज है वो टॉप टू डाउन चलती है बट क्योंकि डिफॉल्ट रोमन और देवनागरी ऐसे चल रही है तो हम लेफ्ट टू राइट पार्सल्स बना रहे हैं अग अगले एल का क्या मतलब है लेफ्ट मोस्ट डेरिवेशन ऑलरेडी हम समझ चुके एक बार में जो एक्सट्रीम लेफ्ट मोस्ट नॉन टर्मिनल होता है उसी को एक्सपेंड करते हैं सर ये भी अंडरस्टैंडेबल है नेक्स्ट क्या है वन वो हमें पता है लुक अहेड सिंबल वन एक बार में कितने यू नो सिंबल्स हम देखते हैं टेप पे एक बार में एक ही सिंबल देखते हैं वो भी समझ आता है टू प्रिडिक्ट द रिक्वायर्ड प्रोडक्शन टू एक्सटेंड द पार्शियल एंड पार्सर डिपेंड्स ऑन द करेक्ट प्रोसेसिंग सिंबल दिस इज कॉल्ड लुक अहेड सिंबल वो हमें पता है अब वैसे तो हमने बना लिया बट ध्यान से देखिए पार्सर के तीन कंपोनेंट हैं एक है टेबल जो मैंने आपको शानदार तरीके से बनाना सिखा दिया हर रो में नॉन टर्मिनल है हर कॉलम में टर्मिनल डॉलर एडिशनल है टेप आपके पास है और स्टैक जो मैंने आपको बताया जो टेप वाली जो ट्री वाला प्रोडक्शन है उसको आप स्टैक में रख के उसको होल्ड कर सकते हो और एलएल व का पार्सिंग एल्गोरिथम एल्गोरिथम हमने यूज कर लिया है अभी आपको सिखा देता हूं यस तो पहले य इनपुट बफर की बात कर रहा है टेप है सिंबल्स में डिवाइडेड है लास्ट में डॉलर आएगा बेसिक बेसिक एक बात पास टेक में जब भी अल्फाट मान लीजिए ए बी स कोई प्रोडक्शन हमें मिलता है टेबल हमें बताता है तो रिवर्स ऑफ़ राइट हैंड साइड ऑफ द प्रोडक्शन सीबी पुश करते हैं मैच करते रहते हैं आगे बढ़ते हैं यस यही बात है अ पार्स टेबल टेबल का स्ट्रक्चर तो पूरा आपको सिखा चुका हूं नाउ अ प्रोसीजर टू कंस्ट्रक्ट कैसे कंस्ट्रक्ट करते हैं ये भी मैंने आपको बता दिया कि अ फॉर एग्जांपल अगर प्रोडक्शन है a टेंड्स टू अल्फा तो टेबल में a वाले कॉलम में जाते हैं a वाले रो में जाते हैं अल्फा वाले कॉलम में जाता और वहां पे वो प्रोडक्शन फर्स्ट के हिसाब से लिख देते हैं एलन की एंट्री फॉलो में करते हैं जो पहले कर चुके हैं वो लिखा हुआ है तोब कॉन्फिडेंस मुझे कोई दिक्कत नहीं है पार्सिंग प्रोसेस अब ये देखिए अ सबसे पहले आप स्टार्ट सिंबल को पुश करते हैं यहां देखिए डिटेल में अगर ऐसे समझो टॉप मोस्ट सिंबल ऑफ द स्टैक और टेप का सिंबल दोनों डॉलर है इसका मतलब तो पार्सिंग सक्सेसफुल हो गई बात खत्म हो गई अगर यह दोनों सिंबल आपस में सेम है ब पर डॉलर नहीं है जैसे मान लीजिए कभी-कभी हुआ इधर आईडिया इधर आईडिया इसका मतलब क्या है मैच है जब मैच होता है तो क्या करते हैं इसको पॉप करते हैं स्टैक्स से और पॉइंटर को इंक्रीमेंट कर देते हैं आगे बढ़ते ये भी हमने देख लिया अगर ये आपस में सेम नहीं है मान लीजिए यहां लिखा है आईडी और यहां पे लिखा है e जो हुआ हमारे केस में तो उस केस में क्या करते हैं देखिए वही बोल रहा है ये कह रहा है मान लो यहां पे लिखा है x और इसको ये a मान रहे हैं यहां लिखा है तो क्या करते हैं सर हम टेबल के पास जाते हैं हम a वाले x वाले रो में a वाले कॉलम पर देखते क्या प्रोडक्शन लिखा हुआ है वही तो करते हैं और वहां अगर प्रोडक्शन लिखा है ए बी सी तो क्या पुश करते हैं रिवर्स ऑर्डर में यानी के सीबी पुश करते और कहानी आगे बढ़ती है बेसिकली यह जो एल्गोरिथम है यह वही पार्सिंग आइडिया है जो अभी मैं आपको करके दिखा चुका हूं दिस थिंग एंड दिस थिंग सेम आईडिया यस फिर आगे बढ़ एलएल व ग्रामर की क्या परिभाषा है आप उसके लिए पहले बात तो तीन प्रॉब्लम तो हटा ही दो स्टार्टिंग वाली लेफ्ट रिकर्स नहीं होना चाहिए एमगी नहीं होनी चाहिए और डिटरमिनिस्टिक होना चाहिए लेफ्ट फैक्टर्ड होना चाहिए उसके बाद हम टेबल बनाएंगे अगर टेबल के किसी भी सेल में मल्टीपल एंट्री नहीं आती है तो ग्रामर एलएल व है वरना नहीं है बस इतनी सी बात है और अगर कहीं भी मल्टीपल एंट्री एंट्री आई मल्टीपल एंट्री तो ग्रामर एलएल व नहीं है यही बात हो गई एंड ये मैं आपको ऑलरेडी बता चुका हूं एंड दैट इज ऑल विद अ टॉप डाउन पार्सिंग तो ये पार्सिंग का एक कंपोनेंट हमने कंप्लीट कर लिया जो कि आसान है अब बस है बॉटम अप जिसके दो कंपोनेंट है तो पहले एलआर पार्सल्स चारों टाइप की बात करूंगा बहुत डिटेल में पूरी बात समझा दूंगा आपको सो दैट अगर कहीं कॉम्पिटेटिव एग्जाम की भी आप तैयारी कर रहे हो तो दिस पोर्शन इज वेरी वेरी इंपॉर्टेंट एंड देन लास्ट में ये बेबी पार्सर है ऑपरेटर प्रेसिडेंस पार्सर ऑपरेटर प्रेसिडेंस ग्रामर इसकी क्या कहानी है फिर इस पे बात करेंगे अभी बात करते हैं बॉटम ऑफ पार्सर की और जैसे मैंने बोला ऑपरेटर प्रेसिडेंस इज नॉट दैट इंपॉर्टेंट रिलेटिवली तो सीधे हम बात चालू करेंगे जो हमारा एलरिया मेन स्ट्रीम बॉटम ऑफ पार्सर से उनके बारे में तो बॉटम ऑफ पार्सर होता क्या है एक बेसिक अंडरस्टैंडिंग तो हमने पहले से बात कर ली कि भाई स्टार्ट सिंबल है और हमारे पास स्ट्रिंग है स्टार्ट सिंबल से स्ट्रिंग की तरफ चलते हैं तो दैट इज नोन एज टॉप डाउन पार्सर और हम स्ट्रिंग से स्टार्ट सिंबल की तरफ जा रहे हैं तो दैट इज नोन एज बॉटम अप पासर और वही यहां पर लिखा हुआ है देखिए क्या लिखता हूं द प्रोसेस ऑफ कंस्ट्रक्टिंग द पास ट्री इन अ बॉटम अप मैनर दैट इज स्टार्टिंग फ्रॉम द चिल्ड्रन एंड प्रोसीडिंग टुवर्ड्स द रूट तो चिल्ड्रन से स्टार्ट करके रूट की तरफ जाना इज नोन बॉटम अप पार्सिंग फॉर अ सिंपल एग्जांपल यहां देखिए एक स्ट्रिंग मैं ले रहा हूं एज अ सिंपल स्ट्रिंग और क्या स्ट्रिंग है मेरे पास आई हैव a एंड देन b c d c अभी एग्जैक्ट पैटर्न यहां पर क्या फॉलो करेंगे दैट विल अंडरस्टैंड विद टाइम बट अगर आप नीचे से ऊपर की तरफ चलना शुरू करोगे तो मेरे ख्याल से पहली चीज जो यहां पर कन्वर्ट की जा सकती है अब देखिए हमारे पास कैसे जनरेट करेंगे तो एक बात तो तय है कि a ब अल a कपिल a कैपिटल ब कैपिटल c आपको चाहिए है ना और हमारे पास यह पैटर्न है तो हमको एक तो b बनाना है लास्ट में तो b जो है वो ओबवियसली हम किससे बनाएंगे d से तो ये जो b है ये जो d है इसको हम कन्वर्ट कर सकते हैं b में और ये जो b स है लुक एट दिस ये कन्वर्ट हो सकता है a में और अब जैसे ही हमारे पास स्मल ए कैपिटल ए कैपिटल बी और स्ल सी आता है नाउ यू कैन सी वी कैन हैव अ स्टार्ट सिंबल यूजिंग व्हिच यूजिंग वच हम इसको कन्वर्ट कर सकते हैं फॉलो कर पा रहे हैं तो बेसिकली अभी आपको एकदम नहीं समझेगा हाउ डिड वी चूज दीज प्रोडक्शंस ऐसे कैसे हम नीचे से ऊपर की तरफ चले गए किस समय कौन सा प्रोडक्शन उल्टा चलेगा मतलब कब मुझे पता लगा कि d को कैपिटल b में या कैपिटल b स को a में कन्वर्ट करना वो पूरी कहानी हम समझेंगे बट दिस इज द आइडिया ऑफ़ बॉटम अप पार्सिंग यस थोड़ा सा हिस्टोरिकल बैकग्राउंड जानना जरूरी है जिन्होंने इतनी मेहनत की है तो जो बॉटम अप पार्सर है या जिसको हम एलआर पार्सर बोलते हैं दे आर अ इ अ इनवेंटेड बाय डोनाल्ड कुत इन 1965 है ना इट इज एन एफिशिएंट जनरलाइजेशन ऑफ प्रेसिडेंस पार्सल्स कुं प्रूव्ड दैट अलर पार्सर मोस्ट जनरल परपर पार्सर पॉसिबल तो दो तीन बातें हम बाद में करेंगे बट इन जनरल क्या बॉटम अप पार्सर की जो पावर है क्या वो टॉप डाउन पार्सर से ज्यादा होती है जी हां द पावर ऑफ बॉटम अप पार्सर इज मोर और हमारे जितने भी जनरल पर्पस प्रोग्रामिंग लैंग्वेज है ना सी है जावा है पाइथन है कोई भी है एवरीबॉडी जो एन साहब ने इन्वेंट किया था तो ये पूरा हिस्टोरिकल बैकग्राउंड आप देख सकते हैं कुछ लोग इनको फादर ऑफ एनालिसिस ऑफ एल्गोरिदम और फादर ऑफ एल्गोरिथम भी बोलते हैं तो आप समझ सकते हैं कि इनका कंट्रीब्यूशन इन केस ऑफ एल्गोरिथम कितना इंपॉर्टेंट रहा होगा अब करेंगे क्या मैं आपसे कोई थोरेट्स इन कंपाइलर जैसा मैं आपसे बोलते ना इट इज डैम टफ तो अप्रोच क्या होने वाला है एक पूरा हम पार्सर बना डालने वाले हैं सर पूरी पार्सिंग प्रोसेस आपको करके दिखा दूंगा एंड देन आई विल एक्सप्लेन ईच एंड एवरी पॉइंट कि क्या हो रहा है कैसे हो रहा है यस तो अभी ये देखेंगे क्या कर रहे हैं क्यों कर रहे हैं ये नहीं देखने वाले मेरे साथ पेशेंस से चलिए इसको बिल्कुल स्किप मत करिएगा पार्ट बहुत इंपॉर्टेंट है यस सो देर यू सी आई हैव अ ग्रामर व्हिच इज कैपिटल a2 स्ल एपि a ऑ b तो गेम शुरू कहां से होता है व्हाट यू आर गोइंग टू डू इज आप एक स्पेशल प्रोडक्शन लेंगे नोन एज a ड अभी क्यों लेंगे अगेन आई विल डिस्कस दैट इन लेटर a ड और यहां से आप लिखेंगे डॉट कैपिटल ए डॉट एक ऑपरेटर है जो अभी समय के साथ हमारे साथ चलेगा टॉप डाउन पार्सिंग में और यह समय टू समय में बताता रहता है कि कहां तक हमने काम कर लिया और कहां तक नहीं किया तो अभी क्योंकि काम स्टार्ट नहीं हुआ जस्ट डॉट पे डॉट हमने एक्सट्रीम लेफ्ट में रखा है ऑन द राइट हैंड साइड ऑफ द प्रोडक्शन अब डॉट के बाद जब भी कैपिटल सिंबल होगा आप क्या करेंगे उस कैपिटल सिंबल से स्टार्ट होने वाले सारे प्रोडक्शंस ऐड करेंगे तो यहां पे डॉट के बाद कैपिटल ए ऑब् वियस एक ही नॉन टर्मिनल कैपिटल a तो उससे स्टार्ट होने वाले सारे प्रोडक्शन सो दिस इज लाइक a2 डॉ a a एंड a2 डॉ b ये हमने ऐड कर लिया एंड इसको बोलते हैं क्लोजर अभी हर चीज धीरे-धीरे आपको बाद में समझाऊ सो लेट मी से दिस इज क्लोजर नंबर i नॉ अब करना क्या है वन बाय वन सर इसको पास करना है तो फिलहाल डॉट के बाद कैपिटल ए लिखा हुआ है तो मैं क्या करूंगा मैं एक ट्रांजीशन लिखता हूं इट्स लाइक अ फाइना इट ऑटोमेटा डिटरमिनिस्टिक फाइना इट ऑटोमेटा तो डॉट के बाद कैपिटल सिंबल लिखा है ना तो मैं क्या करूंगा कैपिटल ए टेंड्स टू a डॉट क्या कहीं और पे कैपिटल सिंबल लिखा है जी नहीं सो दैट विल बी ऑल एंड नाउ दैट विल बिकम माय क्लोजर i1 आगे देखिए यहां पे डॉट के बाद क्या लिखा हुआ स्मल a तो मैं उसी पे ट्रांजीशन करूंगा सर क्या होगा बताइए कैपिटल ए टेंड्स टूल a डॉट a अब मजे की बात क्या है क्योंकि यहां पे डॉट के बाद कैपिटल ए लिखा हुआ है तो फिर से वही रूल लगेगा वो रूल क्या है आगे समझेंगे बट डॉट के बाद जब भी नॉन टर्मिनल होगा तो उससे स्टार्ट होने वाले सारे प्रोडक्शन मेरे को ऐड करने पड़ेंगे सो देर यू सी अगेन a ट टू यानी कि यही प्रोडक्शन दोबारा आ जाएगा डॉटल a a एंड a टेंड्स टू डॉट ब एंड नाउ दैट विल बिकम हमारा न्यू क्लोजर दैट इज नोन एज i2 है ना कि i न में कुछ बचा है हां सर एक प्रोडक्शन बचा हुआ हमारे पास व्हिच इज लाइक स्ल ब सो आई विल डू दैट a टेंड्स टू b डॉट डॉट आ गया राइट में क्योंकि हमने इसे पास कर लिया एंड नाउ दैट विल बिकम i3 नोटिस करिए बहुत छोटी-छोटी बातें हैं जब भी हम पार्सिंग कर रहे हैं डॉट का जो पोजीशन है वो लेफ्ट से राइट में आ जा रहा है और कैसे वन बाय वन वैल्यू बाय वैल्यू हम आगे बढ़ रहे हैं यहां तक बात समझ आती है अब देखिए आ नॉ के जितने प्रोडक्शन है सबके लिए ट्रांजिशन लिख लिया गया है i1 में डॉट ऑलरेडी एक्सट्रीम राइट में पहुंच है चुका है तो उसमें और कुछ करने की जरूरत है नहीं यहां नहीं पहुंचा सर तो क्या करूं बताओ अब धीरे-धीरे आपको गेम समझ आने लगा होगा सो कैपिटल ए के लिए ट्रांजीशन लिखूंगा एंड नाउ इट विल बिकम व्हाट a टेंड्स टू a a डॉट है ना तो मैं i1 i2 i3 तक पहुंच चुका हूं सो ओबवियसली दिस इज गोइंग टू बी i4 नोटिस करिए क्या बना i4 बना और यहां पर आप देखेंगे तो अब नोटिस करिए मैं एक बार आप चाहे तो लिख के दिखा देता हूं अगर आप स्मल a के लिए ट्रांजिशन करेंगे तो क्या होगा सर फिर यही कहानी रिपीट होगी a टेंस टू a कपि a आएगा अभी कैपिटल से स्टार्ट होने वाले फिर से ये दोनों प्रोडक्शन आपको ल यहां पे दोबारा ऐड करने पड़ेंगे तो दैट डंट मेक एनी सेंस बिकॉज ये स्टेट तो पहले से मेरे पास है इसका मतलब a पर मैं क्या लिख सकता हूं आई कैन राइट अ सेल्फ लूप देखिए एक बात समझ आ रही है क्या तो स्ल ए अगर आता है तो सेम सिनेरियो रिपीट होगा देर इज नो नीड टू टेक अ न्यू स्टेट आप वहीं पे वापस चले जाओ सिमिलरली आप नोटिस करो स्मल बी के लिए ट्रांजीशन लेंगे सो आप इधर वापस आ सकते हैं लुक एट दिस है ना दैट विल बी ऑल तो अभी i2 भी पास हो चुका है i3 पास हो चुका है फोर पार्स हो चुका है यह कंप्लीट हो गया इसको बोलते हैं कैनॉनिकल कलेक्शन बॉटम अ पार्सर का कोई टाइप हो यह स्टेप तो आपको करना ही करना है यस अब आपको सिखाता हूं पार्सिंग टेबल कैसे भरते हैं अगेन बाद में कुछ रूल डिफरेंस है भी जनरिक अप्रोच मान के चलो देखो पहला चेंज क्या आपको अगर याद हो टॉप डाउन पार्सल एलएल व में कॉलम जो था कॉलम वहां पर हम भरते थे आई थिंक टर्मिनल्स और रोज में भरते थे नॉन टर्मिनल यहां पर गेम क्या है सर जितने भी र्स है ये आ नॉ i1 या स्टेट्स बोल लीजिए ये सब आएंगे रो में तो मैं कैसे लिखूंगा लुक एट दिस सो आ नॉ एंड देन i1 एंड देन i2 एंड देन i3 अब चार पांच ही आए ना यस सो आन से i5 तक पांचों के पांचों आएंगे रो में फिर कॉलम में क्या आएगा हम बोलते हैं एक्शन एंड गो टू व्हाट इज एक्शन सेट ऑफ टर्मिनल्स टर्मिनल्स बताइए कौन-कौन है तो इस ग्रामर में सर दो टर्मिनल है आई थिंक एक है ए एक है बी फिर यह तो आपको पता ही है डॉलर तो हमेशा टर्मिनल के साथ ही चला है फिर चाहे वह टॉप डाउन पार्सर हो या अब बॉटम अप पार्सर गो टू में कौन आएगा ओबवियसली नॉन टर्मिनल नॉन टर्मिनल आई थिंक पूरी ग्रामर में सिर्फ एक है वो है हमारा कैपिटल ए लुक एट दिस है ना तो बहुत सिंपल तरह से टेबल का स्ट्रक्चर हमने समझ लिया अभी धीरे-धीरे सब समझाता हूं टेबल की एंट्री कैसे करते हैं आ नॉ ए पे क्या करना है सिंपली आपको देखना है ट्रांजीशन कैसे हो रहे हैं तो बताइए आ नॉल ए प कहां गया i2 प गया बाद में समझाऊ इसको बोलते हैं शिफ्ट करना ट्रांजीशन को क्या बोलते हैं शिफ्ट करना तो आ न पे जब ए आता है शिफ्ट के लिए यूज करेंगे s है ना तो हम शिफ्ट करते हैं कहां पे करते हैं क्लोजर नंबर आ2 पे तो सब स्क्रिप्ट में लिख दो s2 फिर वही बात अभी क्या कर रहे हैं वो देखना क्यों कर रहे हो वो बाद में समझाऊ एक एक बात सब स्क्रिप्ट में लिखते हैं s2 देन आगे बढ़ो स्मल बी पर क्या करना है सर स्मल बी पर भी शिफ्ट करना है क्लोजर नंबर 3 पे तो सब स्क्रिप्ट में लिखेंगे s3 यह हो गया कहानी i1 में कोई शिफ्टिंग नहीं है i2 में आई थिंक सेम है i2 में भी स्ल ए आ रहा है तो इट्स काइंड ऑफ अ सेल्फ लूप तो शिफ्ट करेंगे टू पे और आ2 में स्मल बी आ रहा है तो शिफ्ट करेंगे थ पे नोटिस करिए यस देन i3 पे कोई टर्मिनल शिफ्टिंग नहीं है नोटिस करो टर्मिनल पर कोई शिफ्टिंग नहीं है i4 पर भी टर्मिनल प कोई शिफ्टिंग नहीं है सो दैट विल बी ऑल फॉर स्मॉल केस अभी कैपिटल प इसको कैसे मूव कर रहे देखिए तो कैपिटल शिफ्ट देखिए आ न प कैपिटल ले आए तो किधर जा रहे है नोटिस करो आव पे आ नॉ पे कैपिटल ए आता है तो आव पे जा रहा है क्या आ नॉ पे कैपिटल ए आ तो यहां पर हम सिर्फ नंबर लिखेंगे तो ए सब्सक्रिप्ट वन लिखने की जरूरत नहीं क्यों आगे समझाऊ यू जस्ट राइट द नंबर सो आ नॉ प कैपिटल आए वन प चले गए आट पे क्या कोई कैपिटल की आव पे आई एम सॉरी कैपिटल की शिफ्टिंग हुई है नहीं i2 पे कैपिटल की शिफ्टिंग यहां i2 पे अगर कैपिटल a आया तो हम फोर पे जा रहे हैं है ना तो i2 पे अगर कैपिटल ए आया जा रहा है तो वी आर गोइंग टू फोर ग्रेट और i3 पर भी कोई शिफ्टिंग नहीं है i4 पर भी कोई शिफ्टिंग नहीं है सो दैट इज ऑल है ना तो यह हमारा अभी तक शिफ्ट एंट्रीज हुई अभी पूरा काम नहीं हुआ अब बोलते रिड्यूस एंट्री रिड्यूस एंट्री क्या है कोई भी प्रोडक्शन जो हमारा है वह फाइनली कहां पे कंप्लीट हुआ कहां पे डॉट ऑपरेटर एक्सट्रीम राइट में पहुंचा उसको बोलते रिड्यूस होना तो यहां पर हम क्या करते हैं रूल की नंबरिंग कर लेते हैं है ना तो क्या-क्या नंबरिंग कर सकते हैं लेट मी से दिस इज रूल नंबर वन ताकि सारी एंट्री भरना आसान हो लेट मी से दिस इज रूल नंबर टू तो मुझे बताइए रूल नंबर वन कहां पर रिड्यूस हुआ है कौन से क्लोजर में सर यूसी i4 में हुआ है i4 में रूल नंबर वन पूरा डॉट ऑपरेटर राइट में पहुंच गया तो क्या करना है इस केस में अभी फिलहाल मैं बेसिक बता रहा हूं एक्शन पार्ट में जाना है और i4 के अंदर रूल नंबर टू है ना रूल नंबर वन है रूल नंबर वन रूल नंबर वन रूल नंबर वन यह पूरा हमें रिड्यूस कर देना है दैट इज़ द आईडिया यस फिर आगे बढ़ी अ नेक्स्ट क्या है कैपिटल a टेंड्स टू b ये बताइए कहां रिड्यूस हो रहा है यहां पे हो रहा देखिए कैपिटल a टेंड्स टू बी इधर रिड्यूस हो रहा है अब बताओ यहां पे क्या करना है तो अगेन i3 क्लोजर में हुआ i3 में जाइए रूल नंबर टू है सो जस्ट राइट रूल नंबर टू रूल नंबर टू रूल नंबर टू रिड्यूस हो गया दैट विल बी ऑल एक स्पेशल प्रोडक्शन था हमारा जिसे हम बोलते हैं ऑगमेंटेड प्रोडक्शन यह वाला पहला प्रोडक्शन जो ओरिजिनल ग्रामर का पार्ट नहीं था सी हमने इसको ऐड किया है एक बार जदा नोटिस करेंगे यह कहां पे रिड्यूस हुआ सर ये रिड्यूस हुआ i1 में तो क्या करना है जो स्पेशल प्रोडक्शन है वहां पूरी रो नहीं भरते वहां पर जाना है और सिर्फ डॉलर के अंदर i1 डॉलर के अंदर जाकर लिख देना है एक्सेप्ट अब एक्सेप्ट क्यों लिख रहे हैं वो भी आपको समय के साथ समझ आएगा तो फर्स्ट ऑफ ल यू सी हमने यह पहले पूरा कैनॉनिकल कलेक्शन क्शन बना लिया क्लोजर बनाया देन यू सी अ टेबल हमने फिल कर लिया मोटा-मोटा स्ट्रक्चर आपको समझ आ गया अ इस तरह कम से कम पांच-छह क्वेश्चन और करेंगे तो डोंट वरी एवरीथिंग इज गोइंग टू बी क्लियर कैसे एंट्रीज फिल कर रहे हैं शिफ्टिंग कैसे कर रहे हैं गो टू कैसे कर रहे हैं रिड्यूस एंट्री कैसे कर रहे हैं हर चीज हमने ऑब्जर्व कर ली अब ये जो हमने पूरा काम किया ना इसी आईडिया को हम बोलते हैं बॉटम अप पार्सिंग है ना और ये पूरा बॉटम अप पार्सर हमने बनाया है तो मैं एक-एक स्टेप आगे अभी पार्सिंग करके नहीं दिखा रहा आपको कैसे करेंगे आई विल कम टू दैट बट स्टेप बाय स्टेप आगे चलता हूं और ये क्या-क्या हमने किया और इसका क्या-क्या मतलब है अब आपको वो पूरा आईडिया मैं समझाता हूं है ना तो चलिए अब पहले पार्सर का अंडरस्टैंडिंग समझते हैं तो अब एक-एक करके आगे बात करते हैं सबसे पहले समझते हैं हैंडल क्या होता है लुक एट दिस हैंडल सबस्ट्रिंग ऑफ द इनपुट स्ट्रिंग दैट मैचेस विद द राइट हैंड साइड ऑफ एनी प्रोडक्शन इज नोन एज हैंडल तो बेसिकली जैसे मान लीजिए ये ग्रामर हमने बनाई थी और या उससे पहले जिस केस प हमने प्रैक्टिस किया हमने गेम स्टार्ट किया पहले b स को हमने समझा कि यार bc-a में है ना बॉटम अ पार्सिंग में ऐसा ही हुआ उसके बाद हमने समझा d किसी अ प्रोडक्शन का राइट हैंड साइड है उसको कन्वर्ट किया जाना चाहिए b में फिर हमें मिला a a b एंड c उसको हमने कन्वर्ट किया s में तो यह जो राइट हैंड साइड ऑफ़ सम स्ट्रिंग है जिसको हम आइडेंटिफिकेशन इनपुट स्ट्रिंग दैट मैचेस विद द राइट हैंड साइड ऑफ़ एनी प्रोडक्शन इज हैंडल द प्रोसेस ऑफ फाइंडिंग द हैंडल एंड रिप्लेसिंग दैट हैंडल बाय इट्स लेफ्ट हैंड साइड वेरिएबल इज कॉल्ड हैंडल प्रूनिंग तो प पूरा गेम ही है एक बार हैंडल मिल जाए तो कहानी हो जाए तो हैंडल को ढूंढना और उसके उसको उसके लेफ्ट हैंड साइड ऑफ द प्रोडक्शन से रिप्लेस करना इस पूरी प्रोसेस को बोलते हैं हैंडल प्रूनिंग करना बॉटम ऑफ पार्सर आर आल्सो नोन एज शिफ्ट रिड्यूस पार्सर इसका एक छोटा सा आईडिया आपको समझ आएगा उसको क्यों बोलते हैं शिफ्ट रिड्यूस पार्सर जैसे आपने प्रोडक्शन देखा ना लाइक ऐसे डॉट ऑपरेटर यहां से शुरू हुआ उसके बाद a डॉट कपि ए हुआ उसके बाद a डॉट ए डॉट हुआ तो ये जो डॉट मूव कर रहा है फ्रॉम लेफ्ट टू राइट इसको बोलते हैं शिफ्ट करना यही तो शिफ्टिंग है इसको बोलते हैं शिफ्ट करना और जैसे ही डॉट पहुंचता है एक्सट्रीम राइट में यह हो गया रिड्यूस करना यानी कि अब स्ल ए कैपिटल ए को रिप्लेस किया जा सकता है कैपिटल ए से तो आगे इसको और एग्जांपल से समझेंगे बट व्हाई इट इज नोन एज शिफ्ट रिड्यूस पार्सर जब तक पूरा आपको राइट हैंड साइड नहीं मिल जाता प्रोडक्शन का तब तक हम शिफ्ट करते रहते हैं और जैसे मिलता है तब हम उसको लेफ्ट हैंड साइड से रिप्लेस कर लेते हैं सो नोन एज शिफ्ट रिड्यूस पार्सर बॉटम अप कैन बी कंस्ट्रक्टेड फॉर बोथ एमिगस नॉन एमगस ग्रामर अच्छा इसकी हमने डिटेल में बात नहीं की आगे समझेंगे देखो यह जो कैटेगरी इजेशन है ना दिस इज अ ग्रामर व्हिच वर्क्स विद एबगरी बट अगेन जैसा मैंने पहले भी बोला था ऑपरेटर प्रेसिडेंस ग्रामर इज नॉट अ फुल फ्लेश ग्रा गर तो उसको सीरियसली नहीं लेना चाहिए रही बात जनरल पर्पस पार्सिंग की हां तो यह एमगस ग्रामर के साथ काम नहीं करता लेकिन पहली जो दो प्रॉब्लम थी याद है कौन-कौन सा लेफ्ट रिकर्स और दूसरा जो हमारी प्रॉब्लम थी वो थी अगेन नॉन डिटरमिनिज्म वो वाले इश्यूज यहां पे नहीं है तो क्या बॉटम ऑ पार्सल लेफ्ट रिकर्स ग्रामर के साथ काम कर सकता है जी हां कर सकता है क्या बॉटम अप पार्सल नॉन डिटरमिनिस्टिक के साथ भी काम कर सकता है हां कर सकता है क्या ये बैक ट्रैक करता है नहीं करता फिर कैसे काम कर पा रहा है देखो इसको हम बोलते हैं इन जनरल एलआर के पार्सल्स एलआर टाइप है ये है ना एल स्टैंड्स फॉर लेफ्ट टू राइट स्कैन तो स्ट्रिंग को तो हम लेफ्ट टू राइट स्कैन करेंगे वो कोई प्रॉब्लम नहीं है बट दिस आर स्टैंड्स फॉर रिवर्स ऑफ राइट मोस्ट डेरिवेशन लुक एट दिस रिवर्स ऑफ राइट मोस्ट डेरिवेशन तो ना ये लेफ्ट मोस्ट डेरिवेशन है ना ये राइट मोस्ट डेरिवेशन है दिस इज रिवर्स ऑफ राइट मोस्ट डेरिवेशन तो लेफ्ट रिकर्स या नॉन डिटरमिनिज्म एलएल व में हमें परेशान इसलिए कर रहा था क्योंकि हम लेफ्ट मोस्ट डेरिवेशन करते थे क्योंकि ये लेफ्ट मोस्ट डेरिवेशन नहीं करता तो इसको उससे प्रॉब्लम नहीं है है ना सो दैट इज l एंड के इज ओबवियसली द नंबर ऑफ लुक अहेड सिंबल्स कितने सिंबल हम आगे स्टडी करते हैं ठीक है यह बात आपको समझ आ गई नाउ कैन बी कंस्ट्रक्टेड यही जो मैंने लिखा अभी जो मैंने आपको समझाया तो एलआर केचा टाइप जो है उसमें एमगी नहीं चलती अन एमिगस ही चाहिए अ बॉटम अप पार्सर रिवर्स ऑफ राइट मोस्ट डेरिवेशन फॉलो करते हैं कैन बी कंस्ट्रक्टेड फॉर ग्रामर व्हिच हैज मोर कॉम्प्लेक्शन कंपेयर टू अगेन इस पर मैं पहले बात कर चुका हूं तो जितनी भी हाई पावरफुल लैंग्वेजेस हैं उन सबके लिए हम बॉटम ऑ पार्सर बनाते हैं देखिए दो बातें हैं बॉटम अप पार्सर रिलेटिवली बनाना मुश्किल है दैट आई एग्री टू इट तो सिंपल ग्रामर है तो आप बोल सकते हो गो फॉर एलएल व लेकिन लॉन्ग टर्म में जब हम स्टडी करते हैं तब हम पाते हैं कि इसको बनाना थोड़ा मुश्किल जरूर है बट फॉर कॉम्प्लेक्टेड इज रिलेटिवली लेस टाइम कंजूमिंग देन दैट ऑफ टॉप डाउन पार्सर है ना तो लॉन्ग रन में इसकी कॉम्लेक्स टी कुछ चलती है मोटा मोटा ऑर्डर ऑफ n क्यूब जबकि टॉप डाउन में गोज अप टू ऑर्डर ऑफ़ n रे टू पावर 4 तो इन जनरल बॉटम अप इज बेटर पावर की टर्म्स में भी और एफिशिएंसी की टर्म्स में भी यह बात समझ आ जाती है अब आपको पार्सल का स्ट्रक्चर समझाता हूं देखिए इन जनरल अभी जो मैंने आपको पूरा स्ट्रक्चर टेबल बनाना सिखाया वो कैनॉनिकल कलेक्शन बनाना सिखाया मैंने जनरिक बात आपसे करी इसके अंदर चार कैटेगरी है एल आर0 ए एल आरव स आरव एलएल आरव मैं चारों की बात करूंगा बट अभी जेनरिक स्ट्रक्चर हम डिस्कस कर रहे हैं जो चारों पार्सर में सेम है तो हमारे पास हमेशा की तरह एक इनपुट टेप होगी है ना जहां से जो भी हमारी इनपुट स्ट्रिंग है हम उसको स्कैन करेंगे और लास्ट में आपको मिलेगा डॉलर वी हैव अ स्टैक जो पार्सिंग के काम आता है अभी मैंने पार्सिंग करके नहीं दिखाई कैसे काम आएगा आपको समझेगा देन व्हाट डू यू ऑलरेडी नो इज द टेबल टेबल पे हमने बहुत कंसंट्रेट किया है जिसमें दो कंपोनेंट हैं हमारे एक्शन और गो टू और कैसे शिफ्ट रिड्यूस एंट्री फिल होती है आप जानते हो और गो टू में अगेन हमने कैसे फिल किया वो भी आपने देखा तो यह पूरा हमारा स्ट्रक्चर है है ना तो इनपुट बफर यू नो स्टैक कैसे यूज़ होता है अभी आपको दिखाऊंगा जो भी हम ट्री बनाते हैं उसी का सिमुलेशन हमारा स्टैक में चलता है उसमें कोई नई बात नहीं है अ टेबल के दो पार्ट हैं एक्शन पार्ट एंड गो टू पार्ट दे यू सी हर चीज पहले मैं बता चुका हूं एक्शन पार्ट कंटें शिफ्ट एंड रिड्यूस एंट्रीज अ फॉर द टर्मिनल्स तो आप जानते हैं ना टर्मिनल लेफ्ट में आए थे और गो टू में आए थे नॉन टर्मिनल सो गो टू पार्ट कंटें शिफ्ट एंट्रीज फॉर नॉन टर्मिनल अब आप समझो जो रिड्यूस एंट्री है वो सिर्फ एक्शन में आती है है ना इस वजह से हमें s लिखना पड़ा s मतलब शिफ्ट एंड देन मान लो हमने शिफ्ट वन शिफ्ट टू शिफ्ट थ ऐसा कुछ किया नॉन टर्मिनल जो हमारा है जो गो टू पार्ट है वहां पर रिड्यूस्ड एंट्री आती नहीं है तो मैंने आपको याद है वहां बोला था वहां सिर्फ टू लिखो s2 लिखने की जरूरत नहीं है क्योंकि वहां रिड्यूस एंट्री ने भी टू लिखा है तो जाहिर सी बात है शिफ्ट ही किया गया होगा ट्स अ कॉमन सेंस आईडिया तो इस तरह के कुछ ऑब्जर्वेशंस क्लियर हो जाते हैं ये आपने पूरा समझ लिया शिफ्ट रिड्यूस एक्सेप्ट क्या है शिफ्ट मतलब जब हमें पूरा प्रोडक्शन नहीं मिला हो धीरे-धीरे हम शिफ्ट करते हैं जब पूरा प्रोडक्शन मिल जाए रिड्यूस करना है एक्सेप्ट जहां पे कहानी कंप्लीट होती है कि हां आपकी पार्सिंग जो है वो काइंड ऑफ सक्सेसफुल हो गई एंड एरर अगेन जो जितने भी सेल एमटी हैं कि अब भी हमने पार्सिंग किया क्या टेबल के सारे सेल फिल हो गए थे नहीं तो जितने भी सेल एम्टी हैं ईच एंड एवरी एमटी सेल एक्चुअली रिप्रेजेंट्स एरर एंट्री है ना तो वो पॉइंट भी हमें यहां पे एकदम क्लियर होता है अब मैं एक काम करता हूं बिफोर आई प्रोसीड फरदर ना एक बार आपको पासिंग करके दिखाता हूं काट दिस यहां पार्सिंग करते कैसे हैं स स्टेप नंबर जीरो में जैसे आमतौर में स्टैक में हम क्या भरते हैं स्टार्ट सिंबल ना यहां पे स्टार्ट सिंबल नहीं भरेंगे ये देखो जैसे मैंने यहां पार्सिंग करके भी दिखाया आप चाहो तो इसी को सिमुलेटर के दिखा देता हूं हां सबसे पहले हम क्या भरेंगे जो हमारा ये बिल्कुल सेम क्लोजर हमने बनाया सबसे पहले हम भरेंगे क्लोजर नंबर जीरो है ना क्योंकि वो हमारा इनिशियल स्टेट है फेयर इनफ उसके बाद हम स्टार्ट सिंबल से शुरू करेंगे तो अब ध्यान से देखिएगा क्लोजर नंबर रो और मैं एक काम करता हूं टेप आपको स्ट्रिंग अलग से लिख के दि दिखा देता हूं मान लीजिए स्ट्रिंग हम पार्ट्स कर रहे हैं a ए ए बी सो मान लो टेप पे लिखा है a a ए एंड बी एंड देन फॉलो बाय डॉलर इस पूरे चैप्टर में बहुत सारी चीजें मैंने पहले से लिख के रखी हैं सो दैट आपका रन टाइम पे टाइम बचा सकू तो अब ध्यान से देखिए क्लोजर हमारा रो है और सिंबल हमारा a है 0a पे क्या करना है पूछो इससे अब टेबल बताएगा टेबल कह रहा है 0a पे शिफ्ट करना है टू पे तो किसको शिफ्ट करना है इस सिंबल को उठा के स्टैक में शिफ्ट कर लो तो ये सिंबल आ गया हमारा स्टैक में और टू पे शिफ्ट करना तो अगला स्टेट हमारा आ गया टू तो यहां पर स्टैक में आप देखोगे ना रन टाइम पे तो स्टेट्स भी लिखते हैं हम कौन से स्टेट पे चल रहा और कौन सा सिंबल है वो भी लिखते हैं तो स्टेट आ गया टू सिंबल को कर लिया शिफ्ट अब देखो स्टेट है टू और सिंबल है a जब सेकंड स्टेट पे आप है क्लोजर नंबर टू पे आप है और सिंबल है a तो क्या करना है क्लोजर नंबर टू सिंबल ए पे क्या करना है शिफ्ट करना है दोबारा टू पे तो यानी कि अभी भी हैंडल नहीं मिला फिर से इस a को देखिए यहां पर शिफ्ट किया और नया स्टेट अगेन हमारा टू आ गया तो 2 a हमारे ऑलरेडी स्टैक में जा चुके हैं नाउ यू सी अगला स्टेट हमारा 2 आ गया अब 2a पर क्या करना है फिलहाल मैं यहां पे हूं 2a पे क्या करना है फिर पूछो इससे ओ माय गॉड 2a पे दोबारा शिफ्ट करना है तो a मानो शिफ्ट होते जा रहे हैं तो यानी कि यह वाला जो a है यह भी इधर आ गया और नया स्टेट फिर से हमारा टू आ गया अब देखिए 2b पर क्या करना है 2b पर सर 2p पे भी शिफ्ट करना है बट इस बार शिफ्ट थ्री करना है तो यह ब शिफ्ट हो गया स्टैक के अंदर बट इस बार आपका अगला स्टेट आया थ्री एंड नाउ यू कैन अंडरस्टैंड शिफ्ट रिड्यूस पार्सल जब तक हैंडल नहीं मिलता तब तक टेप से लेते और सिंबल स्टैक में शिफ्ट करते जाते शिफ्ट करते जाते वही हम कर रहे हैं इस बार वन टू वन मैथ नहीं करते शिफ्ट करते हैं अब स्टेट थ्री पे डॉलर अगर मिले तो क्या करना है पढ़ना जरा सर स्टेट थ्री पे अगर डॉलर मिले लुक एट दिस रिड्यूस करना है रिड्यूस रूल टू रूल टू हमारा क्या थापि ए टू b अब क्योंकि यहां पर आपने सिर्फ सिंबल नहीं शिफ्ट किए थे साथ में स्टेट भी शिफ्ट किए तो रूल क्या है लॉजिक क्या है जो भी हैंडल का लेंथ है उससे डबल पॉप करिए तो हमें a टेंड्स टू कैपिटल b a टेंड्स टू स्मल b ये रूल रिड्यूस करना है तो यहां पे लेंथ है वन दो पॉप करिए तो किसकिसको पॉप करेंगे सर थ्री को पॉप करेंगे और b को पॉप करेंगे और यह रूल रिड्यूस हो जाएगा कैपिटल a में सो यह दोनों बाहर गए एंड देर यू सी कैपिटल a हमारा अंदर आ गया दिस अब जरा नया स्टेट देखिए इससे पहले क्या लिखा हुआ है 2 2a पर क्या लिखा है सर 2a पे लिखा है 4 तो यह लीजिए हमारा नया एंट्री आ गया फोर ऑब्जर्व कर पा रहे कैसे कर रहे वन बाय वन अब फिर से चेक करिए a4 पे क्या लिखा हुआ है a4 a4 a4 फोर क्लोजर आई एम सॉरी नॉट a4 अभी हमने शिफ्ट कर लिया ना अच्छा a4 नहीं फर यहां पे यहां तो अभी भी डॉलर प अटके हुए हैं $4 पे क्या लिखा है तो 4 पे जाएंगे तो लिखा है रूल नंबर वन रिड्यूस करना है तो लुक एट दिस रूल नंबर वन स्ल ए कैपिटल a अब क्योंकि इसका लेंथ टू है कितना पॉप होगा चार पॉप होगा ध्यान से देखिए चार पॉप होगा तो कौन-कौन बाहर जाएगा मुझे बताइए यहां पे हम थे ना फोर पे एक दो ये थोड़ा पहले लिखा तो हच पोच हो गया दो ये तो पहले जा चुका है तीन और चार रिड्यूस किसमें होना है a में तो मैंने दोबारा से एंट्री करूंगा कैपिटल a की और उससे पहले अब कौन सा स्टेट लिखा है टू 2a पर क्या लिखा है सर 2a पर लिखा है s4 हम यहां सॉरी देखिए मुझे शिफ्ट नहीं लिखना चाहिए सिर्फ वन और फोर लिखना चाहिए लिखा है s4 तो देर य स 4 फिर से फोर आ गया अब फिर वही कहानी फर और डॉलर पे फर और डॉलर पे फिर से लिखा है रूल वन रिड्यूस तो फिर से चार सिंबल जाएंगे तो कौन-कौन जाएगा बताइए अगेन एक ध्यान से देखिएगा दो फिर पीछा आते जाइए तीन और चार है ना और एंट्री आप कराएंगे a की फिर से देखिए a2 पर क्या लिखा है सो 2a पर लिखा है शिफ्ट टू 4 तो एक अगला फोर आपके पास आ गया अभी भी शायद और ये आप देख रहे हैं धीरे-धीरे ट्री भी बनता जा रहा होगा हम बी को ए में ए बी को ए में फिर ए बी को इस स्मल ए कैपिटल ए को ए में रिड्यूस कर चुके हैं अगेन आपके पास फर है यहां डॉलर है तो $ पे आप चेक करेंगे फिर से रूल वन लिखा हुआ है फिर से रिड्यूस होगा तो फिर से कोशिश करिए एक दो तीन चा और रिड्यूस हुआ है ए में तो यहां देखिए कैपिटल ए मैंने एंट्री करा दी कैपिटल ए और 0a पर क्या लिखा हुआ है सर 0a पर लिखा है शिफ्ट टूव तो यहां देखिए इस बार एंट्री आई है वन की यस एंड फाइनली $ $ पे क्या लिखा है एक्सेप्ट तो ये हो गई हमारी स्ट्रिंग एक्सेप्ट ये एग्जैक्ट तरीका है आप वीडियो पॉज करके के दो-तीन बार रिवाइंड करके देखना अगर कहीं भी कंफ्यूजन हो यह तरीका है जैसे हम बॉटम ऑफ पार्सिंग करते हैं तो ये क्लोजर कैसे काम आता है इस क्लोजर से टेबल कैसे बना टेबल की एंट्रीज मैच करके स्टैक का एग्जैक्ट यूज यहां पर हमने कैसे किया आई थिंक वो एक एक बात आपको समझ आई होगी तो नाउ जो हम थ्योरी पार्ट कवर कर रहे थे फिर आपको आगे लेके चलता हूं अब एलआर के पार्सर कैसे बनाते हैं स्टेप बाय स्टेप देखिए हम बना चुके हैं तो आसान है एल स्टैंड्स फॉर लेफ्ट टू राइट स्कैन हमें पता है आर स्टैंड्स फॉर रिवर्स ऑफ राइट मोस्ट डेरिवेशन वो भी हम जानते हैं के इज द नंबर ऑफ लुक अहेड सिंबल वो एक बेसिक अंडरस्टैंडिंग हमको है अब करना क्या है स्टेप नंबर वन सबसे पहले हम ऑगमेंटेड ग्रामर बनाते हैं ऑगमेंटेड ग्रामर क्या है जो मैंने आपको बताया था सारे जो प्रोडक्शंस है ग्रामर के वो एज इट इज रहते हैं हम क्या करते हैं हम एक नया प्रोडक्शन ऐड करते हैं सर उस प्रोडक्शन में क्या करना है फॉर एग्जांपल अगर प्रीवियस स्टार्ट सिंबल है s तो हम एक नया प्रोडक्शन लेते हैं ए ड से और ग्रामर का जो ऑलरेडी स्टार्ट सिंबल है हम उसको जनरेट करते हैं इसको बोलते हैं आर्गुमेंट ग्रामर इसका एक बेसिक रीजन क्या आपको सम समझाता हूं जैसे देखो हमने ग्रामर जो यूज की शायद ये ग्रामर यूज की थी है ना अब हमारे पास एक स्ट्रिंग है लॉजिक क्या है जब हम इसको कन्वर्ट करते आएंगे आएंगे आएंगे बाद में हमें स्टार्ट सिंबल मिलेगा और इस ग्रामर का स्टार्ट सिंबल है ए जैसे ही टेक्निकली हमें कैपिटल ए मिले मुझे बताओ हमें आगे बढ़ना चाहिए कि रुक जाना चाहिए हमें रुक जाना चाहिए ना कैपिटल ए मिला बट देखो इस ग्रामर में प्रॉब्लम क्या है कि जो ग्रामर का स्टार्ट सिंबल है उसका प्रोडक्शन के राइट हैंड साइड पर भी अ करेंस है बोलो है कि नहीं है सर तो कंफ्यूजन क्या हो सकता है कि बॉटम अप पार्सिंग करते हुए आप आ रहे कहीं पर भी आपको ए मिले इट कैन बी मिसअंडरस्टूड कि जैसे पार्सिंग कंप्लीट हो गई लेकिन पार्सिंग तो भी बची हुई है लेकिन अगर मैं एक नया स्टार्ट सिंबल लगा दूं ग्रामर में तो सर ए आ सकता है a ड तो कहीं नहीं आएगा क्योंकि वो तो ग्रामर का पार्ट है ही नहीं तो मेरे को बड़ी क्लेरिटी रहेगी कि मेरे को पार्सिंग जब तक कंटिन्यू करते रहना है जब तक बाद में मुझे वो स्मार्ट जो पहला सिंबल है वो मुझे ना मिल जाए दैट इज आइडिया बट इसको हम जनरलाइज रखेंगे ऐसा नहीं किसी ग्रामर में लगाएंगे किसी में नहीं लगाएंगे तो आर्गुमेंट ग्रामर क्या है वोह आप समझ गए जब हम एक नया स्पेशल प्रोडक्शन ऐड करें ग्रामर में जिसमें ग्रामर का स्टार्ट सिंबल जनरेट करें दैट इज नोन एज ऑगमेंटेड ग्रामर पॉइंट नंबर टू क्यों लगा रहे हैं ये भी आपको समझ आ गया क्यों लगा रहे हैं सर सो दैट कि हमें बॉटम अप पार्सिंग करते हुए कंफ्यूजन ना हो है ना एज सिंपल एज दैट आगे बढ़ी अभी क्योंकि ये तीन-चार तरह के हमारे पास पार्सल है जो भी हमने केस स्टडी किया वो एलआर जीरो था कौन सा था एलआर 0 अब यह जो डॉट की पोजीशन समय के साथ चेंज हुई इनको बोलते हैं कंपाइलर आइटम्स या फिलहाल में एलआर 0 के लिए बना रहा था एलआर 0 आइटम कल को एसएलआर के लिए बनाऊंगा तो एसएलआर वन आइटम एलएलआर के लिए बनाऊंगा तो एलएलआर वन आइटम लाइक दिस और करना कुछ नहीं है जैसा आपने देखा प्रोडक्शन में जब डॉट आता है और विद टाइम डॉट अपनी पोजीशन चेंज करता है तो इनको हम कंपाइलर आइटम्स या एलआर आइटम्स बोलते हैं है ना और आप देख रहे हैं यहां से स्टार्ट हुआ आगे बढ़ता जा रहा रहा है जब डॉट एकदम राइट में पहुंचता है तो हम बोलते हैं फाइनल आइटम मिल गया रिड्यूस आइटम मिल गया या कंप्लीटेड आइटम मिल गया यह कहानी है तो उसमें भी कंफ्यूज मत होएगा गेम टर्मिनोलॉजी का है बहुत सारे क्लोजर्स हमें मिले थे है ना क्लोजर वन क्लोजर टू जब सारे क्लोजर्स को एक साथ स्टडी करते हैं उसको बोलते हैं कैनॉनिकल कलेक्शन टर्मिनोलॉजी पढ़ा रहा हूं आपको ऐसे कोई खास इंपॉर्टेंस नहीं है बट कहीं एग्जाम में लिखा मिले कोई बुक में लिखा मिले टर्म कैनॉनिकल कलेक्शन अब आप कंफ्यूज हो गए सर हम तो जानते नहीं है क्या है भाई वही बात है कोई न बात नहीं है तो जितने भी आइटम्स लिखे मिलते हैं एक सेट में उसको हम क्या बोलते हैं कैनॉनिकल कलेक्शन है ना तो यह मत भूलिए देन यह दो फंक्शन आपको समझाता हूं गो टू और क्लोजर क्या है कर हम सब चकि अब बस बैकग्राउंड में लेके चल रहा हूं देखने में आपको टफ लगेगा तो आपने एक बात नोटिस की कि अगर कहीं पर भी हमने प्रोडक्शन में ऐसा किया था ना कोई भी प्रोडक्शन में लिखता हूं अगर मान लीजिए डॉट के बाद कोई नॉन टर्मिनल है तो बताओ हमने क्या किया था किसी भी क्लोजर में सर उस नॉन टर्मिनल से स्टार्ट होने वाले सारे प्रोडक्शन भी हमने ग्रामर में ऐड किए थे किए थे ना इसी को बोलते हैं क्लोज करना क्लोजर निकालना तो यहां पे यही लिखा है सपोज देर इज अ प्रोडक्शन कपिट ए टेंड्स टू अल्फा ड बी बी तो इस केस में जो बीटा टू गामा अगर कोई प्रोडक्शन हमारे पास है तो क्योंकि डॉट के बाद बीटा है तो बीटा टू गामा भी आपको ऐड करना पड़ेगा और यह तब तक करते जाएंगे जब तक डॉट के बाद नॉन टर्मिनल मिल रहा है सो यू नो क्लोजर कैसे बनाते हैं और व्हाई हम उसको क्लोजर बोलते हैं बिकॉज़ दिस इज क्लोजर फंक्शन गो टू जब एक क्लोजर से दूसरे क्लोजर में हम चेंज करते हैं तो क्या करते हैं शिफ्टिंग करते हैं आदर ऑफ टर्मिनल नॉन टर्मिनल तो यहां पे यही बता रहा है अगर किसी क्लोजर आ से x सिंबल के लिए हम शिफ्ट करते हैं तो लुक एट दिस प्रोडक्शन की पोजीशन कपिट ए टेंड्स टू अफ ड x बी अगर x पे शिफ्ट करेंगे तो क्या होगा सर कुछ नहीं होगा डॉट की पोजीशन x के लेफ्ट से x के राइट में आ जाएगी और वही यहां पर हुआ है x के लेफ्ट से पोजीशन आ गई x के राइट में एज सिंपल एज दैट तो ये बिल्कुल परफेक्ट अंडरस्टैंडिंग है जिस तरह से हम काम करते हैं वही सारी बातें फ्रॉम योर नोट्स पर्सपेक्टिव एक-एक बात मैंने अलग से लिखी है तो एक्शन क्या है गो टू क्या है एक्शन के अंदर शिफ्ट रिड्यूस दोनों होंगे गो टू के अंदर सिर्फ शिफ्ट होगा है ना टेबल कैसे फिल करना है दोबारा देख लो अगर टर्मिनल है तो आप जानते हैं टर्मिनल के लिए हम शिफ्ट लिखते हैं और जिस भी क्लोजर में गया हो तो अगर i से j में गया है तो देयर यू सी यह शिफ्ट j में हमने कर लिया अगर नॉन टर्मिनल तो आप जानते हैं उस बार शिफ्ट नहीं लिखते सिर्फ j लिख देते हैं नंबर वैसे तो टेबल भरना सिखा दिया मैंने रिड्यूस एंट्री कैसे करते हैं पूरा का पूरा जो हमारा एक्शन पार्ट है उसमें सारे के सारे रो में जाके डॉलर तक रिड्यूस रिड्यूस रिड्यूस रिड्यूस वो एंट्री कर देते हैं तो दैट यू आल्सो नो यस तो आई थिंक एक केस स्टडी हमारा परफेक्ट क्लियर हो गया अब आगे हम कुछ और केसेस प्रैक्टिस करेंगे और एलआर जीरो ये जो भी हमने टाइप पढ़ा सबसे सिंपलेस्ट पार्सल है तो एसएलआर वन या एलएलआर व या सीएलआर व क्या है जो उसकी हाई ग्रेड पार्सल है फिर उसके ऊपर एक डिस्कशन करते हैं यस ओके तो चलिए सर आई थिंक एक केस और बनाना पूरा जरूरी है बिकॉज जब तक यू नो थोड़ा सा प्रैक्टिस नहीं करेंगे ना पार्सिंग पे तब तक मजा आएगा नहीं एंड आपके यूनिवर्सिटी सिलेबस में भले ही एक यूनिट है यू नो सिंटेक्स एनालिसिस या पासिंग बट एक्चुअली कॉम्पिटेटिव एग्जाम में ये 60 टू 70 पर ऑफ सिलेबस है वेदर इट इज गेट ट और एनी अदर कॉम्पिटेटिव एग्जाम यू सी तो एक बार पूरा जल्दी से कैनॉनिकल कलेक्शन बनाता हूं अब पहली बार से बेटर अंडरस्टैंडिंग है थोरेट्स सो ओके आई विल गो वन बाय वन तो बताइए स्टेप नंबर वन हम क्या करते हैं सर स्टेप नंबर वन वी स्टार्ट विद द कैनॉनिकल अ सॉरी ऑगमेंटेड प्रोडक्शन ऐड करेंगे है ना तो पहला प्रोडक्शन बताइए क्या होगा सर पहला प्रोडक्शन होगा s ' टेंड्स टू डॉट s अब क्योंकि s के बाद है नॉन टर्मिनल तो उससे स्टार्ट होने वाले सारे प्रोडक्शन सो फ्रॉम s दे यू सी वी हैव डॉडल ए अब डॉट के बाद a है तो a से स्टार्ट होने वाले प्रोडक्शन स्ल ए कैपिटल ए एंड a टेंड्स टू स्ल बी यस ये हमारा पूरा का पूरा क्लोजर बन गया फर्स्ट वाला व्हिच इज लाइक आन अब धीरे-धीरे काम करना आगे कंटिन्यू करेंगे डॉट के बाद है s है ना तो s ड टेंड्स टू s डॉट क्या डॉट के बाद नॉन टर्मिनल है जी नहीं क्या किसी और प्रोडक्शन में डॉट के बाद s लिखा हुआ है नहीं आगे बढ़ी अगला प्रोडक्शन में देर यू सी यू हैव अ कैपिटल ए तो कैसे लिखूंगा s टेंड्स टू कैपिटल ए डॉट कप ए एक पोजीशन राइट में आएगा अभी क्योंकि डॉट के बाद नॉन टर्मिनल है तो फिर से उस उससे स्टार्ट होने वाला प्रोडक्शन सो a टेंड्स टूल a ए एंड a टेंड्स टू डॉट बी नाउ दिस इज वन आईडिया एंड नाउ यू सी इट बिकम अ अ क्लोजर i2 ठीक है वन बाय वन कर रहे हैं सर यहां बताइए अब यहां पे किसके लिए लिखूंगा स्ल a के लिए तो बलाओ क्या बनेगा सो a टेंड्स टू a डॉ a अब यहां देखिए फिर वही वाला केस है क्या डॉट के बाद नॉन टर्मिनल है हां है तो फिर वही कहानी उससे स्टार्ट होने वाले सारे प्रोडक्शन सो देयर यू सी a टेंड्स टू डॉट a a एंड a टेंड्स टू डॉट बी और ये भाई साहब हमारे कौन बन गए ये बन गए क्लोजर आई 3 आगे बढूं लास्ट वन इज स्मल बी सो स्मल बी के लिए लिखूंगा सो s टेंड्स टू b डॉट दैट विल बी ऑल और यह बन गया क्लोजर i4 अब देखिए क्या आ नोट के सारे प्रोडक्शन हमने पास कर लिए यस आई होप सो i1 इज ऑलरेडी डन तो अगला नंबर है इधर कैपिटल ए का ठीक है ना सो आई विल स्टार्ट विद कैपिटल ए सो देर यू सी s टेंड्स टू a डॉट अब डॉट आ गया हमारा एक्सट्रीम राइट में और कहीं पे कुछ है नहीं सो दिस इज लाइक a5 यहां पे आ गया a5 i5 आई एम सॉरी यहां पर आई थिंक अब इतनी बात आपको समझ आ रही है अगर मैं स्मल ए के लिए पास करूंगा तो दिस विल गो हियर सो दिस इज लाइक आई एम सॉरी स्मल ए लिख देता हूं बस स्मल ए के लिए आप किस पे आ जाएंगे सर i3 पे आ जाएंगे यहां पे i3 लिखने की जरूरत नहीं है आगे बढ़ते हैं अगर स्मल बी करूंगा तो तो आई थंक आप फॉलो कर पा रहे होंगे पूरा नहीं लिखता यही लिख देता हूं अगर स्ल बी करेंगे देन यू विल गो टू i4 तो इसकी कहानी कंप्लीट हो गई सिमिलरली यह कैपिटल a के लिए जरूर आप पास करिए सो फॉर कैपिटल ए यू सी a टेंड्स टू a डॉट और ये प्रोडक्शन आई थ पहली बार पास हुआ है तो a4 a5 एंड देर यू सी नाउ दिस विल बी i6 ये हो जाएगा i6 ठीक है और यहां पर आई थिंक फिर वही कहानी है स्ल a के लिए करेंगे दैट विल बी अ सेल्फ लूप और b के लिए करेंगे तो आप पहुंच जाएंगे i4 पे i3 इज डन एंड नाउ आई थिंक इवन i4 फ इज डन i5 इज डन i6 इज आल्सो डन तो आई थिंक जितने पॉसिबल कॉमिनेशन है देखिए बहुत ध्यान से बहुत प्यार से एक-एक करके कंप्लीट कर ली आई होप वो मैं बोल रहा हूं ना जितने केस प्रैक्टिस करेंगे उतना क्लेरिटी आपको मिलेगा फिर से पूरा टेबल भरते हैं तो बताइए क्या लर्निंग है हमारी स्टेप नंबर वन जितने भी क्लोजर्स मिले हैं हर एक के लिए विल हैव अ सेपरेट रो तो यहां पर मैं देख रहा हूं आन से i6 तक तो टोटल सेवन डिफरेंट क्लोजर्स हमारे पास है सो लेट मी राइट इट डाउन i0 एंड देन i1 एंड देन i2 i3 i4 i5 एंड एन i6 फॉलो कर पा रहे हैं फिर आगे देखिए नेक्स्ट इज़ एक्शन अभी एक्शन में कौन-कौन आए ग दो ही टर्मिनल हमारे पास आई थिंक है यहां पे a और b और आप जानते हैं आखिरी कॉलम तो डॉलर का रिजर्व्ड है व्हाट आर द नॉम एंड नॉन टर्मिनल्स वी हैव तो यहां पर वी हैव टू नॉन टर्मिनल्स है ना सो लेट मी राइट कैपिटल s एंड कैपिटल a वेरी गुड अब प्रोडक्शन भरना चालू करिए सर सो पहले टर्मिनल्स की शिफ्टिंग देख लें i न में a के लिए शिफ्ट किया है i3 प तो आप देखते हैं यहां पे शिफ्ट लिखते हैं शिफ्ट टूथ स्मल b के लिए शिफ्ट किया है फोर पे सो लेट मी राइट शिफ्ट टू 4 डॉलर के लिए कुछ नहीं i1 पे नो टर्मिनल शिफ्टिंग i2 पे है बट आई थिंक सेम है a के लिए s3 और b के लिए 4 तो i2 की बात कर रहा हूं ना यस सो लेट मी सेम थिंग s3 एंड s4 i3 पे है बट अगेन दे यू सी सेम है बिकॉज ए पे सेल्फ लूप और बी पे फिर इधर वापस जा रहे तो फिर से मुझे सेम लिखने दीजिए लाइक s3 एंड s4 i4 पे कोई टर्मिनल शिफ्टिंग नहीं है i5 पे नहीं है i6 पे नहीं है तो एज फार एज टर्मिनल्स इ कंसर्न हो गया हमारा काम नाउ नॉन टर्मिनल शुरू करते हैं और आप जानते हैं नॉन टर्मिनस किधर हम लिखते हैं गो टू वाले सेक्शन में यस सो आ न ऑन कैपिटल s ऑन कल ए आई गो टू व ऑन कैपिटल ए आई गो टूटू आई नॉ इज डन i1 पर कोई शिफ्टिंग नहीं है नॉन टर्मिनल्स के लिए i2 पे है i2 पे कैपिटल ए पे i2 में कैपिटल ए पे आप जा रहे हैं फ पे s के लिए कोई शिफ्टिंग नहीं है i3 में कैपिटल ए पे आप जा रहे हैं सिक्स में i3 में कैपिटल ए पे यू आर गोइंग टू सिक्स ग्रेट i4 में कोई नहीं है शिफ्टिंग i5 में नहीं है i6 में नहीं है है ना दैट विल बी ऑल सो नॉन शिफ्टिंग भी कर लिया आखिरी काम हम क्या करते हैं आपको याद है ना जितने भी प्रोडक्शंस हैं उन सबको नंबर एलोकेट करते हैं एंड देन वन बाय वन उनको फिल करते हैं तो करू नंबर से लेट मी से रूल नंबर वन रूल नंबर टू एंड रूल नंबर थ्री बताइए रूल नंबर वन पहली बार और टू बी प्रेसा इज यहां पे तो एक बार कहां रिड्यूज हुआ है रूल नंबर वन देर यू सी इट इज रिड्यूस इन क्लोजर नंबर i5 है ना तो क्या करने का पूरे एक्शन पार्ट में जाना है रूल नंबर वन रूल नंबर वन रूल नंबर वन ऐसा करके आप लिख सकते हैं कोई प्रॉब्लम नहीं है नेक्स्ट देखिए अगला रूल हमारा कौन सा है रूल नंबर टू बताओ रूल नंबर टू कौन से क्लोजर में आया सो रूल नंबर टू दे यू सी रूल नंबर टू क्लोजर नंबर सिक्स रूल नंबर टू रूल नंबर टू रूल नंबर टू एंड विज रूल नंबर थ्री सिंगल भी i4 में हुआ है सो रूल नंबर थ्री रूल नंबर थ्री रूल नं नंबर थ्र आर्गुमेंट प्रोडक्शन का आप गेम जानते हो अभी भी मैं एलआर 0 के हिसाब से ही बना रहा हूं है ना तो वहां पर हम क्या करते हैं तो वहां पर गेम क्या है कि जहां भी स्पेशल प्रोडक्शन रिड्यूस हुआ है व्हिच इज इन i1 तो वहां पे जाएंगे बट सब में नहीं सिर्फ डॉलर में जाके हम लिखते हैं एक्सेप्ट तो ये देखिए एक और ग्रामर के लिए हमने एलआर 0 टाइप का पूरा कैनॉनिकल कलेक्शन टेबल बना के कंप्लीट कर दिया व्हिच इज लाइक जिसके सबसे ज्यादा चांसेस है कि वो सेमेस्टर में आपसे पूछा जाए और कहीं कोई क्ला होता हुआ नजर नहीं आया तो उसका मतलब यह ग्रामर एलआर 0 ग्रामर है है ना एज सिंपल एज दैट अब रही बात एक स्ट्रिंग पास करके दिखाने की ताकि आपको अप्रोच याद रहे तो आई थिंक एी एी वैलेड स्ट्रिंग होगी क्या एी एी आई थिंक सो तो एक सैंपल स्ट्रिंग ले लेता हूं बाद में आपको ट्री बना के भी दिखाऊंगा ए ब ए डॉलर और नहीं भी हुई तो चलो एटलीस्ट पता लगेगा कि इनवैलिड है तो क्या किया था लास्ट टाइम भी वो अप्रोच फॉलो करेंगे सो आई विल हैव अ स्टैक आमतौर पर वर्टिकल बनाया जाता है या हॉरिजॉन्टल ले लेता हूं जगह कम है एंड आई विल स्टार्ट विद जीरो तो यहां पर डॉलर नहीं पुश करते सर जीरो पुश करते हैं ऑन अ स्टेट जीरो ऑन इनपुट सिंबल a क्या करने का सर जीरो पर ए आएगा तो शिफ्ट करना है और जाना है क्लोजर नंबर थ्री पे शिफ्ट करना माने इस a को उठाया स्टैक के अंदर शिफ्ट कर लिया और हमारा स्टेट हो गया थ्री नाउ ऑन अ स्टेट थ्री बी पे क्या करना है है ऑनर स्टेट 3b पर भी शिफ्ट करना है देर यू सी तो यह लीजिए सर इस b को भी पिक किया यह आया हमारा स्टैक के अंदर और हम पहुंच गए स्टेट नंबर फोर पे फोर पे a आए तो क्या करना है ओ माय गॉड तो देर यू सी पहली बार रिड्यूस आ गया फोर पे अगर a आया तो रूल नंबर थ्री रिड्यूस होगा रूल नंबर थ्री क्या लिखा हुआ है a टेंड्स टूल b आईडिया हमने समझा था यहां पर जो हैंडल है राइट हैंड साइड ऑफ़ द प्रोडक्शन उसका लेंथ वन है तो दो पॉप होने डबल पॉप होता है एक दो और यह स्ल b किस में रिड्यूस हुआ है कैपिटल a में स्म 3a पे क्या लिखा हुआ है 3a पर लिखा हुआ है सिक्स तो हमारी अगली स्टेट हो गई सिक्स दोबारा से रिवाइंड करके देख ले कोई कंफ्यूजन है तो पूरी प्रोसेस कैसे चल रही है और साथ-साथ इधर जगह कम मैं क्या करूं इधर आपको दिखा देता हूं ए ए ये स्ट्रिंग है ना तो मेरे को जो समझ आया दूसरे नंबर का भी रिवर्स ऑफ राइट मोस्ट डेरिवेशन का मतलब भी तो समझ आए तो शायद इस b को a में कन्वर्ट कर लिया गया है यस नाउ यू यू आर ऑन स्टेट सिक्स एंड देर इज अ सिंबल a सिक्स पर अगर a आए तो क्या करना है रूल टू रिड्यूज करना है व्हाट इज रूल टू देर यू सी कैपिटल ए टूल ए कैपिटल ए इस बार इस रूल का लेंथ कितना है दो तो उस टैक्स से पॉप कितने होंगे चार है ना गिन के करो देर यू सी एक दो ती चा चार बार हमने पॉप किया इसको रिप्लेस किया किससे नोटिस करिए कैपिटल ए से और 0 कैपिटल ए पौन कौन सा स्टेट लिखा है सर रो कैपिटल ए पे लिखा है टू अब यह हो गया हमारा नया स्टेट और जो मैं ट्री आपको बना रहा हूं मेरे को जो समझा स्मल ए कैपिटल ए को रिड्यूस कर दिया है नए कैपिटल ए में तो ये फर्स्ट हाफ ऑफ द ट्री काइंड ऑफ हमारा बनके तैयार हो गया अब आगे बढ़ी टू स्मल ए पे क्या लिखा है टूल ए पे दोबारा शिफ्टिंग चालू हो गई है तो देर यू सी ये ए गया अंदर एंड यू आर ऑन स्टेट थ्री ऑन स्टेट थ बी पर क्या लिखा है ऑन स्टेट थ बी पर लिखा है शिफ्ट टू फोर तो यानी के अगेन तो यह b हम लेंगे इसको शिफ्ट करेंगे एंड वी आर न स्टेट फोर नाउ $4 पे क्या लिखा हुआ है सर $4 पे लिखा है रिड्यूस रूल नंबर थ्री सो अगेन गेम चालू हो गया इस बार इस रूल का लेंथ है वन राइट हैंड साइड ऑफ़ द प्रोडक्शन का हैंडल का तो दो पॉप करूंगा एक दो b रिड्यूस हुआ है कैपिटल a में 3a पे क्या लिखा है 3a पे लिखा है 3a पे लिखा है 6 तो दिस इज़ माय न्यू स्टेट नाउ $6 पे क्या लिखा है $6 लुक एट दिस $6 पे लिखा है r2 तो रूल क्या है स्ल एपि a चार लेंथ 1 2 3 4 यस और ये रिड्यूस हुआ आई थिंक दोबारा कैपिटल a में तो उसको अंदर रखिए और आखिरी स्टेट था 2 2a पे क्या लिखा है सर 2a 2a 2a पे लिखा है 5 तो ये देखिए फाइव आ जाएगा अंदर कोई प्रॉब्लम है नहीं फिर आगे बढ़ी और अगर आप फॉलो कर पा रहे तो आई थिंक अभी तक क्या हो चुका है यह भी हमने रिड्यूस कर लिया ना यस तो यह बी बन चुका है एंड आई थिंक ये दोनों मिलकर फर्द ए बन चुके हैं यस नाउ लुक एट दिस $ पे क्या लिखा है $ प फाइनल लिखा है रूल नंबर वन रूल नंबर वन का ही सर लेना देना था अभी तक रिड्यूस हुआ नहीं लेंथ है दो सो चार पॉप होगा एक दो तीन चा और चार पॉप होगा रिड्यूस हुआ है किसम कैपिटल एस में एंड 0s पे क्या लिखा है सर 0s पे लिखा है यू गो टू स्टेट नंबर वन और आप चाहो तो यहां पर दिखा देता हूं कि ये ए से काइंड ऑफ दोनों बन गया और $ पे क्या लिखा है $ पे लिखा है एक्सेप्ट कानी खत्म पैसा हजम सो अब कुछ भी हो या ना हो सर इतने सारे केस कर लिए हैं ना कि आई डोंट वांट कि मेरा कोई स्टूडेंट अभी एग्जाम में जाके कंफ्यूज हो या बोले कि मेरे को एग्जैक्ट पार्सिंग नहीं समझ आ रहा यस सो एलआर 0 की पूरी कहानी पूरा लॉजिक क्लियर है एक सैंपल मैंने पहले से बना के भी रखा था सो दैट कोई कंफ्यूजन ना हो अब देखो पहली बार आपको बॉटम अप पार्सिंग की पूरी कहानी दिखाता हूं नोटिस करिए एलआर जीरो सर सबसे अंदर है है ना तो इसके बाहर जो पार्सर है वह इसके ज्यादा पावरफुल है इसका मतलब कि एलआर 0 सारे काम कर सकता है नहीं उसके बाहर एसएलआर व है देन एल एल आरव देन एल आरव वो कहानी आगे बढ़ेगी तो अब हम क्या कर सकते हैं एक और ग्रामर ट्राई करेंगे अब हर बार मैं टेबल नहीं फिल करके दिखा रहा बस आपको एक शॉर्टकट लॉजिक से समझा दूंगा क्या प्रॉब्लम है और बल्कि य पहला केस है तो यहां पे चलो एक टेबल फिल करके भी दिखाऊंगा तो दोबारा से पूरा प्रोसेस रिपीट करते हैं और अब हम स्टेप वन एक एक लेवल आगे बढ़ रहे हैं एक नया पार्सल अटेंप्ट करेंगे जिसका नाम है एसएलआर व व्हाट इज एसएलआर वन दैट इज सिंपल एलआर पार्सल ए का मतलब यहां पर क्या होता है सिंपल और कैसे सिंपल क्या कहानी है नोटिस करिए तो ग्रामर पे तो काम करना में आपको आता है है ना कैसे प्रोडक्ट बनाने कैसे आगे बढ़ना नोटिस करिए मेरे साथ चलिए लुक एट दिस पहला प्रोडक्शन वाइट कलर ही ले लेता ना ज्यादा सूट करता है सो लेट मी स्टार्ट ड टेंस टू डॉट e ऑगमेंटेड प्रोडक्शन डॉट के बाद ई लिखा हुआ है तो ई से स्टार्ट होने वाले सारे प्रोडक्शन सो e टेंस टू डॉट प्स e e टेंस टू डॉटी डॉट के बाद टी है तो के प्रोडक्शन टेंस टू आईडी कोई प्रॉब्लम है क्या नहीं बिल्कुल आई थिंक परफेक्ट तरीके से हम आगे बढ़ रहे हैं ठीक है सर तो नाउ दिस इज लाइक क्लोजर नंबर आ नॉ आगे बढ़ता हूं अगला नंबर होगा कैपिटल e के लिए सो देर यू सी ड टेंड्स टू e डॉट क्या कोई और प्रोडक्शन है डॉट के बाद e लिखा हो य प जी नहीं सो यह हमारा स्पेशल ऑगमेंटेड प्रोडक्शन रिड्यूस हो गया क्लोजर नंबर आव में नाउ यू सी इस बार आपको मजा आएगा बिकॉज इस बार देख क्या है डॉट के बाद लिखा है कैपिटल t है ना अभी कैपिटल डी में पहली बार आप देख रहे दो ऐसे प्रोडक्शन है जहां डॉट के बाद कैपिटल डी लिखा है तो क्या काइंड ऑफ दोनों यहां पर शिफ्ट करेंगे करेंगे तो तो ठीक है हम क्या कर सकते आगे बढ़ता हूं इसी लॉजिक के साथ तो यहां पर लुक एट दिस e टेंड्स टू t डॉट प् e एक बात और e टेंड्स टू t डॉट दो रूल आ गए वहां भी चेक कर लेते हैं क्लोजर क्या डॉट के बाद नॉन टर्मिनल तो नहीं है नहीं सर अभी नहीं है तो वेरी गुड यह बात यहीं पे रखते हैं और यह हमारा हो गया क्लोजर नंबर i2 फाइनली देयर यू सी देर यू हैव आईडी सो t टेंड्स टू ई डॉट और ये हमारा हो गया क्लोजर i3 कुछ बचा तो नहीं नहीं बचा है सर i1 इज ऑलरेडी डन अगला नंबर i2 का है तो किसके लिए करेंगे प्लस के लिए क्या होगा बताइए सो e टेंड्स टू t ् डॉट e नोटिस करिए डॉट की पोजीशन प्लस के लेफ्ट से आ गई राइट में अभी क्योंकि डॉट के बाद नॉन टर्मिनल है तो अगेन सर उससे स्टार्ट होने वाले सारे प्रोडक्शन मैं ऐड करूंगा एंड द स्टोरी विल गो एज यूजुअल सो e टेंड्स टू क्या होगा बोलो सो e टेंड्स टू डॉट t + e एक बात आ जाएगी फिर दूसरा प्रोडक्शन भी e टेंड्स टू डॉट t अब क्योंकि डॉट के बाद t है तो t का प्रोडक्शन भी मैं ऐड करूंगा कभी-कभी आपको ऐसा लगेगा कि यार यह धीरे-धीरे कम हो रहा है कि प्रॉब्लम बढ़ती जा रही है बट दैट विल बी ओके विट टाइम सो ये i4 आ गया ये तो ऑलरेडी रिड्यूस हो चुका है कुछ शिफ्टिंग होगी नहीं दिस इज आई थिंक ऑलरेडी डन तो यहीं पर बचा जगह कम इसको ऊपर मैनेज कर दूं तो कैपिटल e के लिए जब करूंगा सर सो दिस इज e टेंड्स टू t प् e डॉट तो ये e हमारा नोटिस कर एकदम लास्ट में पहुंच गया है और यह हो गया हमारा क्लोजर नंबर i5 ठीक बात है यहां पे यह सिनेरियो है बट आई थिंक आप कैपिटल डी के लिए पास करेंगे तो यही सिचुएशन आएगी सो ऑन कैपिटल t दिस इज काइंड ऑफ गोइंग बैक टू क्लोजर नंबर i2 सिमिलरली आईडी के लिए पास करेंगे सो आई थिंक यू गो बैक टू i3 सो ओवरऑल कितने क्लोजर आए सर i0 से लेके i5 तक ना i4 तक टोटल फाइव क्लोजर है अब देखो आप बोलोगे सर हम बात तो कर रहे हैं एसएलआर व के बट अभी तक जितना भी यह पूरा क्लोजर हमने बनाया कैनॉनिकल कलेक्शन हमने बनाया आप नोटिस कर लो मुझे बताओ कोई भी चीज चेंज है क्या नहीं हर चीज एकदम सेम है एगजैक्टली इसी तरीके से हम बनाते हैं देर इज नथिंग न्यू जो हमने कोई नया काम कर लिया अब यहां पर चेंज के आपको समझाता हूं टेबल फिलिंग मेथड चेंज है कैसे चेंज है नोटिस करिए पहले हम क्या करेंगे एल 0 के हिसाब से आगे बढ़ते हैं क्यों वो भी आपको समझाऊ तो जितने क्लोजर है मैं ऐसे ही चलूं i0 i1 i2 i3 i4 एंड i5 भाई कोई क्लोजर कोई घपला तो नहीं कर दिया हमने ये क्लोजर कम क्यों मैंने टेबल ऐसे ही रैंडम बना के रखा है एक बार चेक कर लेता हूं तो कैपिटल e बिल्कुल ठीक ही किया है टीवी ठीक किया आईडी ठीक किया है तो ये ऑलरेडी क्लोज्ड है डॉट के बाद प्लस है तो इधर हम आ गए i4 पे आगे नंबरिंग देख लेते हैं आन i1 i2 i3 i4 अभी तो देखो सब ठीक ही लग रहा है बाकी अब पहले से बना के तो रखा नहीं लाइव आपके सामने कर रहा हूं कुछ गड़बड़ होगी तो आप संभाल लीजिएगा बहुत कमेंट करके बदमाशी मत करिएगा वैसे मेरे को लग रहा है कि एवरीथिंग इज ओके ओके आगे बढ़ते हैं फिर यस तो भरवाए सर कैसे भरेंगे तो फिर वही बात क्या-क्या है मेरे पास टर्मिनल मेरे पास प्लस है आईडी है डॉलर है एंड नॉन टर्मिनल मेरे पास आई थिंक t है और e है या e पहले लिख लेता हूं e है और t है टर्मिनल शिफ्टिंग एज यूजुअल जैसे पहले से करते हैं करिए तो आ नॉ में आई थिंक प्लस के लिए तो नहीं है आईडी के लिए जरूर है और i3 पे गए हैं तो शिफ्ट टूथ नोट अ प्रॉब्लम i1 इज नॉट अ प्रॉब्लम i2 पे डबल शिफ्टिंग हुई है प्लस के लिए हम गए हैं फोर पे प्लस के लिए हम गए हैं फोर पे और यहां सिर्फ प्लस के लिए ही हुआ है है ना ओके फेयर इनफ i3 पे नहीं हुआ i4 पे हुआ है और यहां पे आईडी के लिए आप i3 में वापस आए हैं i4 पे आईडी के लिए आपने दोबारा शिफ्ट 3 किया है एंड i5 प आल्सो देर इज नो टर्मिनल शिफ्टिंग यस फेयर इनफ अगली बात आ गई सि बहुत लिमिटेड शिफ्टिंग हुए है बट क्या कर सकते हैं अगली बात आई नॉन टर्मिनल के लिए वो ज्यादा हुए हैं शायद यहां पे तो यहां देखिए i नॉ कैपिटल e पे आप गए हैं वन पे और t पे आप गए हैं टू पे i1 में नथिंग i2 में i2 में नथिंग i3 में भी नहीं हुआ i4 में कैपिटल e के लिए फाइव पे गए हैं i4 में कैपिटल e के लिए हम गए हैं फाइव में ऐसा ही है ठीक बात है और i5 में भी नहीं हुआ ये भी हमने भर लिया तो देखो यहां तक की स्टोरी तो बिल्कुल सेम है अब तीसरा काम जो हम करते हैं वह क्या करते हैं रिड्यूस एंट्री फिल करते हैं और एलआर 0 में अभी तक बताओ आपको क्या बता है एलआर 0 में कि यू नो जो भी य यू हैव दिस रूल नंबर्स लाइक रूल नंबर वन एंड रूल नंबर टू एंड रूल नंबर थ्री और जाओ और पूरे के पूरे रो में एंट्री फिल कर दो है ना मैं एक बार पहले ऐसे ही कर देता हूं तो करिए सर रूल नंबर थ्री कहां रिड्यूस हुआ है रूल नंबर थ्री i3 में रिड्यूस हुआ है सो यू गो एंड यू राइट रूल नंबर थ रूल नंबर थ्री रूल नंबर थ्री ग्रेट रूल नंबर टू कहां रिड्यूस हुआ है रूल नंबर टू आट में रिड्यूस हुआ है एंड दे यू सी पहली बार रूल नंबर टू दिस इज टू ना रूल नंबर टू रूल नंबर टू एंड रूल नंबर वन हमारा स्पेशल न नो इन जनरल हमारा जो मेन रूल है वो क्लोजर नंबर फाइव में हुआ है तो लेट मी राइट रूल नंबर वन रूल नंबर वन रोल नंबर एंड देर यू सी क्या यह ग्रामर एक वैलिड एल आर0 ग्रा है सोच के बताओ मेरे को नहीं है नहीं है एंड देर अ क्लश इसको बोलते शिफ्ट ड्यूस क्लश प्रॉब्लम क्या है पार्सर को रटने वाली बात नहीं समझने वाली बात भी समझा देता हूं प्रॉब्लम यह है सोचो जैसे टी मिला अब कंपाइलर कह रहा सर मैं कंफ्यूज हो गया हूं क्या मैं कैपिटल टी को कैपिटल e में रिड्यूस कर लूं या मैं कैपिटल टी को शिफ्ट करूं और कैपिटल टी प्लस e प्स कैपिटल टी प्स प्लस एंड कैपिटल e मैं यह हैंडल सर्च करूं और फिर कैपिटल e में रिड्यूस करूं यह कंफ्यूजन है कंपाइलर को इसीलिए वो बोल रहा है मेरे को बात समझ नहीं आ रही तो एज फार एज एलआर 0 इज कंसर्न एल आर0 पार्सर यह ग्रामर को काम नहीं कर सकता इस पर पार्सिंग नहीं कर सकता अब हम क्या पढ़ रहे हैं हम पढ़ रहे हैं एसएल आरव तो एल आर0 और एसएलआर व में एक ही चेंज है वो क्या है तो मैं बाकी पूरा टेबल ये जो कंस्ट्रक्शन आपने किया है यह सब कुछ एकदम सेम रहने वाला बस एक ही पॉइंट चेंज है वो क्या ये जो रिड्यूस एंट्री आप करेंगे ना सर यह पूरे एक्शन में नहीं करना यह सिर्फ फॉलो में करना है फॉलो भूल गए एल एलव में हमने अच्छे से पढ़ा था मैंने आपको बोला बताया भी था बिना फर्स्ट फॉलो के आगे कहानी नहीं चलेगी तो ध्यान से देखिए यह प्रोडक्शन देख लीजिए t टेंड्स टू या पहले मैं अलग से पूछ ही लेता हूं वरना बाद में कंफ्यूजन ना हो तो मुझे बताइए ई और टी दो ही है ना ई और टी यस दोनों का फॉलो कैलकुलेट करते हैं जरा व्हाट इज फॉलो ऑफ e एंड व्हाट इज फॉलो ऑफ t तो फॉलो ऑफ e जो है e तो क्योंकि ग्रामर का हमारा अ यू नो स्टार्ट सिंबल है उसका फॉलो हमेशा डॉलर होता है यहां पे अ करेंस है भी बट दैट विल लू बैक तो आपको कुछ नया सीखने को नहीं मिलेगा एज फार एज फॉल ऑफ t इज कंसर्न फॉल ऑफ t इज आल्सो फॉल ऑफ e तो डॉलर आएगा बट देर यू सी फॉल ऑफ t इज आल्सो प्लस है ना तो प्लस भी लिख लेता हूं आईडी मेरे को आते कहीं नजर आ नहीं रहा है फेयर इनफ तो ये दो फॉलो हो गए तो अब ये जो t टेंड्स टू आईडी है ना रूल नंबर थ्री जो कि क्लोजर नंबर थ्री में रिड्यूस हुआ है आपको सारे में नहीं लिखना सर आप देखिए कौन सा रूल रिड्यूस है रूल नंबर रिड्यूस है t2 आईडी सिर्फ t के फॉलो में एंट्री होगी तो एंट्री होगी डॉलर में और प्लस में तो मैं जाऊंगा यहां पे लिखूंगा रिड्यूस थ्री यहां पे लिखूंगा रिड्यूस थ्री आईडी में नहीं रखूंगा तो बेसिकली नंबर ऑफ रिड्यूस एंट्रीज कम होंगी अगर नंबर ऑफ़ रिड्यूस एंट्री कम होंगी तो कॉलीज होने के चांसेस भी कम होंगे अगर कोलिजन होने के चांसेस कम होंगे तो पार्सर की पावर ज्यादा होगी यह मैथ है इसकी अगला केस e टेंड्स टू t अब ये कहां रिड्यूस हुआ था ये रिड्यूस हुआ था इधर देखो इसी ने प्रॉब्लम किया था ना अब आप यहां पे नोटिस कर लो e का फॉलो क्या है e का फॉलो डॉलर है तो इसका मतलब जो i2 में रिड्यूस एंट्री होनी है वो डॉलर में होनी है बताओ क्लैश बच गया कि नहीं बच गया बच गया पहले रूल टू रूल टू रूल टू तीनों में आया था तीनों कॉलम में इस बार नहीं आया ये एडवांटेज है आर यू गेटिंग दिस एंड नाउ द लास्ट वन इज रूल नंबर वन रूल नंबर वन देयर यू सी रूल नंबर वन i5 में रिड्यूस हुआ है बट क्योंकि अ यू नो ई से शुरू हुआ है जिसका फॉलो सिर्फ डॉलर है तो एंट्री सिर्फ एक जगह आएगी और बाकी इधर तो आपको पता ही है i1 में जाके आपको एक्सेप्ट लिखना है सो आई थिंक एसएलआर व में क्या चेंज है और किस तरह से उसको टैकल करना है आई होप इसमें किसी को कोई डाउट कोई कंफ्यूजन नहीं रहेगा और बहुत शानदार तरह से आप पूरी प्रोसेस हैंडल कर पा रहे हैं पढ़े एक बार फ दर द प्रोसीजर ऑफ़ कंस्ट्रक्टिंग द पार्स टेबल इज सिमिलर टू एलआर 0 सो देर इज नो चेंज बट देर इज अ रिस्ट्रिक्शन इन द रिड्यूजिंग एंट्री जो हमारी रिड्यूजिंग वाली एंट्री उनमें रिस्ट्रिक्शन है बात हम भी मानते हैं क्या रिस्ट्रिक्शन है बताएं तो जरा सो यह कह रहा है व्हेन एवर देर इज़ अ फाइनल आइटम देन प्लेस द रिड्यूस एंट्री अंडर द फॉलो सिंबल ऑफ़ द लेफ्ट हैंड साइड ऑफ़ द सिंबल तो अल्फा टू बीटा अगर आपने रिड्यूस किया है फॉर एग्जांपल सब जगह एंट्री नहीं करेंगे सर सिर्फ फॉलो ऑफ़ अल्फा में करिए एंट्री यह गेम है आगे पढ़ता हूं इफ एलआर व पार्सल टेबल इज़ फ्री फ्रॉम मल्टीपल एंट्रीज देन द ग्रामर इज़ एसएलआर व तो यह जो एग्जांपल अभी आपने देखा लास्ट स्लाइड में अ लुक एट दिस दिस ग्रामर इज एन एग्जांपल जो कि ऐसी ग्रामर है जो एलआर 0 नहीं है बट एसएलआर व है एंड दिस आल्सो प्रूव्स कि पावर ऑफ़ एसएलआर व इज ग्रेटर दन द ऑफ देन दैट ऑफ़ एल आर0 यस एवरी एलआर 0 इज एएल आव बट एवरी एसएलआर इज़ नॉट नी नॉट टू बी एलआर 0 ये तो वही बेसिक बात है मान लीजिए दिस इज दिल्ली एंड दिस इज इंडिया इजेंट इट तो जो दिल्ली में है वो इंडिया में भी है जो इंडिया में है वो दिल्ली में हो ऑब् वियस यह जरूरी नहीं है एंड द लास्ट वन एसएलआर व इज मोर पावरफुल देन ऑफ एलआर 0 बिल्कुल ठीक बात है यहां तक की बात खत्म हो गई अब अगला नंबर है सर सल आरव का यह तो बहुत शानदार इसमें आपके साथ बात करूंगा पहले एक बात समझा देता हूं पावर के हिसाब से देखें तो पावर ऐसे चलता है सबसे पहले एलआर 0 फिर उससे ज्यादा पावरफुल है एसएलआर 1 फिर उससे ज्यादा पावरफुल है एल एल आरव और फिर सबसे ज्यादा पावरफुल है स एलआर 1 ये है अप्रोच बट आप नोटिस करिए कि मैं डायरेक्ट किधर जा रहा हूं clr100 रिड्यूस करते हैं टू कन्वर्ट इट बैक इन टू एलएलआर व है ना तो एलएलआर वन डायरेक्ट पढ़ नहीं सकते इसलिए जो सबसे हाईएस्ट पावरफुल पार्सर है एक और बात य ऐड कर देता हूं ज्यादातर टॉपिक्स ऐसे होते हैं पता है कि जो हम आपको पढ़ा रहे होते हैं ना और जो इंडस्ट्री में हो रहा होता है वो बिल्कुल अलग होता है बट दिस टॉपिक इज एन एक्सेप्शन तो आज भी सी c+ प जावा पाइथन जो भी प्रोग्रामिंग लैंग्वेजेस आप यूज कर रहे हैं उनके जो पार्सल हैं क्या वो बिल्कुल इसी तरह से काम करते हैं सेम मैथ पे जी हां इसमें कुछ नहीं बदला है सो दैट्ची पढ़ते हैं और समझते हैं सीएलआर व को इट इज द मोस्ट पावरफुल पार्सल और मैं सीधे बनाना चालू करता हूं गेम समझिए तो यहां पे सिर्फ टेबल फिलिंग मेथड डिफरेंट नहीं है बल्कि टू बी वेरी ऑनेस्ट सल आरव में नाना टेबल फिल करना आसान है यहां पर गेम क्या है ये जो कैनॉनिकल कलेक्शन बनता है ना इसमें पूरा कंफ्यूजन है और फैक्ट ये है कम से कम दो तीन चार केस तो आपको पहले बना के देखने पड़ेंगे अगर आपकी एक्सपेक्टेशन है कि एग्जाम में इस पर क्वेश्चन और आप सही से बना के आओ यस तो मैं बड़ा स्टैंडर्ड केस लेके चल रहा हूं एक-एक करके फॉलो करता हूं आई होप एक-एक बात आपको क्लियर होगी लुक एट दिस नाउ स्टेप वन सेम है तो मैं क्या कर रहा हूं सर मैं पहले स्पेशल प्रोडक्शन ले लेता हूं तो लेट मी टेक s ड टेंड्स टू डॉट s और क्योंकि डॉट के बाद s है तो s से स्टार्ट होने वाले सारे प्रोडक्शन सो s टेंड्स टू डॉट ससी एंड देन c टेंड्स टू डॉट स्ल c कैपिटल c अभ ये अलग-अलग है गौर करिएगा एंड c टेंड्स टू डॉडी अब आप बोलोगे सर यहां ये इस तरह का पैटर्न तो हमने पहले भी देखा देर इज नथिंग न्यू इन दैट बट है यहां पे कुछ नया क्या आपको समझाता हूं देखो एसएलआर व में हमने समझा था कि बाद में जो रिड्यूस्ड एंट्री होती है वो फॉलो में होती है और फॉलो कैसे कैलकुलेट करते हैं सर ग्रामर से ग्रामर हमने देखी फॉलो कैलकुलेट कर लिया यहां पर भी जो रिड्यूस एंट्री होंगी वह फॉलो में ही होंगी बट फॉलो हम ग्रामर से कैलकुलेट नहीं करेंगे तो आप बोलोगे ग्रामर से नहीं करेंगे तो कहां से करेंगे हम रन टाइम पे हर कंपाइलर आइटम के साथ हर क्लोजर के साथ फॉलो कैलकुलेट करते चलेंगे मैं बोलना क्या चाह रहा हूं नोटिस करिए अब देखिए ये जो पहला प्रोडक्शन है s ' का फॉलो क्या है बिकॉज़ s ड इज अ काइंड ऑफ अ स्पेशल सिंबल तो s ड का फॉलो ऑब् वियस क्या है डॉलर है ध्यान ध्यान से देखिएगा यहां देखिए आ गया डॉट अ ओके अब ये जो दूसरा प्रोडक्शन है ना कपिल s टेंड्स टू डॉट c c ये यहां पर कैसे आया क्योंकि डॉट के बाद ये s है इसकी वजह से आया इस s का फॉलो क्या है इस s के बाद तो कुछ लिखा नहीं है तो जो हमने समझा आपके बाद कुछ ना लिखा हो तो आपके पैरेंट का जो फॉलो है वही आपका फॉलो है तो इस ए का फॉलो भी इस हिसाब से हो जाता है डॉलर तो अब इस प्रोडक्शन के आगे लिखा जाएगा डॉलर अभी गेम और इंटरेस्टिंग होगा नोटिस करिएगा अब यह जो दो c है यह यहां पे कैसे आए सर ये इस वाले सी की वजह से आए लुक एट दिस ग्रामर में दो सी है बट यह जो दोनों सी है यह पहले वाले सी की वजह से आए अब अगर मैं आपसे पूछूं इस पहले वाले सी का फॉलो क्या है भला तो इस पहले वाले सी का फॉलो है दूसरे वाले सी का फर्स्ट बोलो हां या ना पहले वाले सी का फॉलो है दूसरे वाले सी का फर्स्ट दूसरे वाले सी का फर्स्ट क्या है सी का फर्स्ट देख लो जाके सी और डी तो मजे की बात है यहां पर फॉलो में आएगा सी और डी तो लेट मी राइट सी और डी पहली बार में थोड़ा कन्फ्यूजिंग लगेगा एकदम यहां सरेंडर मत कर करिएगा और यह भी मत कोशिश करिएगा कि पहली बार में एकदम से सब कुछ समझ आ जाएगा इट विल टेक टाइम बट धीरे-धीरे प्रोसेस करेंगे काम करेंगे यू विल हैव द एनटायर अंडरस्टैंडिंग सो ये यहां तक की नोटिस करिए कहानी हो गई कंप्लीट और ये भाई साहब हमारे बन गए पहले क्लोजर व्हिच इज लाइक i न आगे बढ़ता हूं जो ट्रांजीशन है जो पूरा क्लोजर सेट हम निकालते हैं वो एकदम सेम है बस ये जो गेम है ना क्लोजर निकालने का और फॉलो साथ में कैलकुलेट करने का इसमें कई बार कंफ्यूजन हो जाता है यस तो आगे बढ़ते हैं और अगली चीज मैं किसके लिए करूंगा सर कैपिटल s के लिए सो s ' टेंड्स टू s डॉट और फॉलो जब गो टू करते हैं एक जगह से दूसरी जगह प तो कोई चेंज नहीं होगा तो इट विल रिमन एज इट इज एंड नाउ देर यू सी इट इज लाइक i1 नो चेंज एट ऑल यहां देखिए अब क्या लिखा हुआ है s के बाद अ कैपिटल सी तो कैपिटल सी के लिए ट्रांजीशन लिखते हैं सर कैपिटल c सो s टेंड्स टू कपिल सड स और यह तो मैं क्योंकि यहां से लेके आया हूं फॉलो डॉलर है है ना अब नोटिस करिए क्योंकि डॉट के बाद सी लिखा हुआ है तो मेरे रिस्पांसिबिलिटी बनती है कि सी से स्टार्ट होने वाले सारे प्रोडक्शन यानी कि स्मल सी कैपिटल सी और स्मल d भी मैं यहां पे ऐड करूं अब नोटिस करिए ये जो दोनों प्रोडक्शन है ये पहले सी की वजह से आए कि दूसरे सी की वजह से सर ये दूसरे सी की वजह से आए हैं और इस सी का फॉलो क्या इसके बाद तो कुछ लिखा नहीं है इस सी का फॉलो है ए का फॉलो और इस का फॉलो है डॉलर तो यहां पे आ जाएगा डॉलर देर यू सी यहां पर कई बार ऐसा होगा सेम प्रोडक्शन सेम कंपाइल कंपाइलर आइटम्स हैं बट उनका जो फॉलो पार्ट है सर वो अलग-अलग है है ना दैट इज आईडिया फेयर इनफ यह बात कंप्लीट हो गई हमने कैपिटल सी के लिए कर लिया है ना और कैपिटल सी के लिए कहानी हो गई सो नाउ दैट बिकम i2 फर्द आगे बढ़ते हैं नेक्स्ट देखते हैं स्मल सी के लिए लेट्स ट्रा इन स्मल c सो देर यू सी c टेंड्स टूल सीड स नोटिस करिए और जब भी गो टू करेंगे फॉलो पार्ट हमारा हमेशा एकदम सेम रहेगा यस अब बताइए डॉट के बाद क्या लिखा हुआ है कैपिटल सी तो कैपिटल सी से स्टार्ट होने वाले दोनों प्रोडक्शन में ड करूंगा सो कैपिटल सी टेंड टू स्मल सी कैपिटल सी कैपिटल सी टेंस टू स्मल डी एंड यू सी c ऑडी सी ऑडी जो फॉलो है वो एज यूजुअल साथ में चलेगा एंड नाउ दैट बिकम क्लोजर नंबर i3 फाइनली आई थिंक आखिरी प्रोडक्शन प हम आ गए क्लोज नंबर आ नॉ के सो d के लिए करता हूं सो देर यू सी c टेंड्स टू डॉट और फॉलो जो है हमारा c ऑडी वो एज इट इज रहेगा एंड नाउ दैट बिकम i4 तो यहां तक की हमारी पूरी कहानी एकदम परफेक्ट सो आन इज डन i1 इज डन i2 कैपिटल सी बचा हुआ है सर तो आपकी परमिशन लेता हूं कैपिटल सी के लिए पास करता हूं सो s टेंड्स टू स स डॉट एंड दे यू सी द डॉलर पार्ट कोई फर्द प्रोडक्शन इसमें ड होगा नहीं दैट विल बी ऑल तो यह हमारा बन गया क्या बना यह बना हमारा क्लोजर नंबर i5 परफेक्ट तरीके से कहानी हमारी आगे बढ़ रही है यहां देखिए डॉट के बाद है स्मल c क्या ये केस कहीं रिपीट होगा पहले बना के देख लेता हूं सो स्मल c के लिए पास करता हूं c टेंड्स टूल c ड c डॉलर और क्योंकि डॉट के बाद c है तो उससे स्टार्ट होने वाले सारे प्रोडक्शन तोल c c एंड c टेंड्स टूल d और यह दोनों एज इट इज यहां पे रहने वाले हैं नोटिस करिए यस अब आप ध्यान से देखेंगे एक-एक प्रोडक्शन अलोंग विद द पोजीशन ऑफ डॉट ऑलरेडी रिपीट हो चुका है बट यहां पे फॉलो था सीडी और यहां पे फॉलो है डॉलर तो मैं इसको सेम क्लोजर फिलहाल नहीं मान सकता तो मुझे इसे एंट्री देनी पड़ेगी एंड आई विल कॉल इट एज i6 कोई दिक्कत ठीक है सर सिमिलरली नेक्स्ट आप देखेंगे डी अब यह डी ऑलरेडी अ मैं यू नो रिड्यूस कर चुका हूं बट यहां पे फॉलो सीडी था यहां पे फॉलो डॉलर है तो यह मैं अलग से करूंगा सर तो d को मैं क्लोज़ करता हूं इन सडी एंड देयर यू सी डॉलर एंड नाउ दैट बिकम क्लोजर नंबर i7 तो i6 के बाद i7 पे हम पहुंच गए है ना आगे बढ़े तो i5 हुआ i6 हुआ i7 हुआ एंड आई थिंक i2 इज़ डन इधर अब चालू कर लेते हैं अ इस तरह का रूल कहीं अभी मैं रिड्यूस होते देखा नहीं हूं तो आगे बढ़ता हूं कैपिटल c के लिए स सी टेंड्स टू स्मल सी कैपिटल सी फॉलो इ सीडी एंड दैट इज रिड्यूस और यहां पर कोई और रूल मुझे रिड्यूस होता नजर नहीं आता सो दैट बिकम i8 फेयर इनफ यहां पर स्मल सी और यह है यह तो मेरे को लग रहा है दैट विल बिकम अ सेल्फ लूप नोटिस करिए स्मल सी के लिए वापस आ जाएंगे क्योंकि ये फॉलो सीडी वाला ही पार्ट है और डी के लिए आई थिंक ये दोबारा i4 पर चला जाएगा तो आ3 इज डन i4 इज डन आ फाइव इज डन i6 में प्रोडक्शन रहता है ये कैपिटल सी हालांकि स्मल सी कैपिटल सी रिड्यूस हो चुका है बट ये फॉलो सीडी वाला है इसका फॉलो अलग है डॉलर वाला है ना तो जगह नहीं बची इधर कहीं मैनेज करता हूं ये मैं कैपिटल सी के लिए कर रहा हूं यस सो देर यू सीपल c2 स्ल c c डॉट एंड नाउ यू हैव अ डॉलर नाउ यू हैव अ डॉलर एंड आई विल कॉल इट एज i8 के मैं बाद इसको बोल देता हूं दिस इज लाइक i9 है ना तो ये भी हमारा डन हो गया i6 में कुछ हां ओके तो स्मल सी के लिए क्या करूं स्मल सी के लिए आई थिंक दिस विल बिकम अ सेल्फ लूप फॉर स्मल सी दिस विल बिकम अ सेल्फ लूप एंड फॉर स्मल डी ये नीचे आ जाएगा ये देखिए फॉर स्मल डी ये नीचे आ गया तो यह पूरी कहानी कंप्लीट हो गई i7 i8 एंड i9 फाइनली सो ओवरऑल नोटिस करिए टोटल 10 क्लोजर हमारे बने हैं अब तक का सबसे बड़ा बड़ा कैनॉनिकल कलेक्शन बना है और अभी आपको समझाऊं डिटेल में यहां पर कई बार ऐसा हुआ है कि सेम रूल्स को मल्टीपल टाइम हमने पास किया है बिकॉज़ इनके फॉलो डिफरेंट है और फॉलो रन टाइम में हमने कैलकुलेट किए हैं टेबल भरने का जो प्राइमरी मेथड है दैट इज मोर र लेस सेम पूरा गेम रिड्यूस एंट्री में है तो पहले स्ट्रक्चर देख लेते हैं हाउ मेनी टर्मिनल्स वी हैव सी और डी तो सर इनको मैं डायरेक्ट लिख देता हूं और डॉलर की मैं एंट्री अलग से करूंगा और रही बात बचे दो की सो आई थिंक कैपिटल एस एंड कैपिटल सी कैपिटल एस कैपिटल सी हाउ मेनी क्लोजर्स डू वी हैव आ नॉ से i10 तक i9 तक टोटल 10 क्लोजर है सो आन i1 आ2 i3 i4 i5 i6 i7 i8 एंड i9 कोई प्रॉब्लम नहीं है आगे बढ़ i न य अच्छा ये स्मल सी है थोड़ा बड़ा बन गया ध्यान दीजिएगा आ नॉन स्मल सी ओके चलिए तो वहां कैपिटल सी ऊपर नीचे स्मल सी है तो आ नॉ स्मल सी पे शिफ्ट कर रहा है थ्र पे और आ न स्मल डी पे शिफ्ट कर रहा है फोर पे शिफ्ट थ शिफ्ट फोर i1 पे नहीं है i2 स्मल सी पे सक्स पे और स्मल डी पे सेन पे i2 शिफ्ट सिक्स एंड शिफ्ट सेन i3 स्मल सी पे और स्मल डी पे दिस इज लाइक थ्री एंड फोर ये वो वाली एंट्री i3 की सो दिस इज अगेन s3 एंड s4 अब तो आई थिंक आप कंफर्टेबल हो चुका इतने सारे केस में बना चुका हूं तो देर इज नथिंग न्यू i4 में कोई टर्मिनल शिफ्टिंग नहीं है i5 में टर्मिनल शिफ्टिंग नहीं है i6 में है और यह सिक्स और सेवन वाला केस है i6 सिक्स और सेन वाला तो दस इज शिफ्ट सि और शिफ्ट सेन ऑलरेडी मेरे पास एंट्री है i7 i8 एंड i9 और कोई टर्मिनल शिफ्टिंग नहीं है ग्रेट अब बढ़ते हैं नॉन टर्मिनल्स कैपिटल ए एंड कैपिटल सी सो यहां पर मेरे को नजर आ रहा है आ न से व और टू i1 पे कोई एंट्री नहीं i2 में कपिट s नहीं है कैपिटल c के लिए सीधा एंट्री लगाइए फाइव पे सो यहां से मुझे फव मिला i3 में आप देखिए कैपिटल c से गए हैं 8 पे i3 में कैपिटल c से गए हैं 8 पे ग्रेट अ i3 में यस i4 i4 i4 i4 में नहीं है i5 में नहीं है i6 में है किधर गया ना में i6 में गए हैं नाइन में है ना c के ऊपर s की तो कोई एंट्री है ही नहीं उसके बाद i7 i8 और i9 में फर्द कोई एंट्री नहीं है सो दैट विल बी ऑल तो देर यू सी बहुत शानदार तरीके से हमने टर्मिनल नॉन टर्मिनल सब भर लिया अब बात आई रिड्यूस की जिसका पूरा गेम है और अब यह गेम आसान है तो पहला जो हमारा स्टेप है वो तो सेम रहता है सर अलाउ मी टू नंबर देम रूल नंबर वन रूल नंबर टू रूल नंबर थ्री आफ्टर आफ्टर नंबरिंग देम अब यहां पर करना यह है हमें कि ना अपने हिसाब से हम देखेंगे कौन-कौन सा रूल कहां-कहां पर रिड्यूस हुआ है और एंट्री कहां करेंगे वो बताता हूं तो देर यू सी आन में कोई रिड्यूस नहीं हुआ i1 में रिड्यूस हुआ है स्पेशल प्रोडक्शन और अब देखो यह सामने से बता रहा है पहले हम रटते थे कि बता है स्पेशल प्रोडक्शन की एंट्री डॉलर में होती है ये बता रहा है कि नहीं मेरी एंट्री डॉलर में ही करो कि फॉलो इसके सामने लिखा है तो i नॉ डर में ऑब् वियस मैं जाके क्या लिखूंगा एक्सेप्ट लिखूंगा अभी ध्यान से देखना i2 में कोई रिड्यूस नहीं है i3 में भी कोई रिड्यूस नहीं है i4 में रिड्यूस है दिस इज लाइक रूल नंबर थ्री कहां एंट्री होनी है यह बता रहा है सामने से ग्रामर मत देखो फॉलो के लिए कह रहा है मेरी एंट्री c और डी में करो सो i4 में c और डी में जाके मैं रिड्यूस लिखने वाला हूं रिड्यूस रूल नंबर थ्री रिड्यूस रूल नंबर थ्री आपको सल आरव और एसएलआर में डिफरेंस समझ आ रहा है एसएलआर में फॉलो कैलकुलेट करते हैं ग्रामर देख के यहां पे फॉलो रन टाइम पे निकाल रहे हैं हम तो जो आपके सामने लिखा उसी में आपकी एंट्री होगी ठीक है तो i4 इज डन i5 में कोई रिड्यूस हुआ है क्या हां हुआ है ना सर कौन सा प्रोडक्शन है ये r1 है डॉलर में एंट्री होनी है तो डॉलर में जाएंगे r1 लिख देंगे बढ़िया i6 में कोई रिडक्शन है i6 में कोई रिडक्शन नहीं है i7 में रिड्यूस हुआ है अगेन रूल नंबर थ्री एंट्री होगी डॉलर में रूल नंबर थ्री तो देर यू सी यहां पर पहली बार आप ऐसा देख रहे हैं एक रूल मल्टीपल टाइम रिड्यूस हुआ है बट क्योंकि फॉलो पार्ट अलग-अलग है तो मैं एंट्री अलग-अलग कर रहा हूं इसमें कोई प्रॉब्लम होनी नहीं चाहिए किसी को ओके i8 में भी रिड्यूस है रूल नंबर टू एंट्री होगी सी और डी में रूल नंबर टू एंट्री होगी सी और डी में और i9 में भी रिडक्शन है और स्मल सी कैपिटल सी रूल नंबर टू ही है एंट्री होगी डॉलर में सो देर यू सी पूरा सुंदर शानदार टेबल अलोंग विद द क्लोजर कैनॉनिकल कलेक्शन अलोंग विद द ग्रामर एक्शन गो टू शिफ्ट रिड्यूस एवरी एंट्री सब कुछ बना के हमने तैयार कर दिया है हर जैसा हम जानते हैं क्योंकि टेबल में मल्टीपल एंट्रीज नहीं है सो वी आर वेरी मच श्यर कि दिस ग्रामर इज़ clr100 और आर मतलब रिवर्स ऑफ राइट मोस्ट डेरिवेशन वन मतलब लुक एड सिंबल क्लोजर कैसे कैलकुलेट करता है आई थिंक ऑलरेडी आपको पता है बट यहां पे इसने वही बात लिखी एडिशनल डॉलर वाली बात है ना कि वो डॉलर की कहानी हम साथ-साथ साथ-साथ ऐड करते चलते हैं कुछ नया स्टेप नहीं है अब ये अगर प्रोडक्शन है है ना तो इसके साथ अगर मान लीजिए a का डॉलर साथ में रहेगा अब अगर बी से कोई नॉन टर्मिनल है तो वो भी जब आप ऐड करेंगे प्रोडक्शन तो उसका भी फॉलो लगाना पड़ेगा बी का फॉलो क्या है बीटा है है तो बी के फॉलो में फर्स्ट ऑफ बीटा और अगर वो फर्स्ट ऑफ बीटा नल होता है तो आप डॉलर तक पहुंच जाएंगे वह सारी चीजें आपको रखनी है गो टू बिल्कुल सेम है इवन क्लोजर से या फॉलो से कोई फर्क नहीं पड़ता जब एक क्लोजर से दूसरे क्लोजर में जा रहे हैं तो गो टू हम सेम तरीके से निकाल र देर इज नथिंग न्यू नाउ अगेन एल आरव ग्रामर की डेफिनेशन क्या हुई अ ग्रामर इज सेड टू बी एल आरव अगर उसके लिए एलआर व ग्रामर या पार्सर हम बना सक और पार्सर के अंदर मल्टीपल एंट्री ना हो जो हमने करके देख लिया है ठीक है व यहां पर लिखा है क्या अ पावर कंपैरिजन क्या हर एसएलआर सीएलआर है जी हां है बट क्या हर सीएलआर एसएलआर है नहीं ओबवियसली सीएलआर की जो कैपेबिलिटी ज्यादा है और कितनी ज्यादा है तो मान लीजिए सीएलआर अगर मैं बोलूं तो गलत नहीं होगा ना सीएलआर कंपाइलर का टूरिंग मशीन है सीएलआर कंपाइलर का टीज टीसी में सबसे पावरफुल मशीन क्या थी टूरिंग मशीन कंपाइलर का टूरिंग मशीन कौन है सल आरव इससे ना हो पाए तो किसी से नहीं हो पाएगा बात खत्म यह वाली कहानी है एंड देर यू सी ये यहां पर बैठा हुआ है इसके बाहर आप निकलेंगे तो आप पहुंच जाएंगे अन एमगस सीएफजी की दुनिया में जिस पर आप जानते हो कोई काम कर नहीं सकता इस दुनिया में एक और चीज नोटिस करिएगा कि अगर बॉटम अप पार्सर के साथ हम टॉप डाउन पार्सर कंपेयर करते हैं नोटिस करिए अगर बॉटम अप के साथ हम टॉप डाउन पार्सर कंपेयर करते हैं तो भी यहां पर आप ध्यान से देखिए कि एलएल वन जो है इसके अंदर आ तो यानी कि अगर कोई ग्रामर एल आरव अगर कोई ग्रामर एल एलव है तो एल आरव भी होगा बट वाइस वर्सा ओबवियसली ट्रू हो ये जरूरी नहीं है है ना तो यह पूरा ऑब्जर्वेशन क्लियर हो गया एक और बात यहां पर मुझे क्लियर करनी है जैसे हम जब भी बात कर रहे हैं ना हम बात कर रहे हैं एलआर के की और मैं उसमें हमेशा एल आरव लिख रहा हूं अब एक आर्गुमेंट हो सकता है सर अगम दो लुक एड सिंबल यूज करें सर अगर हम तीन लुकहेड सिंबल यूज करें आगे जाके थोड़ा फ्यूचर प्रोडक्शन देख ले तो कुछ मदद होगी क्या स लेट मी वेरी ऑनेस्ट विद यू इसके पूरे डेरिवेशन है हमारे स्कोप से परे हैं बट यह बात फैक्ट है अगर आप इन ज्यादा सिंबल भी स्कैन करोगे तो भी इन सबका पावर एकदम सेम होता है यानी कि जो काम आप एलआर टू पार्सर से करोगे वो मैं एलआर व से भी कर सकता हूं जो काम आप एलआर थ से करोगे वो एलआर व से भी कर सकता हूं सो दैट इज द रीजन हम इसके आगे जाके कोई इस पर डिस्कशन करेंगे नहीं हालांकि मुझे नहीं लगता यूनिवर्सिटी पॉइंट ऑफ व्यू में कोई बात करें इसके ऊपर बट करता है तो आपको अंडरस्टैंडिंग पता होनी चाहिए यस अब यहां पर एक आर्गुमेंट है विल गो बैक टू दिस यहां पर एक आर्गुमेंट यह है कि बहुत सारे जो क्लोजर्स थे ना वह एकदम सेम थे लेकिन हमने मल्टीपल टाइम रिड्यूस किया क्योंकि हम फॉलो सेपरेटली लेके चले इफ आई कोट एन एग्जांपल जैसे आप नोटिस करें इफ आई राइट द पेयर ना आप एक पेयर देखें i3 एंड i6 लुक एट दिस पेयर दोनों का डॉट का पोजीशन पूरा प्रोडक्शन एकदम सेम है बस फॉलो पार्ट डिफरेंट है और कोई पेयर जहां पे सब कुछ सेम हो बस फॉलो अलग-अलग हो जिस वजह से मल्टीपल टाइम आपको काम करना पड़ा आई थिंक i4 एंड i7 नोटिस करिए i4 एंड i7 सो देयर यू सी एंड देयर यू सी सब कुछ एकदम सेम है फॉलो डिफरेंट है और कोई आई थिंक यहां पर भी ऐसा है i2 एंड i6 i3 i6 में मैं कर चुका हूं पहले अच्छा i3 i6 में कर चुका हूं और कोई ऐसा जो मल्टीपल टाइम रिड्यूस हमने किया हो आई थिंक ये दोनों 8 और नाइन देयर यू सी i8 एंड i9 यहां पर भी मुझे सब कुछ मानो एकदम सेम लग रहा है बस फॉलो डिफरेंट है तो क्या ये वेस्टेज है क्या इसको मर्ज किया जा सकता है मे बी यस मे बी यस मे बी सीएलआर थोड़ा ज्यादा खर्चा कर रहा है तो अब जैसे मैंने आपसे बोला था एल एलआर जो है क्या उसको हम डायरेक्ट पढ़ते हैं नहीं सर डायरेक्ट नहीं पढ़ते हमें कोशिश करते हैं मिनिमाइजेशन की अब कब मिनिमाइज हो पाता है है कब नहीं हो पाता और कब किसी ग्रामर को सीएलआर के बाद एलएलआर कहा जा सकता है यह आगे के डिस्कशन में हम इसके ऊपर बात करेंगे यस ठीक है चलिए सर तो अभी बात करते हैं एलएलआर वन पार्सल्स की एलएलआर वन की स्टोरी शुरू करते हैं और अटेंप्ट क्या करेंगे इसी आईडिया को मिनिमाइज करने की कोशिश करेंगे जो अभी हमने बनाया है ना तो मैं उसी मैच पर चलता हूं बल्कि जो हमने बनाया ब अभी रिसेंटली बनाया तो हमारी सारी अंडरस्टैंडिंग क्लियर है अब हम क्या करते हैं सर यहां पे हम ये अटेंप्ट करने की पहले कोशिश करते हैं कि इस पूरे कैनॉनिकल कलेक्शन में क्या हमारे पास ऐसे दो क्लोजर है क्या जहां पे कंपाइलर आइटम्स अलोंग विद द पोजीशन ऑफ डॉट एकदम सेम हो बस उनका फॉलो पार्ट डिफरेंट हो आई रिपीट कंपाइलर आइटम अलोंग विद द पोजीशन ऑफ डॉट सेम हो बस उनका फॉलो पार्ट डिफरेंट हो जैसे ये एग्जांपल हमने देखा तो अब नोटिस करिए i3 और i6 इनका सब कुछ एकदम सेम है बस इनका जो फॉलो पार्ट है ना ना वो डिफरेंट है है ना अब कैसेस पर काम करना है हम i3 और i6 पर जाते हैं सर और हम इनको मर्ज करने की कोशिश करते हैं बल्कि चलो यहीं से शुरू कर लेते हैं अब आप मुझे बताओ अगर मैं शिफ्ट 3 और शिफ्ट 6 को मर्ज करूंगा तो क्या क्लश होगा दरअसल 3 तो i3 का ही रिप्रेजेंटेटिव है और 6 सि का ही रिप्रेजेंटेटिव है तो मान लो यह दोनों एक ही स्टेट हो गए तो मैं यह पूरा का पूरा रो यहां से हटा देता हूं ध्यान देना और पूरा का पूरा रो यहां से हटा देता हूं और उसका नाम रख देता हूं 36 अब यह मर्ज होके हो जाएगा 36 यह फिलहाल 47 होगा बट आप नोटिस करो 47 भी शायद फ्यूचर में मर्ज होगा तो कोई क्लैश है नहीं और सिमिलरली यह नाइ ऊपर जाएगा तो ये 89 मैं फिलहाल लिख देता हूं 89 फिलहाल लिख देता हूं बट आई थिंक यह भी दोबारा मर्ज होगा यार ये ऐसे एकदम कोने में चला गया ये 89 मैं लिख देता हूं बट ये भी शायद मर्ज होगा फिलहाल कोई क्लैश होता है नजर नहीं आ रहा अगला अटेंप्ट करते हैं 8 9 पे ही कर लेता हूं दोनों नीचे आसान है क्या 89 में भी एकएक कंपाइलर आइटम एकदम सेम है बस फॉलो डिफरेंट है हां करो मर्ज कराओ अब देखिए जैसे ही मैं मर्ज करूंगा यहां तो कोई एंट्री है नहीं r3 ऊपर आएगा कोई क्लैश हुआ क्या कोई क्लैश नहीं हुआ बच गए बाल बाल बचे i4 से i7 i7 को बाहर कर दो और यह r3 ऊपर आ जाएगा अच्छा एक चीज पे ध्यान देना है जहां पे सिर्फ 8 या ना लिखा है उसे 89 कर दो अभी 47 को मर्ज किया है तो ये सारे एक स्टेट कर दो 36 का नाम सबका चेंज कर दो ताकि कोई कंफ्यूजन ना हो तो देयर यू सी हमने मर्ज कर लिया और जब हमने मर्ज किया तो मर्ज करते हुए देखा कि कोई क्लैश हुआ कि नहीं हुआ कोई क्लैश नहीं हुआ अब ध्यान से सुनिए ये सीएलआर वन पार्सर था इसके अंदर मिनिमाइजेशन का स्कोप था क्योंकि हमें तीन ऐसे क्लोजर मिले मिनिमाइजेशन के स्कोप को हमने एक्सप्लोर किया और सच में मिनिमाइज किया और जब मिनिमाइज किया तो कोई क्लैश नहीं हुआ इसका मतलब यह ग्रामर सीएलआर व ग्रामर तो है बट ये ग्रामर साथ में एल ए एल आरव ग्रामर भी है दिस इज द आईडिया सो दिस इज सीएलआर व बट अलोंग विद दैट दिस इज आल्सो एलएलआर व है ना तो ये मिनिमाइज हमने कर लिया अब मैं आपको दो-तीन अलग-अलग केस पूरी तैयारी करके आया हूं यहां पे ये केस हो गया अब ये ग्रामर है है ना लेकिन अब ये ग्रामर एलएलआर वन है कि नहीं बताओ कैसे पता लगाए तो सर फिर वही करना पड़ेगा पहले पूरा सीएलआर बनाओ उसका पूरा टेबल कंस्ट्रक्ट करो फिर उसे मिनिमाइज करने की कोशिश करो और तब देखो टफ होगा बट क्या कर सकते हैं तो मैंने थोड़ा सा काम करके रख लिया आपको बिना टेबल बनाए बता के दिखाता हूं यह पूरा कैनॉनिकल कलेक्शन मैंने बना लिया आप चाहो तो फॉर सेक ऑफ प्रैक्टिस मैं तो एडवाइस करता हूं फिर से बना के देखना बट अब मेरा आईडिया क्या है आप मैं आपसे पूछ रहा हूं लुक एट दिस जरा ध्यान से सारे के सारे आइटम्स देखो और मुझे बताओ क्या कहीं पर आपको कोई भी दो कंपाइलर आइटम ऐसे दिख रहे हैं क्या नजर आ रहे हैं क्या जिनका कि अ यू नो जो भी कंपाइलर आइटम है एकदम सेम हो चेक कर लो आप एक बार एकदम सेम होना चाहिए बेसिकली स्कोप ऑफ मिनिमाइजेशन है कि नहीं है यह देखना है तो खैर यू कैन पॉज द वीडियो एंड यू कैन इन्वेस्टिगेट ऑन इट बट मैं आपको बता रहा हूं यहां पर आपको ऐसे दो क्लोजर मिलेंगे ही नहीं जो एकदम सेम हो बस फॉलो पार्ट डिफरेंट होने की वजह से उन्हें मल्टीपल टाइम रिड्यूस किया गया और नहीं मिलेगा आपको ऐसा और आपको अगर ऐसा नहीं मिला अब इसका मतलब क्या है इसका मतलब है कि इस पार्सर में मिनिमाइज होने का स्कोप ही नहीं है या ऐसे बोलूं तो इसमें मिनिमाइज होने का स्कोप नहीं है माने यह पहले से मिनिमाइज है और अगर यह पहले से मिनिमाइज है तो इसको भी सील आरव के साथ-साथ एल एल आरव कहलाने का अधिकार है दैट इज हाउ यू शुड सी इट तो कैन आई से दिस इज सल आरव आल्सो एंड आल्सो दिस इज एलएलआर व यस सर तो यह पढ़ो जरा एक बार इफ इन सीआ व इफ देर इज नो स्टेट हैविंग सम प्रोडक्शंस बट डिफरेंट फॉलो पार्ट वो सेम होना चाहिए ऐसे कोई भी दो स्टेट अगर आपको नहीं मिलते जिनका प्रोडक्शन एकदम सेम और फॉलो डिफरेंट है तो उसको भी आप सीएलआर व और एलएलआर दोनों बोलेंगे है ना तो अभी तक हमने दो केस देख लिए पहला मिनिमाइजेशन का स्कोप था हमने अटेंप्ट किया मिनिमाइज हो भी गया कोई क्लैश नहीं हुआ एवरीथिंग वास फाइन यहां पर मिनिमाइजेशन का स्कोप था हमने अटेंप्ट किया ओ सॉरी मिनिमाइजेशन का स्कोपी नहीं था इस वाले केस में स्कोपी नहीं था तो भी हमने मान लिया मिनिमाइज्ड है तीसरा केस हो सकता है हां हो सकता है नाउ लुक एट दिस ग्रामर अगेन मैं क्या बोलूंगा यू पॉज दिस वीडियो और पूरा का पूरा जरा कैनॉनिकल कलेक्शन बनाओ यूजिंग डिफरेंट डिफरेंट फॉलोज दैट विल बी फन एक बार करके देखना मैं आगे बढ़ता हूं नाउ यह पूरी कहानी है है ना अब देखिए ध्यान से अगर आप इसको देखेंगे तो मैं आपसे बस बोलूंगा एक चीज पे ध्यान दें i5 एंड i9 तो देर यू सी प्रोडक्शन पार्ट दोनों में एकदम सेम है बस फॉलो डिफरेंट है है ना तो ओबवियसली क्या यहां पर मिनिमाइजेशन का स्कोप है हां है तो आप ओबवियसली अटेंप्ट करेंगे तो मैं सब कुछ नहीं दिखा रहा बस एक छोटी सी चीज नोटिस करिए होगा क्या एक रो होगी i5 एक रोग होगी i9 और मैं आपसे सारे कॉलम स्टडी करने के लिए नहीं कह रहा ये ए और सी वाला आप देख लो मुझे बताओ i5 में आप क्या एंट्री करोगे अगर इनका नाम रख दूं रूल नंबर वन रूल नंबर टू रूल नंबर थ्री रूल नंबर फोर सपोज दिस इज रूल नंबर फाइव एंड सपोज दिस इज रूल नंबर सिक्स तो i5 में a टूडी रूल नंबर फ रिड्यूस हुआ है फॉलो है a तो यहां पर आप लिखोगे रूल नंबर फाइव छोटा सा टेबल बना के दिखा रहा हूं ताकि आपको बात अच्छे से समझा दूं एंड सिमिलरली i5 में ही b टूडी रिड्यूस हुआ है दैट इज रूल नंबर सिक्स फॉलो है सी तो यहां लिखोगे r6 सिमिलरली जब आप i9 में देखोगे तो a टूडी यह है रूल नंबर फाइव बट यह आएगा सिक्स में ये आएगा सी में और इधर यह आएगा ए में और अब जब आप अटेंप्ट करोगे मर्ज करने का तो रूल नंबर फाइव रूल नंबर सिक्स के साथ क्लैश कर जाएगा कहने की मतलब क्या है सर कंपाइलर कंफ्यूज हो जाएगा कि जब मेरे को d मिले तो मेरे को उसको कैपिटल ए में रिड्यूस करना है कि कैपिटल बी में एंड दैट इज नोन एज रिड्यूस रिड्यूस क्लैश सो दिस इज अ थर्ड काइंड ऑफ केस पॉसिबल जहां पे सील आरव है वहां कोई क्लश नहीं है सील आरव है लेकिन जब मैं मिनिमाइज करने जाता हूं तो पाता हूं कि मिनिमाइजेशन का स्कोप है बट मिनिमाइजेशन करते हुए क्लैश हो गया तो देयर यू सी द फर्स्ट एग्जांपल दिस इज़ अ ग्रामर व्हिच इज सीएलआर 1 बट व्हिच इज़ नॉट एलएलआर व एंड हेंस वी आल्सो प्रूव दैट द पावर ऑफ़ एलएलआर व इज लेस दन दैट ऑफ़ सल आरव क्योंकि सीएलआर 1 यह काम कर पा रहा है बट एलएलआर व नहीं कर पा रहा सो आई होप यह पूरी की पूरी रार की ये अभी आपको क्लियर है l आर0 मैं मैंने लगता है थोड़ा ज्यादा ही किया है एलआर 0 एसएलआर व एलएलआर व एंड दिस सीएलआर व को कुछ लोग सिंपली एलआर व भी बोलते हैं है ना अब ये छोटा सा केसस चैप्टर में लास्ट व्हिच इज लाइक ऑपरेटर प्रेसिडेंस सो दिस इज नॉट अ जनरल पर्पस पार्सिंग बट इसका क्या आईडिया है एक छोटा सा अप्रोच है एक-एक करके जल्दी से डिस्कस कर लेते हैं तो चलिए सर अभी बात करते हैं ऑपरेटर प्रेसिडेंस ग्रामर के बारे में जो कायदे से इस चैप्टर का आखिरी टॉपिक है बट बड़ा मजेदार है और काफी बार इससे भी बेसिक क्वेश्चन पूछ लिए जाते हैं यूनिवर्सिटी एग्जाम में तो पूछते हैं कॉम्पिटेटिव एग्जाम में भी पूछे जाते हैं तो कहीं कसर नहीं छोड़नी है बहुत ध्यान से ऑब्जर्व करते हैं लुक एट दिस सो ऑपरेटर प्रेसिडेंस पार्सल्स कैन बी कंस्ट्रक्टेड फॉर बोथ एमिगस एंड अनअंबिगुअस ग्रामर तो ये पॉइंट बड़ा इंपॉर्टेंट है है ना क्योंकि जितना भी हमारे मेन स्ट्रीम बॉटम अप पार्सर हैं जो पूरी एलआर के फैमिली हमने पढ़ी तो हम जानते हैं कि वो तो यार 110 पर सिर्फ अन एमिगस ग्रामर पे काम करते हैं तो यह बार-बार अपनी भौकाली मारेगा है ना अपना स्वैग दिखाएगा क्योंकि ये बोल रहा है कि मैं एमिगस ग्रामर पे भी काम करना जानता हूं हालांकि मैं आपको याद दिला दूं यह कोई जनरल पर्पस पार्सल्स नहीं है तो c c+ प जावा पाइथन इनके लिए हम ऑपरेटर प्रेसिडेंस पार्सल की बात नहीं करते हालांकि कुछ बेसिक मैथमेटिकल एक्सप्र एक्सप्रेशंस जो होते हैं है ना उसके लिए अच्छा काम करता है सो द इन जनरल ऑपरेटर प्रेसिडेंस पास पर्स हैव लेस कॉम्प्लेक्शन तो इनकी कॉम्प्लेक्शन अप पार्सर जितनी नहीं होती रिलेटिवली आसान होंगे एंड अ एवरी सीएफजी इज नॉट अ ऑपरेटर प्रेसिडेंस ग्रामर तो यह भी बात मैं क्लियर कर देता हूं यहां पे कि इनकी पावर यह बात ठीक है कि ज्यादा है रिलेटिव टू नॉर्मल पार्सल्स बॉटम अप इस तरह के केस में एटी केस में देखें लेकिन यह कोई जनरल पर्पस लैंग्वेज के लिए काम नहीं हो सकता इनका काम है कुछ बेसिक एक्सप्रेशंस पे काम करना खासकर जब हम कोई साइंटिफिक कैलकुलेशन वगैरह करते हैं वहां ये काम आते हैं तो अब किस तरह के क्वेश्चंस आएंगे क्या-क्या आईडिया है सबसे पहला जो बेसिक क्वेश्चन आई विल गो वन बाय वन वो है कि ग्रामर आपके सामने हमने दी होगी और आपसे पूछेंगे बताओ यह ग्रामर ऑपरेटर प्रेसिडेंस ग्रामर है कि नहीं है या अदर वे राउंड आपसे डायरेक्टली पूछ लेते हैं व्हाट इज द डेफिनेशन फॉर अ ग्रामर टू बी ऑपरेटर प्रेसिडेंस तो यहां ध्यान देना आमतौर पे जब हमने बात की लेट मी से कि कोई ग्रामर एलआर व है कि नहीं तो ये इतना आसान नहीं है हमें पूरा यू नो कैनॉनिकल कलेक्शन बनाना पड़ता है पूरा क्लोजर करते हैं टेबल बनाते हैं तब कहीं जाक हम पता लगता है कि वेदर इट इज एलआर व और नॉट ऐसा ही है ना यहां पर ऐसा नहीं है बस दो प्रोडक्शन चेक करने आपको सीएफजी में अगर वह रूल सेटिस्फाई होते हैं तो मान लेते हैं कि ग्रामर ऑपरेटर प्रेसिडेंस है वरना नहीं क्या वह रूल है आइए देखते हैं सो ऑपरेटर प्रेसिडेंस ग्रामर इज़ अ कॉन्टेक्स्ट फ्री ग्रामर तो पहली बात जो आपको ध्यान में देनी है कि यह एक वैलिड कॉन्टेक्स्ट फ्री ग्रामर है दैट इज़ द फॉलोइंग प्रॉपर्टीज दो चीजों पे ध्यान देना जैसे मैं बोल रहा था ना कौन-कौन सा पहला इट डज नॉट कंटेन नल प्रोडक्शन इट डज नॉट कंटेंस नल प्रोडक्शन तो नल प्रोडक्शन नहीं हो सकते यह पहली चिढ़ है पहली प्रॉब्लम है दूसरा तो एक सेकंड मैं दोबारा बता दूं यहां पर हम यह नहीं बता रहे आपसे कि क्या हो सकता है प्लीज अंडरस्टैंड हम क्या बता रहे हैं क्या नहीं होना चाहिए उसके अलावा जो भी है सब चलेगा ठीक है तो पहला पॉइंट तो बोल दिया कि डज नॉट कंटेन नल प्रोडक्शन सेकंड नो एडजेसेंट नॉन टर्मिनल ऑन द राइट हैंड साइड ऑफ एनी प्रोडक्शन तो किसी भी प्रोडक्शन में सपोज देयर इज अ प्रोडक्शन फ्रॉम अल्फा टू बीटा तो ऑन द राइट हैंड साइड एक से ज्यादा नॉन टर्मिनल हो सकते हैं बट कंटीन्यूअस नहीं होने चाहिए तो मान लीजिए फॉर एग्जांपल अगर ऐसा कुछ लिखा हुआ है लेट मी सी ए बी सी तो इवन ये तीन नॉन तीन नॉन टर्मिनल हो गए कंटीन्यूअस ये तो दो को भी मना कर र है ये वाली कहानी है है ना तो फॉर एग्जांपल अब देखिए चार ग्रामर आपके सामने लिखी हैं और आपको पहचान के यही बताना है कि इसमें से कौन-कौन सा ग्रामर हमारा ऑपरेटर प्रेसिडेंस है और कौन-कौन सा नहीं है सो वी विल गो वन बाय वन अब यहां देखिए पॉइंट नंबर वन क्या कोई नल प्रोडक्शन है सर नल प्रोडक्शन तो नहीं है क्या राइट हैंड साइड ऑफ द प्रोडक्शन में कहीं पर भी कंटस नॉन टर्मिनल है क्या हां यहां पे है देर इज अ प्रॉब्लम देख रहे हो ए और बी बैक टू बैक लगातार है इसका मतलब यह ग्रामर ऑपरेटर प्रेसिडेंस ग्रामर नहीं है बस इतनी सी बात है ऐसे ही करना है कोई महान काम नहीं ठीक है अगला केस ट्राई करो देर यू सी कैपिटल एल ए कैपिटल भी स्मल ए कैपिटल ए अगेन पूरा ग्रामर हमने देख लिया क्या यहां पे नल प्रोडक्शन है नहीं सर नल प्रोडक्शन तो नहीं है क्या राइट हैंड साइड ऑफ द प्रोडक्शन पे कंजू दो नॉन टर्मिनल है नहीं वो भी नहीं है सो सॉरी सो इसका मतलब ये ऑपरेटर प्रेसिडेंस है कोई गड़बड़ नहीं है ना इसके अंदर इधर देखो इस तो शक्ल ही खराब है देखते ही मेरे को नल प्रोडक्शन नल प्रोडक्शन नजर आ गया तो देन नाउ दिस ग्रामर कैन नॉट बी अ यू नो दिस सेम आइडिया ऑपरेटर प्रेसिडेंस नहीं हो सकता लुक एट द लास्ट वन इसके अंदर मानो सब कुछ परफेक्ट है बट देयर यू सी यहां पर ये जो कैपिटल ओ है जो समझ आ रहा है ये भी रिप्रेजेंटेटिव है नॉन टर्मिनल का कैपिटल सिंबल है तो नहीं अलाव कर सकते सर दिस इज आल्सो गॉन है ना तो अब मेरे ख्याल से विद सॉल्विंग दिस एग्जांपल्स ये पॉइंट तो क्लियर है कि किसी भी ग्रामर को देख के पहचानना कि ये ग्रामर जो है यह ऑपरेटर प्रेसिडेंस है कि नहीं यह तो हम आराम से आप कर ही सकते हैं है ना इसमें कोई प्रॉब्लम नहीं है आगे बढ़ते हैं अब हमें करना क्या होता है इसका भी एक टेबल बनता है एक पार्सिंग टेबल बनता है जिसमें मल्टीपल ऑपरेटर्स होंगे अब देखो पॉइंट क्या है एक्सप्रेशंस है किसी भी एक्सप्रेशन को जब सॉल्व करना है तो हमें दो चीज पता होनी चाहिए एसोसिएटिविटी प्रायोरिटी तो पहले तो बात करता हूं प्रायोरिटी की मानो कि जैसे बडो मास पढ़ते हैं मैथ में वही बात है तो अगर मैं ऐसा लिखता हूं लेट मी से a + b टी c तो बचपन से हम अलजेब्रा पढ़ते हैं हमें पता है कि सर ब्रैकेट पहले सॉल्व होगा भले उसके अंदर कोई भी ऑपरेटर लिखा हो तो इस केस में पहले a + b को सॉल्व करेंगे जो रिजल्ट आएगा उसको c के साथ मल्टीप्लाई करेंगे बेसिक अंडरस्टैंडिंग है ना ठीक उसी तरह जब एक ऑपरेटर प्रेसिडेंस पार्सिंग हमें करनी है एक ग्रामर के मल्टीपल सिंबल्स हमारे पास हैं तो हम एक पार्स सिंग टेबल बनाते हैं जिसको बनाते हुए हम एक्सक्यूज मी हम एसोसिएटिविटी प्रायोरिटी दोनों का ध्यान रखते हैं कैसे आपको समझाता हूं तो लुक एट दिस एक ग्रामर हमारे पास है जिसमें आप देख रहे हैं लेफ्ट और राइट दोनों रिकर्स है तो ग्रामर तो ओबवियसली एमिगस है बट जैसे मैं बोल रहा हूं हमें फर्क नहीं पड़ता क्यों क्या राइट हैंड साइड ऑफ द प्रोडक्शन में कहीं पर भी नल प्रोडक्शन है सर नहीं है क्या कहीं पर भी कंक्यूबिन है नहीं अच्छा अब इसका भी आपको लॉजिक समझाता हूं हम रटू तो होते थोड़ी है क्यों कह रहे हैं क्या चीड़ है इस प्रॉब्लम से देखो यहां पे हम जो भी एक्सप्रेशन लिखते हैं ना वो लिखते हैं दो डॉलर्स के बीच में जो भी लिखना है a + b मल्टीप्ला सी व्हाट एवर जो भी एक्सप्रेशन आपको लिखना है अब आप मुझे बताओ एक्सप्रेशन सॉल्व करते करते करने के बाद फाइनली आपको कुछ ना कुछ तो मिलेगा ना मे बी जीरो मिले बट ऐसा है क्या कि मैं आपको एक्सप्रेशन दूंगा आपने सॉल्व किया और बाद में कुछ भी नहीं मिला मानो गायब हो गया नहीं गायब नहीं होता सर कम मिले ज्यादा मिले कुछ ना कुछ तो मिलेगा पॉइंट नंबर वन तो क्या बाद में नल हो सकता है नल नहीं हो सकता सकती कोई स्ट्रिंग कोई एक्सप्रेशन नल नहीं हो सकता उसका कुछ ना कुछ तो रिजल्ट आएगा यह बड़ा लर्निंग लर्निंग नंबर दो जब मैं आपसे एक्सप्रेशन की बात करता हूं तो मेरे को ऑपरेंट चाहिए और ऑपरेटर चाहिए तो अगर मैं लिख रहा हूं यहां पे a + b बात समझ आ रही है कि a को b के साथ ऐड करना है लेकिन अगर मैं लिख दूं सिर्फ ए अब मैं बोलूं आंसर क्या है तो भई ये क्या मतलब हुआ आपको कुछ वैल्यू तो रखनी पड़ेगी ना तो इसलिए दो नॉन टर्मिनल बैक टू बैक रखने का मतलब क्या है जिस जो हम कह रहे हैं हमें नहीं चाहिए बेसिकली आप दो ऑपरेंट रख रहे हो अब जब तक उनके साथ ऑपरेटर नहीं रखोगे तब तक प्रॉब्लम कैसे सॉल्व होगी इजेंट इट दैट इज द टू रीजन हम उसको मना कर रहे हैं तो अब ये ग्रामर हमारे पास है जहां पे हम मल्टीप्लाई और एडिशन और आईडी जनरेट कर सकते हैं है ना और यहां पे प्रायोरिटी लिखने का तरीका क्या एक सिंबल आपको समझा देता हूं देखिए ये सिंबल लगाना है ऐसे अलोंग विद अ डॉट है ना तो अब अगर मैं ऐसा लिख रहा हूं इसका मतलब प्रायोरिटी ऑफ ए जो है ना वो हाई है प्रायोरिटी बी के सिमिलरली नाउ व्हाट डज दैट मीन a का प्रायोरिटी कम है ब से इसका मतलब है दोनों का प्रायोरिटी सेम है अब ये टेबल हमें भरना है लेफ्ट टू राइट बेसिकली तो आईडिया देखिएगा यहां पे मतलब क्या है आईडी आईडी अगर दो आईडी कभी फ्यूचर में आपस में टकराएंगे तो इनमें किसकी प्रायोरिटी ज्यादा किसकी कम तो उसको मैं ब्लैंक छोड़ देता हूं क्यों ऐसा कभी हो ही नहीं सकता वही जो भी आर्गुमेंट आपको समझाया क्या दो बैक टू बैक आइडेंटिफिकेशन टर इन बिटवीन इजंस आती है अब अगर आईडी और स्टार आपके पास है तो आईडी कोई ऑपरेशन नहीं आईडी एक ऑपरेंड है अगर वो है तो उसको पहले सॉल्व करना है तब आपको ऑपरेटर पे आना है तो आईडी की तो प्रायोरिटी सबसे वेदर वो स्टार है या वो प्लस है या वो डॉलर है डॉलर इज लाइक अ एंड ऑफ स्ट्रिंग है ना उसकी प्रायोरिटी तो सबसे कम होने वाली है तो इस तरह से हम इसे फिल करेंगे बहुत आराम से एक-एक करके वैल्यू बाय वैल्यू आईडिया बाय आईडिया समझ रहे हैं अब यहां देखो स्टार और आईडी बोल रहा हूं आईडी को सबसे से ज्यादा है तो आईडी की स्टार से ज्यादा है स्टार स्टार अब ये क्वेश्चन है एसोसिएटिविटी का है ना और मैथ में आमतौर पे इवन आई थिंक एक्सेप्ट फ्रॉम पावर सबकी एसोसिएटिविटी लेफ्ट टू राइट है कहने का मतलब है अगर हमारे पास ये लिखा है मान लीजिए a स्टार b स्टार c है ना तो आप मुझे बताएंगे इसकी इसमें पहले किसको सॉल्व करते हैं इन जनरल सर हम लेफ्ट टू राइट चलते हैं अगर क्लश होता है तो पहले ए को सॉल्व करेंगे जो रिजल्ट आएगा फिर उसको c के साथ सॉल्व करेंगे तो अब ये लेफ्ट में ट में तो ओबवियसली लेफ्ट वाले स्टार की प्रायोरिटी ज्यादा स्टार और प्लस में तो कोई कंफ्यूजन नहीं है स्टार डॉलर डॉलर की सबसे कम है तो स्टार आईडी के अलावा सबसे जीता है प्लस आईडी से तो हारेगा प्लस और स्टार में अब भले ही प्लस लेफ्ट में हो लेकिन स्टार की ओबवियसली मल्टीप्लाई की प्रायोरिटी ज्यादा है तो एसे फिल कर देता हूं स्टार स्टार अगेन क्या एडिशन भी लेफ्ट एसोसिएटिव होता है जी हां तो अगर a + b + c मेरे को लिखा हुआ है तो पहले मैं क्या सॉल्व करूंगा सर पहले मैं a + b करूंगा जो रिजल्ट आएगा उसको c के साथ ऑपरेट करूंगा तो यह भी हमें अंडरस्टैंडिंग है सर प्लस और ऑब् वियस प्लस डॉलर से सब जीत रहे हैं डॉलर आईडी में आईडी जीतेगा डॉलर स्टार में स्टार डॉलर प्लस में प्लस एंड डॉलर डॉलर में सो डॉलर डॉलर में अगेन प्रायोरिटी मत सेट करो इसको फिल इन द ब्लैंक कर दो ऐसा नहीं हो सकता व्हाई ये वही एलन वाला प्रॉब्लम है ल स्टार्टिंग में था एक डॉलर एंड में था सॉल्व करते आओगे तो कुछ ना कुछ तो बाद में मिलेगा ना य कांट हैव एलन प्लीज अंडरस्टैंड एलन तो नहीं हो सकता तो यह भी एक लर्निंग अंडरस्टैंडिंग है है ना तो ये हमने अपना टेबल फिल कर लिया तो धीरे-धीरे स्टेप बाय स्टेप कर रहे हैं अभी टेबल फिल करने के बाद एग्जैक्ट पार्सिंग कैसे करते हैं वो एक एग्जांपल से आपको समझाता हूं तो टेबल मैं बार-बार इधर आके रेफर करता रहूंगा कैसे काम कर र स्टेप बाय स्टेप अलोंग विद पूरा एल्गोरिदम देखिएगा मजा आ जाएगा आपको अप्रोच देखिए क्या है तो एक छोटा सा सैंपल स्ट्रिंग मैं यहां पर ले रहा हूं व्हिच इज लाइक आईडी यहां पे मैं कलर चेंज कर लेता हूं है ना आईडी प्स आईडी मल्टीप्ला आईडी अ वेरी बेसिक वन और यहां पर आप देख सकते हैं कि यहां से भी जनरेट किया जा सकता है इस इस ग्रामर से मान लो हमने जनरेट किया है नाउ वी विल इंसर्ट अ डॉलर सिंबल इन द स्टार्ट एंड द एंड ऑफ़ द इनपुट स्ट्रिंग तो जैसा मैंने आपसे बोला भी था ॉ स्टार्टिंग में और एक एंड में हम रख देते हैं एंड वी आल्सो इंसर्ट द प्रेसिडेंस ऑपरेटर बाय रेफरिंग द प्रेसिडेंस रिलेशनल टेबल जो अभी हमने ऑब्जर्व किया तो क्याक नोटिस करो वैसे हमें याद भी हो गया आप देख सकते हैं डॉलर आईडी में आईडी की ज्यादा डॉलर और प्लस में आईडी ज्यादा प्लस आईडी में आईडी तो सबसे जीत रहा है है ना और एसोसिएटिविटी की यहां जरूरत पड़ेगी नहीं क्योंकि प्लस और मल्टीप्लाई एक ही बात है लाइक दिस लाइक दिस तो ये जितने ब्रैकेट्स थे ना ये हमने ब्रैकेट लगा लिए अब क्या करना है पढ़ना शुरू करो ये एग्जैक्ट एल्गोरिथम है स्टेप नंबर वन स्कैन करो इनपुट स्ट्रिंग को फ्रॉम लेफ्ट टू राइट अब हम अ कैसे ऑपरेटर प्रेसिडेंस ग्रामर को पास किया जाता है वो सीख रहे हैं लेफ्ट टू राइट अंट्स ये क्लोजिंग वाला इज एनकाउंटर्ड लेस दन इज एनकाउंटर्ड तो देखो यहां से स्कैन करना शुरू किया देयर यू सी हमें पहली बार यह वाला लेस देन वाला या ग्रेटर दन जो भी पढ़ना है इसे पढ़ लो सिंबल हमें मिला नाउ स्कैन बैकवर्ड्स ओवर इक्वल टू अंट्स ही आपको मिले यू से द हैंडल इज बिटवीन दिस स्ट्रिंग तो इन दोनों के बीच में जो भी है वो आपका हैंडल है और यहां पे हमारा हैंडल इसका मतलब हमको मिल गया वो है आईडी और हैंडल आप जानते हो क्या होता है हैंडल इज दैट पार्ट ऑफ द राइट हैंड साइड ऑफ़ द प्रोडक्शन जिसको आप रिप्लेस कर सकते हो लेफ्ट हैंड साइड से तो यहां पर आप देख रहे हैं इसको हमने कैपिटल e से रिप्लेस कर दिया पूरी डिटेल में साथ-साथ लिख भी रहा हूं अब सिमिलरली आप सोच सकते हो अग फिर प्रोसेस आगे बढ़ेगी तो इस बार यहां पे जाके रुकेंगे ना आई थिंक ये आपके पकड़ में आ जाएगा है ना सो नाउ इन द स्टेप नंबर टू ये आईडी हमारा हैंडल बनेगा यह कैपिटल ही बन जाएगा ऐसे ही चलते जा जाओ अगले स्टेप में यह आईडी आपका हैंडल बनेगा एंड e बन जाएगा तो यहां तक की तो प्रोसेस सबसे आसान है बट आप देख रहे हो उसका तब कुछ बचा नहीं अब क्या करना है लुक एट दिस इस स्टेप पे जाके जितने भी नॉन टर्मिनल्स हैं वो सब उठा के रिमूव कर दो तो कैपिटल e कैपिटल e कैपिटल e तीनों चला गया क्या बचा प्लस और स्टार अब प्लस और स्टार की प्रायोरिटी भी क्या हमें पहले से डिसाइड करनी आती है जी हां आती है सो नाउ यू सी फिर से हम इंसर्ट कर देते हैं डॉलर एंड डॉलर और प्रायोरिटी मैं आपसे पूछूंगा डॉलर और प्लस में बताओ किसकी प्रायोरिटी ज्यादा है प्लस की प्लस और मल्टीप्लाई में मल्टीप्लाई की मल्टीप्लाई डॉलर में लाइक दिस तो अगेन सिमिलर तरह के ब्रैकेट हमें मिले और नाउ यू कैन अंडरस्टैंड ये देख के कि पहले कौन सॉल्व होगा पहले मल्टीप्लाई सॉल्व होगा एंड मल्टीप्लाई सॉल्व होगा इसका मतलब क्या हुआ अगर मैं यहां देखिए बॉटम ऑफ फैशन में आपको ट्री भी बनाते दिखाऊं सो आईडी मल्टीप्ला आईडी आई थिंक इन सबको e के अंदर तो हम पहले ही रिड्यूस कर चुके हैं अब यह समझ आया कि सेम एल्गोरिथम यूज़ करके कि पहले मल्टीप्लाई सॉल्व होगा सो बेटर टू राइट इट लाइक दिस e ओनली एंड देन उसके बाद प्लस बनेगा प्लस सॉल्व होगा तो यहां पर आपको मिलेगा एंड देर यू सी द पार्सिंग ट्रे आई थिंक इट मेक्स सेंस आल्सो बिकॉज़ ऑब् वियस अगर मल्टीप्लाई है और आईडी है तो पहले जाहिर सी बात है मल्टीप्लाई होगा जो रिजल्ट आएगा है ना वो बाद में एडिशन होगा लाइक दिस तो दिस इज़ अ स्टेप बाय स्टेप सिस्टमैटिक प्रोसेस जिसको पूरा इस्तेमाल करके जिस पर काम करके हम पूरी पार्सिंग कर सकते हैं तो आई थिंक ऑपरेटर प्रेसिडेंस पार्सिंग का यह पूरा आईडिया पहली बात हाउ टू आइडेंटिफिकेशन पे काम कर सकते हैं पूरा आईडिया आई थिंक आपको समझ आया होगा अब यह एक छोटा सा एडिशनल आईडिया है प्रेसिडेंस फंक्शन का अब प्रेसिडेंस फंक्शन की क्या कहानी है यह आपको समझाता हूं देखिए अब पार्सिंग टेबल थोड़ा थड़ा सा बड़ा है है ना ये ऑलरेडी हमने फिल किया है और कंप्यूटर या पार्सर जिसे हम बोल रहे हैं जो सॉफ्टवेयर हमारा है जो एल्गोरिथम है वो बहुत ज्यादा कंफर्टेबल नहीं है इसके साथ काम करने में तो कभी-कभी आपके यूनिवर्सिटी एग्जाम में क्वेश्चन आता है कि इसको आप प्रेसिडेंस फंक्शन टेबल जो नीचे आप मैंने पूरा बना के रखा है जस्ट सो दैट आपको टाइम कम लगे इस पूरे टेबल में कैसे कन्वर्ट करते हैं वो सीखना है तो वो आपको सिखाता हूं ये देखने में थोड़ा भूति आपको लग रहा होगा बट विश्वास मानिए बहुत आसान है तो स्टेप नंबर वन देखिए यह टेबल तो हमने पहले से बना के और समझ के रखा है इसमें कोई नई बात नहीं है अब हम क्या कर रहे हैं अगेन ऑन द लेफ्ट हैंड साइड लेट मी कॉल इट f एंड ऑन द राइट हैंड साइड लेट मी कॉल इट g और यहां पर हम एक बाइ पर्टाइट ग्राफ बनाएंगे या इतना कॉम्प्लेक्शन हैंड साइड प आपको जो जो नजर आ रहा है f आईडी f स्टार f+ f देयर यू सी चार वर्टेक्स मेरे पास है एंड राइट हैंड साइड पे सिमिलरली g मैंने माना है तो जी आईडी g स्टार g+ g डर ये चारों देखिए राइट हैंड साइड प नजर आ गया करना क्या है आपको पहले से पता है प्रायोरिटी कैसे है तो आप मुझे बताएं क्या आईडी आईडी में कोई प्रायोरिटी का अंडरस्टैंडिंग है हम पहले से जानते हैं डिफाइंड नहीं है आईडी स्टार में तब देखिए आईडी स्टार में बताओ एफ आईडी और एफ स्टार में किसकी पावर ज्यादा है या किसकी प्रायोरिटी ज्यादा है सर आईडी की ज्यादा है तो एज कैसे लगेगी वाइट कलर से दिखाऊं वही वाला आईडिया जिसकी पावर ज्यादा है उसकी तरफ ग्रेटर वाला सिंबल आएगा ध्यान से देखिएगा जिसकी पावर ज्यादा है सिमिलरली आईडी की तो प्लस से भी ज्यादा है एक एज लगा दो आईडी की तो डॉलर से भी ज्यादा है एक एज लगा दो बहुत सिंपल है अब जब आप स्टार के साथ कंपेयर करेंगे सबको है ना तो स्टार आईडी के साथ कंपेयर होगा बट स्टार आईडी में कौन ज्यादा है आईडी तो एज का डायरेक्शन ध्यान देना सिमिलरली स्टार स्टार में ऑब् वियस लेफ्ट हैंड साइड वाला ज्यादा है स्टार प्लस में स्टार ज्यादा है स्टार डॉलर में अगेन स्टार ज्यादा लाइक दिस इधर देखो आईडी के साथ मैच करा और आई थिंक पूरी प्रोसेस आपको समझ आ गई होगी कोई भी जो डॉलर की सबसे कम है बेचारे की तो यहां देखो तीनों इनकमिंग है यहां भी आई थिंक तीनों इनकमिंग ही आए होंगे यह देखिए यह पूरा ग्राफ बनके हमारा तैयार हो गया हम तो इस टेबल से स्टेप बाय स्टेप समझ रहे कोई टेंशन नहीं है इस टेबल से इस ग्राफ तक पहुंचना भी मेरे ख्याल से कोई बहुत अजीब बात नहीं है बहुत आराम से बहुत सलीके से बात समझ आई अब अगला काम क्या करना है आपको हर एक वर्टेक्स से शुरू करना ऊपर वाल से शुरू करेंगे एक स्ट्रेट लाइन में आपको कहानी दिखेगी और आपको क्या करना है आपको लांगेस्ट पॉसिबल पाथ ट्रैवर्स करना है छोटे से छोटा कि बड़े से बड़ा बड़े से बड़ा लांगेस्ट पॉसिबल बार ट्रैवर्स करना है कैसे करेंगे ध्यान दीजिए मैं फ आडी से शुरू करता हूं तो ओबवियसली इधर तो जा नहीं सकता इधर नीचे जाऊंगा तो जल्दी नीचे पहुंच जाऊंगा तो मैं कहां जाता हूं जी स्टार पे नोटिस करो एफ आईडी से जी स्टार इधर अपने लेवल पे जा सकते हैं क्या नहीं मजबूरी है तो आई थिंक g स्टार से f+ पे जाना पड़ेगा f+ से g+ पे जरूर जा सकते हैं एंड देन g प्लस से यू कैन गो टू f और यही पूरी सीक्वेंस मैंने लिखी है जिसमें समझाया 1 2 3 4 जो लांगेस्ट पाथ लेंथ है वो है फोर तो f आईडी हुआ फर बताओ बात समझ आई क्या हम लांगेस्ट पाथ लेंथ निकाल रहे हैं और जो पाथ लेंथ है वो उस टेबल में फिल कर रहे हैं हां सिमिलरली जी आईडी से चेक करो इधर फाइव कैसे आ रहा है जी आईडी तो जीआईडीसी मैं f स्टार पे गया अभी देखो सेम लेवल पे भी ट्रैवर्स कर पा रहा हूं f स्टार से g स्टार g स्टार से f ् f+ से g+ एंड g+ से अगेन यू गो टू f डर और ये पूरी सीक्वेंस यहां मैंने लिख के रखी इस बार 1 2 3 4 पांच लेंथ आ गई सिमिलरली और आप देखोगे अब मान लीजिए आपको g स्टार सॉल्व करना है तो पूरा सॉल्व करने की जरूरत नहीं g स्टार से ही आप आगे बढ़ सकते हो लाइक दिस ऐसा करते जाओगे पूरी टेबल आपको नजर आएगी यस अब आप समझोगे फायदा क्या हुआ दरअसल यह जो हमारा ऑपरेटर प्रेसिडेंस टेबल है ना उसका ही यह प्रेसिडेंस फंक्शन जो है यह एक ऑप्टिमाइज वर्जन आप कभी भी कंपेयर कर सकते हो जैसे मैं कोई भी दो बातें पूछ लेता हूं जैसे मान लीजिए हमें देखना है एफ स्टार में या स्टार और आईडी है ऐसे है है ना तो किसका पावर ज्यादा है जो कौन पहले सॉल्व होगा लेफ्ट में है एफ राइट में है जी बताओ ए स्टार का नंबर क्या है सर एफ स्टार का नंबर है फोर बताओ जी आईडी का नंबर क्या है सर जी आईडी का नंबर है फाइव तो ऑब् वियस आईडी पहले सॉल्व होगा लाइक दिस तो वो जो पूरी कहानी थी हमने नंबर में कन्वर्ट कर ली एंड बाय कन्वर्ट टिंग देम इनटू नंबर पूरी प्रोसेस रिलेटिवली थोड़ा आसान हो जाती है क्योंकि ये टेबल फॉर्मेट में है तो कंप्यूटर को भी इसको पढ़ना समझना प्रोसेस करना आसान लगता है यस सो दिस इज द एंटायस स्टोरी एंड एक मेरा मन नहीं मानता तो लास्ट में मैंने फिर से पूरा बॉटम ऑफ पार्सल का एक पांच नंबर का डिफरेंस बना के रख दिया तो आई एम नॉट अगेन नॉट गोइंग इन टू द आईडिया बट इन केस कई बार मैं देख रहा हूं यूनिवर्सिटी एग्जाम में एकदम डायरेक्ट पिन पॉइंट क्वेश्चन पूछ रहा है तो अगर कोई कोई इस तरह का क्वेश्चन पूछा जाता है यू कैन रेफर दिस एक बार अपना नोट्स दोबारा से रिवाइज कर सकते हो यस एंड दैट इज ऑल इन चैप्टर नंबर टू नाउ वी आर ऑल रेडी फॉर चैप्टर नंबर थ्री दैट इज सिंटेक्स डायरेक्टेड ट्रांसलेशन आगे का पार्ट थोड़ा सा बोरिंग है बहुत बोरिंग नहीं है थोड़ा सा बोरिंग है ऐसा पहले से बता के चल रहा हूं पार्सिंग इज रिलेटिवली वेरी इंटरेस्टिंग है ना और सेमेस्टर एग्जाम में तो यूनिट बाय यूनिट आता है तो ओबवियसली दैट इज इंपॉर्टेंट बट एज फार एज कॉम्पिटेटिव एग्जाम इज कंसर्न अगेन दीज सेक्शंस आर नॉट दैट इंपॉर्टेंट लेकिन हम पूरे ईमानदारी से से और तरीके से एक-एक पॉइंट मैं कवर करूंगा सो नाउ लुक एट दीज आइडियाज लगभग लगभग सारे केसेस मैं कवर करूंगा जो यहां पर लिखा हुआ है हर चैप्टर में हर यूनिट में आपसे प्रॉमिस कर रहा हूं तो लेट्स स्टार्ट चैप्टर थ्री सिंटेक्स डायरेक्ट ट्रांसलेशन सो वी विल गो वन बाय वन सबसे पहले समझिए अ ऑलरेडी बेसिक अंडरस्टैंडिंग तो हम अवाय कर ही चुके हैं तो सिंटेक्स डायरेक्टेड ट्रांसलेशन क्या है यह एक स्टेप है ऑफ यू नो ओवरऑल कंपाइलर का जहां पे ऑलरेडी हम क्या-क्या कर चुके अभी सोचो वी हैव ऑलरेडी डन लेक्सिक एनालिसिस एंड वी हैव ऑलरेडी डन सिंटेक्स एनालिसिस है ना तो उसके बाद तीसरा नंबर अभी है सिमटिक एनालिसिस का और जैसा हम जानते हैं इन जनरल इस बात का मतलब क्या है यहां पर हम यह देखते हैं कि जो भी ग्रामेटिकली तो स्ट्रिंग ठीक है है ना लेकिन वह मीनिंगफुल है कि नहीं कभी कभी ऐसा हो सकता है कि ग्रामेटिकली सही हो बट मीनिंगफुल ना हो वो मीनिंग फाइंड करना वैसे भी थोड़ा सा कॉम्प्लेक्टेड टेक्स एन एब्स्ट्रेक्ट सिंटेक्स ट्री सिर्फ सिंटेक्स ट्री समझ सकते हो एंड जनरेट द सिंटेक्स ट्री अच्छा आई एम सॉरी टेक्स एन एब्स्ट्रेक्ट सिंटेक्स ट्री जनरे बाय सिंटेक्स एनालिसिस फेज एज एन इनपुट तो सिंटेक्स एनालिसिस ने क्या जनरेट किया था सिंटेक्स ट्री बोल लेते हैं डायरेक्ट जो यहां से बाहर आता है दैट इज नोन एज अनोटेक ट्री जिसपे हमने ऑलरेडी य नोटे पास्ट ट्री भी बोल सकते हैं जिसकी एक बेसिक अंडरस्टैंडिंग हमने पहले ली है आगे एग्जांपल से देखेंगे इट परफॉर्म्स क्या-क्या करता है टाइप चेक करना कि सही टाइप चेकिंग हुई है कि नहीं कहीं आपने इंटी जर को कैरेक्टर के साथ सम तो नहीं कर दिया इस तरह की बेवकूफी तो नहीं हुई है स्कोप रेजोल्यूशन है ना कौन से वेरिएबल का कौन से फंक्शन का क्या स्कोप है वह सारी चीजें आइडेंटिफिकेशन होना चाहिए इंश्योरिटी तो सब कुछ अब ऑब् वियस मीनिंगफुल की डेफिनेशन इतनी वाइड है ना तो मोटा-मोटा बोल सकते हैं सब कुछ परफेक्ट ऑर्डर में है कि नहीं है वो हम यहां पे सिमटिक एनालिसिस में चेक करेंगे एक और बात जो नोटिस करने वाली है दिस इज द लास्ट फेज ऑफ काइंड ऑफ जहां पे हम एरर पकड़ने की कोशिश कर रहे होते हैं एक बार अगर सेंटिक्स एनालिसिस हमारा कंप्लीट हुआ तो अगले फेज में तो सर उसके बाद हम कन्वर्जन चालू कर देते हैं व्हिच इज लाइक इंटरमीडिएट कोड जनरेशन जो इसी यूनिट का पार्ट है है ना ओके नाउ अब यह काम होता कैसे है देखिए हमारे पास कॉन्टेक्स्ट फ्री ग्रामर तो है ही है है ना तो वी हैव कॉन्टेक्स्ट फ्री ग्रामर अब उसके साथ अभी ध्यान से आप समझेंगे हम दो चीज एसोसिएट करते हैं वन इज कॉल्ड सिमटिक रूप रूल्स अभी एक-एक करके समझाऊ आपको एंड वन इज कॉल्ड सिमटिक एक्शंस कुछ रूल्स और कुछ एक्शंस हम उन परे ओपन लेते हैं जनरलाइज कर देते हैं सीएफजी को और इन तीनों को मिला के हम बोलते हैं सिंटेक्स डायरेक्टेड ट्रांसलेशन जो आपकी यूनिट का या आपके चैप्टर का टाइटल है आर यू गेटिंग इट तो ग्रामर की अंडरस्टैंडिंग तो आपको पहले से है व्हाट इज सीएफजी और हाउ सीएफजी वर्क्स अलोंग विद दैट सिमटिक रूल और सिमटिक एक्शन को हम मर्ज करते हैं और ओवरऑल जो बनता है वो हमारा सिंटेक्स डाट ट्रांसलेशन है अभी आगे जाके आप समझेंगे इनका इस्तेमाल ना ये जो पूरा एसडीटी है एसडीटी का इस्तेमाल टेक्निकली तो हमने यह पता लगाने के लिए किया है कि ग्रामर के अंदर या जो स्ट्रिंग हम बना रहे हैं उसके अंदर कोई सिमटिक मिस्टेक है कि नहीं बेसिक आईडिया तो इतना ही है लेकिन आगे जाके हम देखेंगे इसका इस्तेमाल कोड जनरेशन के लिए इंटरमीडिएट कोड जनरेशन सिंबल टेबल में वैल्यू भरने के लिए एक्सप्रेशन इवैल्यूएशन के लिए इवन इन फिक्स को पोस्टफिक्स प्रीफिक्स में कन्वर्ट करने के लिए हर तरीके से किया जा सकता सकता है आप ऐसा समझो ग्रामर के प्रोडक्शंस के साथ अगर मैं छोटी-छोटी प्रोग्रामिंग एसोसिएट कर दूं तो बेसिकली मैं कुछ भी कर सकता हूं कुछ भी चेक कर सकता हूं कुछ भी एक्शन ले सकता हूं वही हम यहां पे कर रहे होते हैं कंपाइलर में एक चीज आप नोटिस करते हैं एकदम पहली बार जब आप ये आईडिया कोई भी आईडिया देखते हैं ना तो थोड़ा सा जीब लगता कन्फ्यूजिंग लगता है यू य यू डंट अंडरस्टैंड कि क्या बात हो रही है लेकिन फिर धीरे-धीरे चीजें शॉर्ट होने लगती हैं तो आई विल डायरेक्टली जंप टू सम क्वेश्चंस कुछ बेसिक क्वेश्चन ट्राई करेंगे जिससे मोटा मोटा आपका आईडिया क्लियर होगा देन अगेन आई विल गो बैक टू द थ्योरी पार्ट जैसा मैं पहले से करते आया हूं तो यह क्वेश्चन पढ़िए ध्यान से और यहां पर आपको समझेगा सिमटिक रूल सेंटिक एक्शन का क्या मतलब है तो ये बोल रहा है कंसीडर द फॉलोइंग ग्रामर अलोंग विद द ट्रांजीशन रूल वेयर दिस हैश एंड परसेंटेज ऑपरेटर ब्ला ब्ला ब्ला बहुत सारी इसने कहानी लिख दी पूछ रहा है बेसिक बात कि ये एक एक्सप्रेशन है और आप बता दो इस एक्सप्रेशन का मतलब क्या होगा आप चाहो तो एक मिनट ले लो 10 सेकंड ले लो पढ़ लो एक बार ध्यान से अब देखो वैसे तो समझ आता है कि एक एक्सप्रेशन एक्सप्रेशन सॉल्व करना है बट हैश का और परसेंटाइल का मतलब क्या है अब देखो विद एवरी प्रोडक्शन ना वी हैव सर्टेन सिमटिक रूल्स ग्रामर की कुछ अंडरस्टैंडिंग है वो हमें समझाती है ऑपरेटर्स पे कैसे काम करना है और हैश और परसेंटाइल का क्या मतलब है वोह आपको पता लेगा इन सिमटिक रूल से जैसे आप देखोगे हैश का मतलब समझ आता है मल्टीप्लाई है और एक्चुअली इस प्रोडक्शन में करना क्या है बेसिकली ए और t की जो वैल्यू है उसको मल्टीप्लाई करना है और ए वैल्यू में पहुंचा देना है अब एस और ए रिपीटेशन है इसमें कंफ्यूजन ना हो तो आमतौर पर सब स्क्रिप्ट लगा के इसको s1 करके बोल देते ये आईडिया है यह भी समझ आता है कि जो परसेंटाइल है इसका एक्चुअल मतलब डिवीजन है अब अगर मल्टीप्लिकेशन डिवीजन है वो तो हम कर लेंगे लेकिन प्रायोरिटी एसोसिएटिविटी अब एक बात नोटिस करिए अगर मैं आपसे बोलू कि मेरे को मल्टीपल टाइम मल्टीप्लाई जनरेट करना है तो कैसे करूंगा s का रिक क् है और ध्यान से आप देखेंगे तो मैं इसको मल्टीप्लाई लिख देता हूं बिकॉज हैश का मतलब दरअसल मल्टीप्लाई है बोल रहा हूं आप ध्यान से देखेंगे तो अंडरस्टैंड ये लेफ्ट रिकर्स है है कि नहीं तोब बताओ अगर बैक टू बैक दो मल्टीप्लाई होंगे तो पहले क्या सॉल्व होगा सर पहले लेफ्ट वाला सॉल्व होगा इजेंट इट इसका जो रिजल्ट आएगा फिर वो आगे सॉल्व होगा इसका मतलब हम यह भी समझ गए कि दिस हैश पहले मैं एक काम करता हूं स्टेप बाय स्टेप इसको लिखना चालू करता हूं है ना तो ये तो समझ आ ही गया कि हैश का मतलब है मल्टीप्लाई और परसेंटाइल का मतलब है डिवीजन सो 20 * 10 / बा 5 * 8 / बा 2 एंड डिवाइड बाय 2 मैं आपको ये भी समझा पा रहा हूं कि क्योंकि देखो इन दोनों में ही लेफ्ट रिकर्स है तो वेदर दिस मल्टीप्लाई और वेदर दिस डिवीजन बोथ ऑफ देम आर लेफ्ट टू राइट एसोसिएटिव तो यानी कि अगर बहुत सारे होंगे तो पहले आप लेफ्ट वाला सॉल्व करेंगे इनमें आपस में प्रायोरिटी कैसे है अब नोटिस करो s से आप t पर जा सकते हो बट t से दोबारा s पर नहीं आ सकते तो यह ग्रामर का बेसिक अंडरस्टैंडिंग है तो अगर मैं दोनों जनरेट करना चाहूं है ना मान लीजिए कि मैं इधर से जाता हूं ए सेटी के पास और t से मैं एक ये परसेंटाइल आर जनरेट कर लेता हूं देन आई विल टर्मिनेट तो ओबवियसली क्योंकि आप देख रहे ट्री में नीचे की तरफ डिवीजन जनरेट हो रहा है परसेंटाइल नीचे आएगा ट्री में जो नीचे आता है वैल्यू बॉटम ऑफ फैशन में कैलकुलेट होती है वो पहले सॉल्व होता है तो इसका मतलब इस ग्रामर के हिसाब से अगर देखें तो डिवीजन का जो प्रायोरिटी है वो ज्यादा होगा कंपेयर टू मल्टीप्लाई जैसे मैथ में मानते हैं बराबर होगा यहां मैथ नहीं चल रहा यहां ग्रामर चल रहा है रूल आपके सामने है तो इसे देख के समझ आता है कि डिवीजन पहले सॉल्व होगा और मल्टीप्लाई बाद में सॉल्व होगा क्यों क्योंकि अब जब भी आप ट्री बनाएंगे आप देखेंगे डिवीजन का जो रिप्रेजेंटेटिव है परसेंटाइल वो हमेशा ट्री में नीचे की तरफ आएगा और वैल्यू नीचे से ऊपर की तरफ सॉल्व होंगी यस दैट इज अ रीजन तो इसको जरा मैं क्लियर कर दूं सो अब इन दोनों बातों को समझ के सर हमें पूरा पैटर्न नहीं समझ आ गया और आप बोलो तो मैं ट्री बी नीचे से ऊपर की तरफ बना देता हूं सो विल गेट अ बेटर अंडरस्टैंडिंग ऐसे ही करता हूं बल्कि है ना आपको साथ-साथ ये समझ भी आएगा कि हुआ क्या तो देर यू सी 20 मल्टीप्ला बाय 10 डिवाइड बाय 5 मल्टीप्ला बाय 8 एंड डिवाइड बाय 2 एंड डिवाइड बाय 2 तो ग्रामर से देख हमने समझ लिया कि पहले तो सर मल्टीप्लाई पहले डिवीजन सॉल्व होगा पहले डिवीजन सॉल्व होगा चलिए बॉटम ऑफ फैशन में शुरू करिए और लेफ्ट एसोसिएटिव है तो यह दोनों पहले सॉल्व होंगे और शायद यहां पर आपको मिलेगा टू यहां पर मल्टीपल है लेकिन पहले लेफ्ट वाला सॉल्व होगा इधर मिलेगा फोर एंड आई थिंक 4 / बा 2 करेंगे तो इधर दोबारा आपको टू मिलेगा यस अब आपके पास सिर्फ 20 म 2 मल्टीप्ला अ मल्टीप्ला 2 ये तो सॉल्व हो चुका है है ना मल्टीपल मल्टीप्लिकेशन है पहले लेफ्ट वाला सॉल्व होगा तो अब 20 * 2 विल बी 40 एंड आई थिंक दिस 40 * 2 विल बी 80 सो आंसर हो गया 8080 तो अब थोड़ा-थोड़ा सिंटेक्स डायरेक्टरी ट्रांसलेशन कैसे काम करता है वह भी आपको समझ आया आपने ग्रामर भी देख ली अभी मैंने पढ़ा अभी हमने पढ़ा था ना एक्सप्रेशन इवैल्यूएशन के लिए आप एसडीटी लिख सकते हैं तो दिस इज अ ग्रामर वेयर यू हैव सर्टेन रूल्स जिनका इस्तेमाल करके आपने एक एक्सप्रेशन को इवेलुएट कर लिया इन द बॉटम ऑफ फैशन अब यहां मैंने इतना लिखा नहीं वरना आप चाहे और डिटेल में लिखो कैसे यहां देखो ये कैसे आया 20 20 इज काइंड ऑफ एन आईडी आईडी कैसे आता है तो कैन आई से r डॉ वैल्यू = 20 अब वो r किसमें कन्वर्ट होगा वो कन्वर्ट हुआ होगा t में सो t डॉट वैल्यू = 20 है ना और यहां पर क्या है अब इन दोनों के बीच में अगेन ऐसा ही होगा एंड देन कन्वर्ट करते करते करते करते बैक टू बैक हम ऊपर तक आए होंगे दैट इज अ आईडिया एक और क्वेश्चन ट्राई करिए यहां देखिए अच्छा यहां पर भी हैश और एंड में गेम खेला है इस बार अब मोटा-मोटा आपको आईडिया हो ही जाएगा अप्रोच क्या है और यह सारे के सारे यू सी मैं पी वाई क्यू की ट्राई आपको करा रहा हूं सो दैट यू गेट अ एक्चुअल अंडरस्टैंडिंग कि यार एक्चुअल क्वेश्चन किस तरह का आ रहा है और किस तरह से हम उसे अप्रोच कर सकते हैं तो अगेन आप मुझे बताएं दो-तीन बातें नोटिस करें तो लगभग लगभग सेम पैटर्न नहीं थोड़ा चेंज है नोटिस करिए यह जो रिकर्स है लेफ्ट रिकर्स है इसका मतलब हैश जो है और हैश और एक्चुअली किसके बराबर है हैश फिर वही हैश एंड मल्टीप्लाई आर सेम थिंग सो बेसिकली दिस इज लेफ्ट टू राइट एसोसिएटिव बट देयर यू सी अ अच्छा t जो है वो भी लेफ्ट रिकर्स ही रख रहा है है ना तो यह भी सर क्या नाम हुआ इसका दिस इज एंड बट एक्चुअली इसका मतलब इस बार इसने क्या रखा है एडिशन प्लस है दिस इज आल्सो लेफ्ट टू राइट एसोसिएटिव हालांकि एक चेंजेज ग्रामर के हिसाब से देखोगे फिर वही कहानी ग्रामर ऊपर से नीचे की तरफ आती है एंड बाद में बनेगा बट पहले सॉल्व होगा क्योंकि वैल्यू बॉटम ऑफ फैशन में सॉल्व होंगी है ना तो वैसे जब हम जनरल मैथ्स में काम करते हैं तो प्लस की जो प्रायोरिटी है वो कम होती है रिलेटिव टू मल्टीप्लाई है ना बट इस ग्रामर को इस तरह से लिखा गया कि आपको समझना है कि प्लस पहले सॉल्व होगा क्योंकि वो ट्री में नीचे की तरफ आ रहा और ट्री बॉटम ऑफ फैशन में कैलकुलेट होगा लाइक दिस है ना और तब आप इसे बना पाएंगे सो अगर मैं बोलूं एगजैक्टली ये क्या है सो दिस 2 3 5 6 एंड 4 यह हैश नहीं है सर ये मल्टीप्लाई है हैश इज नथिंग बट मल्टीप्लाई और ये एंड नहीं है ये प्लस है दिस इज द आइडिया और मैं आपसे बोल रहा हूं यहां प्लस की प्रायोरिटी ज्यादा है तो चलिए पहले प्लस को सॉल्व करिए लेफ्ट एसोसिएटिव है तो पहले ये सॉल्व होगा यह बनेगा ए फिर ये सॉल्व होगा यह बनेगा 10 एंड देन यू सी मल्टीप्लाई सो एंड मल्टीप्लाई इज लेफ्ट एसोसिएटिव अगेन सो दिस इज लाइक 16 एंड 16 * 10 सो दैट विल बी 160 हम तो आई होप अभी थोड़ा-थोड़ा दो क्वेश्चन बैक टू बैक हमने सॉल्व कर लिए एक्सप्रेशन इवैल्यूएशन पे तो किसी भी एक्सप्रेशन को इस सिंटेक्स डायरेक्टेड ट्रांसलेशन की वज मदद से कैसे सॉल्व किया जाता है वो मैं आपको बता रहा हूं दूसरा आई एम नॉट गोइंग इनटू एग्जैक्ट क्योंकि मेरा काम है यहां पे आंसर निकालना मैं डायरेक्ट निकाल रहा हूं वरना मेरे को करना चाहिए क्या मैं एक छोटा सा पैटर्न आपको बना के भी दिखाता हूं इतना बड़ा ग्रामर नहीं एक प्लस मल्टीप्लाई वाला बना के दिखाता हूं इमेजिन करिए इमेजिन करिए कि हमने यह पहला प्रोडक्शन लिया e टेंस टू e व या लिख दीजिए एक ही बात है टी और एक प्लस भी जनरेट कर लेता है सो से मैं चला जाता हूं टी के पास और टी से मैं बना लेता हूं t एंड एफ है ना एंड देन आई विल टर्मिनेट तो यह आ गया टी से एफ और एफ से आया नंबर और य आया एफ से नंबर और अगेन यह आया टी से एफ और यह आया एफ से नंबर य एक वैलिड ट्री हुआ नंबर एंड नंबर हैश नंबर नंबर कुछ भी मान लेते हैं लेट मी से दिस नंबर इज टू दिस नंबर इ थ दिस नंबर इज फोर अब देखो सिंटेक्स डायरेक्ट ट्रांसलेशन वैल्यू कैसे ऊपर लेकर जा रहा है यू सी एडॉट ये नंबर में डायरेक्ट f का नंबर का जो वैल्यू है वो f का वैल्यू है तो ऐसे समझिए यू टेल मी एक अलग पेन से लिखता हूं सो दैट यू कैन आइडेंटिफिकेशन प्लस है सो दिस विल बी व्हाट इज़ t डॉ वैल्यू t वैल्यू विल बी फ ठीक कर रहा हूं ना व्हाट इज़ e डॉ वैल्यू अगेन दिस विल बी फाइव ओनली व्हाट इज़ नंबर डॉट वैल्यू दिस विल बी फोर व्हाट इज़ दिस वैल्यू दिस इज़ अगेन फोर व्हाट इज़ दिस वैल्यू दिस इज़ अगेन फोर व्हाट इज़ अ क्या नंबर आया था ये दिस इज़ फाइव ना यस व्हाट इज़ 5 है 4 नाउ हैश मीस मल्टीप्लाई सो 5 है 4 इज नथिंग बट 20 सो आई होप आपको पूरा पैटर्न तो पक्के से ही समझ आ गया होगा मैंने कोई कसर छोड़ी नहीं है तो कोई एक्सप्रेशन डायरेक्ट दे उसे कैसे सॉल्व करना है आप जानते हैं बॉटम ऑफ फैशन में ट्री कैसे कैलकुलेट किया जाना है और क्या प्रोसेस है ओवरऑल उस परे काम करने की तो आई थिंक यह आईडिया भी आपको क्लियर हो रहा होगा ठीक है आगे बढ़ते हैं नाउ लुक एट दिस एक और क्वेश्चन और यह थोड़ा सा डिफरेंट तरीके से लिखा आपको मजा आएगा दिस दिस दिस दिस दिस और आपको क्या करना है आप आपको बताना है कि ओबवियसली ट्री कैसे बनेगा स्ट्रिंग क्या नोटिस करिए तो पहले ट्री बना के हम यह स्ट्रिंग ट्री की मदद से स्ट्रिंग बनाने की कोशिश करते हैं और आपको खुद में खुद समझ आ जाएगा कि यहां मैं क्या बात करना चाह रहा हूं तो मेरे को क्या बनाना है नोटिस करो एक प्लस बनाना है एक मल्टीप्लाई बनाना है है ना तो मैं टेबल बनाना ट्री बनाना शुरू करता हूं सो दिस इज लाइक e टेंड्स टू e प् t यहां तक की बात फिक्स हो गई प्लस मिल गया प्लस के राइट में मेरे को बनाना है मल्टीप्लाई तो t से मैं यूज़ करता हूं t मल्टीप्ला f ठीक चल रहा है ना t मल्टीप्ला f परफेक्ट है सर एंड नाउ दैट इज ओके अब जल्दी से इसे कंप्लीट करते हैं तो t से f से e से क्या मिलेगा e से मिलेगा t t से मिलेगा f और f से आपको मिलेगा नंबर t से आपको मिलेगा f और f से अगेन आपको मिलेगा नंबर और यहां पर आपको f से मिलेगा नंबर और क्या-क्या नंबर है नोटिस करिए यह नंबर है टू या नंबर डॉट वैल्यू मुझे पता नहीं क्या कराएगा दिस इज दिस इज थ्री एंड दिस इज फोर ये लीजिए सर ट्री बना के हमने तैयार कर लिया अब देखते हैं इस बार क्या एक्शन लेना है पार्सिंग होती है बॉटम ऑफ फैशन में तो यहां देखिए हर किसी के साथ हमने सिमटिक एक्शन नहीं रखा है एक एक्शन यहां पे है एक एक्शन यहां पे है एक एक्शन यहां पे है बॉटम ऑ पार्सिंग कर रहा हूं नोटिस करिए जब नंबर f में कन्वर्ट होगा कोई एक्शन लेना है क्या हां लेना है प्रिंट नंबर का वैल्यू नंबर का वैल्यू टू है उसके बाद f में कन्वर्ट होगा देर यू सी कोई एक्शन नहीं लेना उसके बाद t में कन्वर्ट होगा देयर यू सी कोई एक्शन नहीं लेना अब यहां से आगे चलते चलते हम इधर आएंगे नाउ यह नंबर f में कन्वर्ट होगा एंड दे यू सी दे इज अ सिमटिक एक्शन आपको क्या करना है वैल्यू प्रिंट करना है एंड दिस इज लाइक थ्री तो ू के बाद 3 आ जाएगा f कन्वर्ट होगा t में अगेन आई थिंक नो एक्शन इज बीइंग टेकन फर्द यहां रुकना पड़ेगा और यह नंबर कन्वर्ट होगा f में सो दे यू राइट फोर एंड फाइनली अब यह पूरा हैंडल मिला t स्टार f जब t में कन्वर्ट होता है t स्ट f नाउ यू प्रिंट अ स्टार तो क्या-क्या प्रिंट हो रहा है नोटिस करिए मैं लिखते जा रहा हूं एंड फाइनली e + t यह हैंडल मिला जो फाइनली कन्वर्ट होगा e में एंड नाउ यू राइट प्लस कोई बता सकता है क्या हुआ हां तो ध्यान से आप नोटिस करेंगे तो समझेंगे शायद यह इन फिक्स से पोस्ट फिक्स में कन्वर्ट करने का तरीका है बिकॉज अगर मैं आपको याद दे लाऊं 2+ 3 म 4 अगर इसको पोस्ट फिक्स में कन्वर्ट करने जाए तो बोलो क्या करेंगे सबसे पहले आप थी और फोर को कन्वर्ट करोगे है ना तो ये बन जाएगा 2 + 3 4 स्टार पोस्टफिक्स समझते हैं जहां पे अ ऑपरेटर ऑपरेंट के बाद में लिखते हैं तो आमतौर पे जैसे मान लीजिए हम लिखेंगे a + b पोस्ट फिक्स कहता है नहीं पहले दोनों ऑपरेटर लिखो उसके बाद जो ऑपरेशन करना है वो लिखो लाइक दिस तो वही यहां पे हुआ अब यह एक ऑपरेंट है ये एक ऑपरेंट है सॉल्व करेंगे तो फर्स्ट ऑपरेंट एंड देन सेकंड ऑपरेंट एंड देन यू राइट प्लस और एगजैक्टली सेम ही पैटर्न हमारा आया तो अब आप आई थिंक समझ सकते हैं क्या कर रहा है तो यह ग्रामर अलोंग और और आई शुड से दिस एसडीटी कैन बी यूज टू कन्वर्ट इन फिक्स टू पोस्ट फिक्स तो आपने देखा दो अलग-अलग आप एक्सप्रेशन इवेलुएशन कर सकते हैं आप इन फिक्स को उस फिक्स में कन्वर्ट कर सकते हो और जैसे-जैसे आगे बढ़ते जाता है अंडरस्टैंडिंग हमारी एनहांस होती जाती है एक और आईडिया आपको समझाता हूं ये और मजेदार है यहां पे आप नोटिस करोगे अगेन प्रोडक्शंस के साथ मैंने कुछ सिमटिक एक्शंस लिखे हैं बट नोटिस करने की बात क्या है ये जो सिमटिक एक्शन है प्रोडक्शन के बीच में लिखा हुआ है ध्यान से देखो तो एक्चुअल प्रोडक्शन है प्टी बट मैं टी तक पूरा नहीं लिख रहा मैं राइट हैंड साइड ऑफ द प्रोडक्शन के बीच में एक्शन लिख रहा हूं अब इससे क्या होता है आपको समझाता हूं पैटर्न पकड़िए 9 + 5 + 2 मेरे को बनाना है ग्रामर से बनाने की कोशिश करता हूं तो पहले आप बना लो सो s टेंड्स टूटी छोटे-छोटे कैसे डायरेक्ट ऑब्जर्व कर सकते हैं ये s से हमने बना लिया अभी t तो सीधे नंबर पे लेके जा रहा है कोई ऑप्शन है नहीं तो यूजिंग t आई विल गो टू अ नंबर बट दो बार प्लस बनाना है तो रिकर्स यूज करूंगा सो दिस इज लाइक आटी r टेंड्स टू प्टी प्टी ये तो एक्शन है ना इसको अलग समझो फिर से आई थिंक रिकर्स यूज़ करना पड़ेगा नाउ दिस t विल अगेन बिकम अ नंबर और यहां से देखो फिर से + t हमको मिलने वाला है ठीक बात है ना एंड नाउ आई थिंक वी कैन टर्मिनेट तो t से आप दोबारा नंबर बना सकते हैं और r को आप कर दीजिए बाद में एलन इसकी कहानी खत्म क्या नंबर क्या हमें प्रिंट करना था 9 + 5 + 2 सो कैन आई से दिस इज ना एंड दिस इज फाइ एंड दिस इज टू नोटिस करिए एक बार पूरी बात ऑब्जर्व कर पा रहे हैं क्या यस अब देखिए एक्शन क्या लेना है वो आपको समझाता हूं बॉटम ऑफ फैशन में प्रिंट क्या होगा सबसे पहले नीचे से चलू सबसे पहले यह नाइन क या नंबर कन्वर्ट होगा टी में एंड दे एक्शन प्रिंट वैल्यू तो पहला प्रिंट हुआ नाइन नोटिस करिए देन मेरे को कुछ नहीं मिला कुछ नहीं मिला कोई फर्द हैंडल नहीं मिल रहा हैंडल हैंडल हैंडल हैंडल नाउ दिस फाइ विल बी कन्वर्टेड टू t और फाइ कन्वर्ट हुआ t में अगेन दे एन एक्शन प्रिंट करना बट ध्यान से देखिए क्या मैं प्लस और t तक ऑलरेडी पहुंच चुका हूं हां और जैसे मैं यहां तक पहुंचा ना सी ये सिमटिक एक्शन बीच में लिखने का मतलब ही ये है कि आपको आर नहीं चाहिए आप यहीं पे एक्शन रन कर दो तो अब क्योंकि मैं यहां तक पहुंच चुका हूं तो प्लस यहीं पे प्रिंट हो जाना चाहिए देखिए फॉलो कर पा रहे हैं क्या यस फिर मैं आगे बढूंगा दिस r तो अभी मुझे मिला नहीं अब ये ट कन्वर्ट होगा t में आट एंड अगेन मेरे को प्लस और t मिला तो अब मैं दोबारा से ये सिमटिक एक्शन प्लस वाला फिर से प्रिंट कर सकता हूं अब आप एलन कन्वर्ट करिए r में हैंडल मिलेगा यहां से r फिर एक और हैंडल मिलेगा यहां से r फिर t और r मिलेगा यहां से s तो पूरा पैटर्न सॉल्व हो जाएगा बट इस क्वेश्चन में फॉर प्रैक्टिस एक नया आईडिया क्या था दैट इट इज नॉट नेसेसरी कि मान लीजिए अल्फा टेंड्स टू बीटा गामा कोई प्रोडक्शन है सिमटिक रूल उसके बाद ही लिखा हो ऐसा भी हो सकता है कि यू नो बी और गामा के बीच में कहीं हमने सिमटिक रूल बना दिया हो तो सिमटिक रूल र रन कब होगा जैसे ही आप बीटा को पा लेंगे बीटा तक पहुंच जाएंगे उसी समय आप सिमटिक रूल रन कर सकते हो आपको पूरे पैटर्न के लिए वेट करने की जरूरत नहीं है है ना दिस इज द आईडिया सो अगेन आई थिंक दिस इज अ सिमिलर काइंड ऑफ क्वेश्चन इसको आप होमवर्क में मतलब खुद से एक बार ट्राई कर सकते हो वही पैटर्न है दैट विल बी उल्टा हमारा टाइम थोड़ा सा बढ़ा देगा कुछ नई बात होगी तो आपको बताऊंगा अब यह क्या है ये भी एक पैटर्न है आप चाहे तो देख सकते हो बॉटम ऑफ पार्सिंग में a ए ब एक स्ट्रिंग है ग्रामर आपके पास है बॉटम ऑफ फैशन में बनानी है बताना है प्रिंट क्या होगा सो अगेन आई थिंक दिस इज रि रिपीटेड नाउ अब एक छोटा सा थोरेट्स पे तो ग्रामर से जो नॉन टर्मिनल्स हम बना रहे हैं या जो वैल्यू कैलकुलेट कर रहे हैं य जो टाइप डिफाइन कर रहे हैं इनको हम बोलते हैं एट्रियो इनके क्लासिफिकेशन है और थोड़ा थोरेट्स पूछा जाता है कई बार तो समझना जरूरी है आई विल गो वन बाय वन एटिबल एटिबल अटैच रिलेवेंट इंफॉर्मेशन लाइक स्ट्रिंग्स नंबर्स टाइप्स मेमोरी लोकेशन कोड फ्रेगमेंट और ग्रामर सिंबल्स ऑफ द लैंग्वेज व्हिच आर यूज्ड एज अ लेबल ऑफ अ नोड इन द पास्ट ट्री तो बहुत भारी भरकम भाषा है बट आ आमतौर प ऐसा समझिए जितना भी इंफॉर्मेशन जितना भी डेटा डाटा जो है मेटा डेटा भी बोल सकते हैं जो पास्ट ट्री के नोट के साथ एसोसिएट होता है उनको हम एट्रिल बोलते हैं तो मान लीजिए अगर मैं ऐसा लिख रहा हूं ना x टेंस टू y + z तो यह y z x ये सब एटिबल हैं ऐसे समझो अब इनके कुछ कैटेगरी इजेशन होगा वो आगे देखेंगे द वैल्यू ऑफ ईच एटिबल एट द पासरी ऑफ़ द नोड इज डिटरमाइंड बाय सिमटिक रूल एसोसिएटेड विद द प्रोडक्शन अप्लाइड एट द नोड जैसे मैंने आपको बताया अभी हमने सॉल्व किया तो कहीं पे लिखा है e + v इक्व टू जो भी वैल्यू आ रहा है तो जो भी उस पार्स ट्री के ऊपर जो भी नोट के ऊपर रूल लिखा है उसका इस्तेमाल करके हम एटिबल की वैल्यू कैलकुलेट करते हैं ठीक है समझ आता है हमें डिफाइनिंग द सिंटेक्स स्पेसिफिक इंफॉर्मेशन ऑफ द लैंग्वेज कंस्ट्रक्ट जो भी सिंटेक्स उस लैंग्वेज का है उसके हिसाब से हम काम करते हैं अब यहां पर अब यहां पर समझने की बात क्या है कि एटिबल को हम दो क्लासेस में डिवाइड करते हैं वन इज कॉल्ड सिंथेसाइज्ड एटिबल एंड वन इज़ कॉल्ड इन्हेरिटेंस सा सिंथेसाइज एट्रियो एंड इनहेरिटेंस क्या डिफरेंस है एग्जांपल समझिए यह थोड़ा थोरेट्स गया इवन कंपीटेटिव एग्जाम में भी पूछ लेते हैं सो आई विल गो वन बाय वन सिंथेसाइज एटिबल आर डिवाइड डिराइवर क्या है लॉजिक ये है जब आपकी जो वैल्यू है वो आपके चिल्ड्रन की वल व पे डिपेंड करे उस तरह के एटिबल को सिंथेसाइज एटिबल कहते हैं जैसे यहां पे मैं लिख के बता रहा हूं कि a से एक प्रोडक्शन है a टेंस टू एकवा ज और a की जो वैल्यू है a s मतलब a इज अ सिंथेसाइज एटिबल a की जो वैल्यू है वो x पे y पे और z पे ये डिवीजन नहीं है ये तो मैं बता रहा हूं तीन पैरामीटर हैं इन वैल्यूज का इस्तेमाल करके जब आप ए की वैल्यू कैलकुलेट करते हैं इसी वजह से ए सिंथेसाइज एटिबल है तो फॉर एग्जांपल देखिए ये इस ट्री में जितने भी आपको दिखेंगे सब सिंथेसाइज एटिबल हैं बताओ यह e का वैल्यू किस पे डिपेंड है अपने चिल्ड्रन पे e और t पे है कि नहीं ये t किस पे डिपेंडेंट है अपने चिल्ड्रन पे तो जब आप अपने चिल्ड्रन की वैल्यू पे डिपेंडेंट हो और उस बेस पे आपकी वैल्यू कैलकुलेट हो इस तरह के एट्रियो को सिंथेसाइज एटिबल कहते हैं ग्रामर में वो ऐसे नजर आएगा कि पैरेंट ऑब्स आपको मिलेगा ऑन द लेफ्ट हैंड साइड ऑफ़ द प्रोडक्शन और चिल्ड्रेंस आपको मिलेंगे ऑन द राइट हैंड साइड ऑफ़ द प्रोडक्शन है ना यह कहानी है यही बात बस यहां पर हमने लिखी हुई है एस एटिबल डेफिनेशन अलाउ पार्स टू बी नोटे फ्रॉम लीव टुवर्ड्स द रूट इनेबलिंग पार्सल टू डायरेक्टली इवेलुएट सिमटिक रूल ड्यूरिंग द पार्सिंग प्रोसेस अब ये कह रहा है कि अगर कोई इस तरह के अ एटिबल का इस्तेमाल करेगा ऑब् वियस तो वैल्यू कैसे कैलकुलेट करनी पड़ेगी बॉटम ऑफ है यू कांट गो टॉप डाउन ना इस e की वैल्यू मैं तब तक कैलकुलेट कर ही नहीं सकता जब तक इसके चिल्ड्रन की वैल्यू मेरे पास ना चुकी ओबवियस बात है तो यहां पर ऑब्स हमें नीचे से ऊपर की तरफ जाके कैलक लेट करना पड़ता है एक दूसरा है दूसरा टाइप कॉल्ड इनहेरिटेंस वैल्यूज आर इवेलुएटेड इन टर्म्स ऑफ द एटिबल वैल्यू ऑफ द पैरेंट एंड लेफ्ट सिबलिंग इज नोन एज इनहेरिटेंस लिखा हुआ है डी टेंड्स टूटी एल अगर एल की वैल्यू या तो अपने लेफ्ट सिबलिंग पे या तो अपने पैरेंट पर डिपेंड हो है ना तब इस तरह के टाइप को हम क्या बोलते हैं इनहेरिटेंस एक्शन क्या है t डॉ टाइप इ l डॉ टाइप इ t डॉ टाइप तो एल का जो भी टाइप है मे बी इट इज अ इंटी जर कैरेक्टर जो भी है ये किससे इन्हेरिटेंस इन्हेरिटेंस पर्रे सिंग द डिपेंडेंस ऑफ प्रोग्रामिंग लैंग्वेज कंस्ट्रक्ट्स ऑन कॉन्टेक्स्ट इन व्हिच इट अपीयर्स तो बेसिकली टाइपिंग के लिए टाइप मतलब टाइप कास्टिंग करने के लिए बताने के लिए कौन सा किसको किसका डेटा टाइप क्या है उस तरह के केस में हम इनहेरिटेंस क्योंकि यहां पर आपकी जो वैल्यू है वो आपके पैरेंट पे या आपके लेफ्ट सिबलिंग पे डिपेंड होगी तो यहां पर हम टॉप डाउन नहीं लेफ्ट टू राइट एंड टॉप टू डाउन आईडिया फॉलो करते हैं वो आगे एग्जांपल में भी हम देख लेंगे है ना तो दो तरह के एट्रिया बताइए कौन कौन से सिंथेसाइज एटिबल वन आइडिया इनहेरिटेंस हो तो जैसा मैं आमतौर पे करता हूं कि पूरा का पूरा कैरेक्ट आइजे मैंने बना के रख दिया डिफरेंस इट्स अ फाइव मार्क डिफरेंस यू कैन गो इन टू इट और अलग से एक-एक पॉइंट बिल्कुल क्लियर मैंने यहां पे मेंशन करके रखा है अब ध्यान से समझिए ये जो सिंटेक्स डायरेक्टेड ट्रांसलेशन है इसको भी हम दो टाइप में कैटेगरी इज करते हैं एक टाइप कहलाता है एल ए एट्रिडॉक्स ये बेसिकली इसका सबसेट है आपको आसान भाषा में बताऊं तो है ना एस एटिबल एटिबल कहता है कि मैं इन्हेरिटेंस साइज दोनों यूज कर सकता हूं एज सिंपल एज दैट पहला डिफरेंस याद रखना है सिमटिक एक्शन आर प्लेड ऑन द एक्सट्रीम रेडी हम देख चुके हैं अगर अल्फा टू बीटा गामा है तो जब प्रोडक्शन कंप्लीट हो जाएगा उसके बाद ही आप सिमटिक एक्शन लिख सकते हैं एस एटिबल स्कीम में जबकि अगर एल एट्रिडॉक्स किए यही वाले किए थे ना बॉटम वाले पैटर्न में ऐसे यहां एट्रबीक फर्स्ट लेफ्ट टू राइट तो अगेन लेफ्ट टू राइट फैशन में डेप्थ फर्स्ट फैशन में हम चलते जाएंगे ये आईडिया है तो आई थिंक ये दोनों का डिफरेंस भी आपको समझ आया होगा सो वैसे तो ये चैप्टर सेम है बट दिस इज मेजर आईडिया भी चलता रहेगा सिंटेक्स ट ट्रांसलेशन भी बिकॉज़ इंटरमीडिएट कोड में भी कई बार वो लॉजिक यूज़ होता है बट नाउ द नेक्स्ट आइडिया इज इंटरमीडिएट कोड तो सिंटेक्स डायरेक्टेड ट्रांसलेशन के बाद हम एक जेनेरिक फॉर्मेट पे आते हैं जिसे हम बोलते हैं इंटरमीडिएट कोड अब उसकी क्या कहानी उसका क्या पैटर्न है आइए उसको जानते हैं तो अी बात करते हैं इंटरमीडिएट कोड जनरेशन की आई विल गो पॉइंट बाय पॉइंट सबसे पहले इंटरमीडिएट कोड जनरेशन इन कंपाइलर क्रिएट्स अ मशीन इंडिपेंडेंट वेरी इंपॉर्टेंट पॉइंट टू बी कंसीडर्ड अ लो लेवल प्रेजेंटेशन ऑफ द सोर्स कोड तो यहां पर आप समझिए जैसे इसका नाम ही इंटरमीडिएट है ना हाई लेवल लैंग्वेज और मशीन लेवल जो कोड है उसके बीच का यह कुछ रिप्रेजेंटेशन है तो यहां पर जो प्रोग्रामिंग लैंग्वेज की टेक्निकल है वो भी काइंड ऑफ कम हो जाती है लेकिन मशीन से इंडिपेंडेंट है है ना तो इंटरमीडिएट कोड जनरेशन तक आते-आते आपको यह सोचने की जरूरत नहीं कि प्रोसेसर की क्या कैपेबिलिटी है या जिस असेंबलर के लिए हम कोड जनरेट कर रहे हैं उसके क्या फीचर्स है वो भी टेंशन नहीं लेना आपको यस फैसिलिटेटिंग ऑप्टिमाइजेशन एंड मेकिंग कंपाइलर डिजाइन मोर मॉड्यूलर एंड देयर आर द फॉलोइंग पॉइंट्स अब ये दो तीन पॉइंट समझिए इन जनरल किसी भी सॉफ्टवेयर के अंदर जोब भी हम बात करते हैं कंप्यूटर साइंस में स्टेप नंबर वन इज कंसिस्टेंसी स्टेप नंबर टू इज एफिशिएंसी तो चीजों को ऑप्टिमाइज भी करना है ये जो इंटरमीडिएट रिप्रेजेंटेशन है ये इस तरह का फॉर्मेट है कि इसके ऊपर ऑप्टिमाइजेशन करना हमारे लिए आसान हो जाता है जो काइंड ऑफ हमारी फिफ्थ यूनिट भी है यहां पे ऑप्टिमाइजेशन की एक दूसरी बात जो यहां पर ध्यान देनी है कि मॉड्यूलर मॉड्यूलर का मतलब क्या होता है अगेन अ ऐसा ना हो कि एक लाइन आपने ली और उसके अंदर पता नहीं हॉच पॉच कि और सीधे आपने फाइनल स्टेज जनरेट कर दिया तो क्लियर कट स्टेजेस होने चाहिए ताकि अगर एक स्टेज में मैं कोई चेंज करता भी हूं तो उसका इंपैक्ट अगली स्टेज पे ना पहुंचे है ना तो यह मॉड्यूलर आर्किटेक्चर भी है क्योंकि स्टेप बाय स्टेप हम काम करते हैं तो अब दो-तीन बातें इंपॉर्टेंट है पोर्टेबिलिटी क्योंकि इंटरमीडिएट रिप्रेजेंटेशन मशीन इंडिपेंडेंट है तो यहां तक पहुंचने के बाद आप अगर डिफरेंट डिफरेंट मशीन के लिए कुछ डिफरेंट डिफरेंट यू नो कन्वर्जन करना चाहे तो कर सकते हैं तो वही मैं आगे लिखता हूं इजी एडेप्टेशन ऑफ कंपाइलर टू डिफरेंट मशीन आर्किटेक्चर इस नोटेशन से किसी मशीन आर्किटेक्चर पे जाना रिलेटिवली आसान है एज एज ओनली द कोड जनरेशन फेज नीड टू बी मशीन स्पेसिफिक जो फाइनली कोड जनरेशन होगा वही स्पेसिफिक है यहां तक सब कुछ न्यूट्रल है ऑप्टिमाइजेशन जो मैं आपसे बोल रहा था वो करना भी आसान हो जाएगा मोर एफिशिएंट टारगेट कोड थ्रू ऑप्टिमाइजेशन परफॉर्म्ड ऑन इंटरमीडिएट कोड राद देन ऑन हाई लिविंग और मशीन लेवल कोड तो आप हाई लेवल पे करोगे वो भी टफ पड़ेगा मशीन लेवल पे चीजें इतनी कॉम्प्लेक्शन करें एंड लास्ट पॉइंट ऑफ ईज ऑफ कंपाइलर कंस्ट्रक्शन सिंपलीफाई द डेवलपमेंट एंड मेंटेनेंस ऑफ कंपाइलर बाय डीकपलिंग द सोर्स कोड फ्रॉम द मशीन जनरेशन तो वही मैं जो आपसे दोबारा काइंड ऑफ रिपीटेड पॉइंट है दोनों को बीच से हटा देता है और हाई लेवल लैंग्वेज और मशीन लेवल दोनों के बीच में एज अ इंटरमीडिएट ये काम करता है सो यहां पर आप देख सकते हैं देर यू सी एक एग्जांपल लिखा है इंटरमीडिएट कोड का अ आगे अभी और डिटेल में समझेंगे बट आप देख सकते हैं क्या यह कोड देख के आप बता सकते हैं कि कौन सी प्रोग्रामिंग लैंग्वेज में लिखा गया होगा नहीं बता सकते ओरिजनली हाई लेवल कमांड क्या थी नहीं बता सकते और सिमिलरली आप यह भी नहीं सोच सकते कि कौन से मशीन के लिए हमें इसको फ्यूचर में कन्वर्ट करने वाले हैं कमिंग टू द नेक्स्ट पॉइंट हाउ यू रिप्रेजेंट इट तो इंटरमीडिएट कोड को रिप्रेजेंट करने के अलग-अलग फॉर्मेट है जो मार्केट में पॉपुलर है जिसमें एक आईडिया है पोस्ट फिक्स नोटेशन जिसका एक बेसिक आईडिया हमने देख लिया था अभी थ्री एड्रेस कोड व्हिच इज द मोस्ट मोस्ट इंपॉर्टेंट जिसपे हम सबसे ज्यादा कंसंट्रेट करेंगे सिंटेक्स इज आल्सो इंपॉर्टेंट एंड वन मोर आइडिया इज डैग डैग इंपॉर्टेंट है बट डैग हमारा ऑप्टिमाइजेशन टूल भी है तो उसको बहुत डिटेल में हम यूनिट फाइव में डिस्कस करेंगे इन द लास्ट ऑप्टिमाइजेशन में तो अगर मैं एक छोटा सा एग्जांपल यहां पर आपको दिखाऊं लुक एट दिस ये एक एक्सप्रेशन हमारे पास है है ना ड्रॉ द सिंटेक्स फॉर द अर्थमेटिक एक्सप्रेशन एंड आल्सो राइट द एक्सप्रेशन इन इन फिक्स नोटेशन इन पोस्टफिक्स नोटेशन तो सिंटेक्स ट्री कैसे बनाते हैं और नोटेशन में कैसे आएगा दोनों चीज आप समझ जाएंगे देखिए लॉजिक यह है कि बॉटम ऑफ फैशन में चलेंगे अब यहां पर क्योंकि कोई एसोसिएटिविटी प्रायोरिटी इलेक्शन नहीं बताई तो मैं डिफ़ॉल्ट केस लेके चलूंगा तो हम मान के चलते हैं इ जनरल प्रोग्रामिंग लैंग्वेज में अह स्टेप नंबर वन इज़ पावर पावर यहां पर है नहीं अगला नंबर आता है मल्टीप्लिकेशन डिवीज़न का दोनों की प्रायोरिटी एकदम बराबर है एसोसिएटिविटी लेफ्ट टू राइट है देन नंबर आता है प्लस और सब्सट्रैक्शन का अगेन दोनों की प्रायोरिटी एकदम बराबर है लेफ्ट टू राइट है और ब्रैकेट इज़ ऑलवेज प्रायोरिटी नंबर वन तो अगर मैं नीचे से ऊपर की तरफ चलूं तो मेरे ख्याल से सबसे पहले मेरे को b + c सॉल्व करना चाहिए क्योंकि आपने उसको ब्रैकेट के अंदर रख के मुझे क्लियर कट इंडिकेशन बता दिया कि मेरे को सबसे पहले करना है यस उसके बाद दे यू सी अगला नंबर आ जाता है a का सो a को मैं सॉल्व करता हूं और आप देख रहे हैं क्या करूंगा जो फाइनल इसी को बोलते हैं सिंटेक्स ट्री जो हमारे लीफ नोट्स है वहां पर आपको मिलेंगे ऑपरेंट और ऑपरेटर मिल इन बिटवीन जब इतना हो चुका होगा माइनस का नंबर बाद में आएगा ओबवियसली पहले हमें डिवीजन करना होगा तो डिवीजन में आई थिंक लेफ्ट ऑपरेंड आपको नजर आ रहा है d और यहां कोई ग्रामर ब्रामर नहीं लिखी डायरेक्टली हम ऑब्जर्वेशन से कर रहे हैं है ना और राइट ऑपरेंट है टू और जब ये दोनों रिजल्ट हमारे पास आ चुके होंगे तो ओबवियसली इनका आपको क्या करना होगा सब्सट्रैक्शन तो यह हमारा सिंटेक्स ी बनके तैयार हो गया अब रही बात पोस्ट फिक्स नोटेशन की तो पोस्ट फिक्स में हमने पहले भी कन्वर्ट किया यहां से भी करेंगे तो क्या कर सकते हैं लुक एट दिस आई विल गो वन बाय वन जिस तरह से जिस पैटर्न में हमने सॉल्व किया उसी पैटर्न से फॉलो करते चलता हूं तो बताइए सबसे पहले हमने क्या सॉल्व किया b प् c किया था ना सो मैं स्टेप बाय स्टेप ही करूंगा ना आई कैन राइट बी फर्स्ट ऑपरेंट सेकंड ऑपरेंट ऑपरेटर लिखेंगे बाद में एंड देन आई हैव माइनस एंडडी डिवाइड बाटू अगला नंबर किसका है देखिए अगला नंबर है मल्टीप्लिकेशन का सो फर्स्ट ऑपरेंट इज ए सेकंड ऑपरेंट इज b स प्स एंड देन आई कैन हैव मल्टीप्लाई सो दिस इज वन आईडिया सिमिलरली दिस इज फर्स्ट ऑपरेंट टू इज सेकंड ऑपरेंट एंड देन वी कैन हैव अ डिवीजन लास्ट में आपको नजर आ रहा है वी हैव सब्सट्रैक्शन तो व्हाट इज फर्स्ट ऑपरेंट इट इज ए स प् स्टार व्हाट इज सेकंड ऑपरेंट d2 डिवीजन एंड देन लास्ट तो यह आपको पोस्ट फिक्स नोटेशन भी नजर आ गया है ना तो इस क्वेश्चन के अंदर कहीं पर भी हमने एक्सप्लीसिटली ऐसा नहीं बोला कि ग्रामर का या सिमटिक एसडीटी के थ्रू हमने कन्वर्ट किया कुछ आईडिया और डायरेक्ट एक आईडिया था कैसे हम पोस्ट फिक्स में कन्वर्ट करते हैं कैसे सॉल्व करते हैं यह आईडिया हमारे सामने एंड हाउ वी मेक अ सिंटेक्स ट्री कभी-कभी व्हाट दे कैन आस्क यहां देखिए मैंने पहले से कुछ नोटेशन आपके लिए बना के रखे कि जैसे इफ एल स्टेटमेंट है उसको आप पोस्ट फिक्स में कैसे कन्वर्ट करेंगे दैट इज फन तो देयर यू सी जैसे मैं स्टेटमेंट लिख रहा हूं इफ e मान लीजिए अगर एक कंडीशन है देन आपको x एग्जीक्यूट करना है एल्स आपको y एग्जीक्यूट करना है एक बेसिक प्रोग्रामिंग कंस्ट्रक्ट है आईड ड थिंक कि यू नो इसको समझने में कोई बहुत तकलीफ होनी चाहिए व्हेन वी राइट इट डाउन ना वी राइट इड यूजिंग अ टरनरी ऑपरेटर तो देखिए कैसे लिखते हैं ये इन फिक्स में लिख रहा हूं दिस इज द कंडीशन e इज द कंडीशन एंड दिस क्वेश्चन मार्क रिप्रेजेंट्स द टरनरी ऑपरेटर अगर e ट्रू हुआ तो x एग्जीक्यूट करेंगे और अगर e फॉल्स हुआ तो y एग्जीक्यूट करेंगे इसी फॉर्मेट का रिटन इन फिक्स नोटेशन है जब आप इसे पोस्ट फिक्स में लेके आएंगे तो क्या होगा नोटिस करिए अगेन कंडीशन एंड देन x एंड y तो आपका पहले आ जाएगा जो ऑपरेटर है दैट विल गो इन टू द लास्ट है ना ये एक स्टैंडर्ड फॉर्मेट है इस तरह के पैटर्न को कन्वर्ट करने का अब यहां पे अच्छा केस कब बन सकता है अगर कोई नेस्टेड केस पूछ ले जैसे यहां पे देखिए इफ a तो ओबवियसली ये कंडीशन है देन ये पूरा ब्रैकेट के अंदर है एक और है फिल्स है ना तो ये एग्जीक्यूट होना है अगर एक कंडीशन फॉल्स होती है देन आपको एग्जीक्यूट करना है a + b ये वाली कहानी हो गई अब इसको कैसे टैकल करेंगे तो मैं एक-एक करके पहले पूरा पैटर्न लिख देता हूं जहां गलती करूं आप ठोकिए तो यहां से देखिए मैं शुरू कर रहा हूं इफ ए क्वेश्चन मार्क और यह कायदे से मैं आपको अलग से दिखा देता हूं यह ब्रैकेट आई थिंक यहां से यहां तक चला है ना तो अगर कंडीशन a ट्रू होती है टरनरी ऑपरेटर तो यह रन करना है अदर वाइज आपको जाना है a + b में जो काइंड ऑफ हमारे एल्स के पास है ठीक है अब आपको क्या करना है पहले इंडिविजुअली इन सबको अलग-अलग सॉल्व कर लीजिए जैसे यहां पर आप देखेंगे c - d है तो मैंने इसको पोस्ट फिक्स में लिख लिया a + c है मैंने ए प् लिख लिया a स्टार c है ए स्टार लिख लिया जब मैंने इंडिविजुअली सॉल्व कर लिया तो अब मैं ओवरऑल इस ब्रैकेट को सॉल्व करना चाहता हूं जिसमें आप देखेंगे यही वाला फॉर्मेट अगर मैं देखूं अब यह मेरा e है यह मेरा x है और यह मेरा y है e क्वेश्चन मार्क x y को कैसे कन्वर्ट करते हैं e y क्वेश्चन मार्क बाद में देखो वही किया है क्या है e x एंड y और ये मेरा क्वेश्चन मार्क आ गया बाद में तो यानी कि यहां तक का पैटर्न मैंने सॉल्व कर लिया और सिमिलरली a + b इज अगेन a + आसानी से किया जा सकता है अब ये जो बाहर वाला f है ये आई थिंक सॉल्व होने के लिए तैयार है क्योंकि इसका x और इसका y रेडी है तो फिर से वही फॉर्मेट लगाता हूं तो अगर ये x ये y अ ये e ये x और ये y है तो सबसे पहले आएगा ये देन ये पूरा पैटर्न हम पहले ही सॉल्व कर चुके हैं देन वी हैव दिस और सबसे लास्ट में क्वेश्चन मार्क है ना तो दैट इज आईडिया यूजिंग व्हिच अगर इफस टाइप के कंस्ट्रक्ट है तो उसको आप पोस्ट फिक्स में कैसे कन्वर्ट कर सकते हैं व यहां पर हम देख रहे हैं आगे बढ़ता हूं एक बार ओवरऑल पिक्चर आपको दिखा देता हूं जैसे पोस्ट फिक्स का तो एक आईडिया आपने देख लिया थ्री एड्रेस कोड को तो अभी और डिटेल में पढ़ेंगे बट इसका मोटा-मोटा आईडिया पता क्या है दैट किसी भी इंस्ट्रक्शन में अब आपको भले इतना कॉम्प्लेक्शन सॉल्व करना हो बट हम बोल रहे हैं एट एनी इंस्टेंस किसी भी इंस्ट्रक्शन में मैक्सिमम तीन एड्रेस रेफर किए जा सकते हैं दैट इज द रीज़न यू कॉल्ड इट थ्री एड्रेस तीन एड्रेस आप मैक्सिमम रेफर कर सकते हैं तीन से कम करेंगे तो चलेगा इस ऐसा भी नहीं कि मजबूरी है सर तीन करना ही पड़ेगा बट तीन से ज्यादा नहीं हो सकता हियर यू कैन सी यू हैव अ सिंटेक्स ट्री और जो अभी हमने एक पैटर्न देखा भी दो-तीन सिंटेक्स ट्री बनाए डक की जैसे बोल रहा अभी बात नहीं कर रहा ये इसी का ऑप्टिमाइज वेरिएंट है तो यहां पर आप देखेंगे क्या कर रहे देखिए बारी-बारी से पहले a + b को सॉल्व कर लिया इसने उसको t1 में रख रहा है अब यह तीनों भी एक बार में नहीं हो सकते फर्द a + b को सॉल्व करके t2 में रखा फिर t2 को नोटिस करिए ऐड कर रहा है c में इसको t3 बुलाया एंड नाउ इफ दिस इज t1 एंड दिस इज t3 t1 t3 को मल्टीप्लाई करेगा उसको t4 में रख रहा है दैट इज हाउ किसी कॉम्प्लेक्शन को थ्री एड्रेस कोड की लिमिटेशन में रहते हुए आपको सिस्टेमेयर पैटर्न में सॉल्व करना पड़ेगा है ना तो यह एक आईडिया है जो मेरे ख्याल से बिल्कुल परफेक्ट तरह से काम करता है है ना अब अगला आईडिया देखिए जो लाइक थ्री एड्रेस कोड तो इसको थोड़ा सा डिटेल में ऑब्जर्व करते हैं सो थ्री एड्रेस कोड इज अ टाइप ऑफ इंटरमीडिएट कोड वेयर ईच ऑपरेटर कैन हैव एट मोस्ट थ्री ऑपरेंट जो मैं आपसे बोला रहा था तीन ऑपरेंट हो सकते हैं वन ऑपरेटर एंड दैट इज द स्टैंडर्ड फॉर्मेट तो ए आपका आंसर होगा या जो लोकेशन में जहां पर आपको रिजल्ट रखना है बी एंड सी आपके ऑपरेंट हैं एंड दिस ओपी स्टैंड्स फॉर ऑपरेटर जो भी आपको प्लस माइनस डिवाइड मल्टीप्लाई कंपेरिजन जो भी करना होगा वो आप यहां पे कर सकते हैं इट सिंपलीफाई कॉम्प्लेक्शन इनटू अ सीक्वेंस ऑफ सिंपल स्टेटमेंट इट टोटली मेक्स सेंस अब इस तरह का कॉम्प्लेक्टेड मेंट है जो नहीं समझ आता ना किसी को देखते हुए तो थ्री एडर्स का फायदा क्या है बहुत सिंपल हो जाता है सिस्टमिक हो जाता है न हमारे लिए भी रीडेबिलिटी आसान है हमारे लिए पढ़ना आसान है हमारे लिए इसको ऑप्टिमाइज करना आसान है बिल्कुल सही बोल रहा है सपोर्टिंग रियस एरिथ मेे ऑपरेशन अमेट लॉजिकल बुलियन वो ऑपरेशन किसी भी तरह के हो सकते हैं नाउ कुछ बेसिक स्ट्रक्चर है जो एक बार मैं आपको दिखाना चाहता हूं मतलब पॉइंट इज कि हाई लेवल लैंग्वेज तो बड़े-बड़े काम करती है बट जब उसको थ्री लेवल प लाके आते लेके आते हैं ना तो गिनती के पांच छह चीजें ही है जो बचती है जैसे ये तो स्टैंडर्ड हो गया अब बाइनरी ऑपरेटर इन बिटवीन दो ऑपरेंट है यूरी ऑपरेटर जैसे हो सकता है ना सपोज इफ आई से x = - y तो देर यू हैव एन ऑपरेटर या मान लीजिए फैक्टोरियल y इस तरह के या लॉग y तो ये सब किसम आएंगे एक ही ऑपरेटर है यह हो गया असाइनमेंट गो टू l इट मींस अनकंडीशनल जंप बिना किसी टेंशन के सीधे एल पे पहुंच जाओ कोई लोकेशन है देन देर यू सी वन डायमेंशन एरे की बात कर रहे हैं इसका मतलब क्या है कोई एलिमेंट आई थिंक सबको पढ़ना आता है कोई एलिमेंट x है जिसको किसी एरे के आईए इंडेक्स पे हम असाइन कर रहे हैं सेव कर रहे हैं यहां उल्टा है कोई एरे है a जिसके आई इंडेक्स की जो वैल्यू है वो कॉपी करके हम y में लिख रहे हैं तो यानी कि एरे में रीड करना या एरे में राइट करना यहां पर बेसिकली आपने एरे में राइट किया है और यहां पर रीड किया है नाउ दिस इज़ पॉइंटर अर्थमेटिक स्टार p = x तो स्टार p की वैल्यू क्या मतलब है p इज अ पॉइंटर जो मे बी किसी एक लोकेशन को पॉइंट कर रहा होगा मान लीजिए उसके अंदर कुछ भी लिखा है उसके अंदर z लिखा है तो ये क्या करेगा यह x में z को रख देगा बेसिकली स्टार p मतलब डी रेफरेंस करना p नहीं p जिसको पॉइंट कर रहा है जिस एड्रेस को उसके अंदर जो वैल्यू है वो x में आ जाएगी एंड व्हाट इज दिस एड्रेस ऑफ x तो अगर इसका नाम मैं z रख रहा हूं और इसके अंदर टू लिखा है तो टू नहीं आएगा इसका जो एड्रेस है z का या x का मान लीजिए x का एड्रेस आ जाएगा y में तो बेसिकली पॉइंटर से आप कुछ भी महान काम करें अल्टीमेटली दो-तीन चार इंस्ट्रक्शन में जाके वो लिखा जाता है मिनिमाइज हो जाता है जैसे एक और एग्जांपल ट्राई करता है दे यू सी अ थ्री एड्रेस कोड लिखिए इसके लिए देखि एक बार पैटर्न बाय पैटर्न कैसे से किया पहले इसने a - b किया तो यह हमारा हो गया t1 अब देखिए पहले से मैंने बेसिक केस लिख के रखे हैं ताकि रन टाइम पे आपको बहुत ज्यादा समय ना लूं ना यूरी ऑपरेशन है क्योंकि माइनस कर रहा है तो - ऑफ t1 इज t2 तो यानी कि यह पूरा का पूरा हमारा क्या हो गया t2 हो गया सर देन यहां आगे बढ़ा होगा तो c + d = t3 एंड t2 * t3 t2 * t3 अब यह पूरा पैटर्न नोटिस करिए हमारा हो गया क्या t4 हो गया है यस फिर आगे बढ़ते हैं सो देन आई हैव वी हैव a + b फिर इसको फर्द सॉल्व किया तो इसने इसको आई थिंक यहां पे माना है t5 और उसमें ऐड कर रहा है c को तो t5 + c करेंगे दैट विल बी t6 और t4 और t6 को अ c ऐड कर लिया ना यस और t4 और t6 को फाइनल सॉल्व करके क्या बना दिया t7 तो सिंपल पैटर्न है इसे कोई रटने की बात नहीं है मैं कोई डिफरेंट अ यहां पे एक्सप्रेशन लिखूंगा ऐसा भी हो सकता है आप आपका और मेरा फाइनल थ्री एडर्स कोड थोड़ा बहुत डिफरेंट आए ओबवियसली आना भी चाहिए बिकॉज़ हर किसी का थॉट प्रोसेस अलग है बट मोटा-मोटा आईडिया ऐसे ही काम करता है ठीक है अब है रिप्रेजेंटेशन ये क्या कहानी है सर तो जो थ्री एड्रेस कोड हमारे हैं ना उसको लिखने के अलग-अलग मैकेनिज्म है जिसे हम बोलते हैं क्वाड्रन ट्रिपल या इनडायरेक्ट ट्रिपल छोटी सी बात है बहुत सिंपल बात है और एग्जाम पॉइंट ऑफ व्यू से इंपोर्टेंट है रिप्रेजेंट करने के लिए आ सकता है तो अभी जो हमने कन्वर्ट किया वही मैं यहां पर लिख के रख रहा हूं और आपको बता रहा हूं क्वाड्रीप्लेजिक क्वाड्रिनोमियल है ठीक बात है आसान है समझ आती है कौन-कौन से दो ऑपरेंट है a और b दो ऑपरेंट है रिजल्ट कहां पे रखना है रिजल्ट t1 में रखना है यस याद रखिए t2 = - t1 तो व्हाट इज़ t1 दे यू सी t1 यूरी ऑपरेटर है ना तो सेकंड ऑपरेंट यहां पर नहीं आएगा हमारा ऑपरेटर माइनस है एंड देन t2 एंड सिमिलरली मुझे पता नहीं मुझे इसमें और क्या बताने की जरूरत है बिल्कुल सेम तरह से पैटर्न बाय पैटर्न भरते चलते हैं और अगर आप थ्री एड्रेस कोड को इस स्टैंडर्ड फॉर्मेट में टेबल में रिप्रेजेंट करते हैं तो दैट रिप्रेजेंटेशन इज़ नोन एज़ क्वाड्रेट यस एक अगला आईडिया या हो सकता है इसको बोलते है ट्रिपलेट अब क्वाड्रन का यू नो देर इज एन आर्गुमेंट कि यार ये ना सर बहुत टाइम टेकिंग है बहुत स्पेस ले गए चार कॉलम ले रहा है इसे थोड़ा ऑप्टिमाइज कर सकते हैं क्या वरना बहुत ज्यादा स्पेस ऑक्यूपाइड लेंथी बनेगा तो कर सकते हैं सर कैसे कर सकते हैं ध्यान से देखिए क्या गायब कर दिया एक कॉलम गायब हो गया कौन सा गायब हुआ बताओ ऑपरेटर है ऑपरेंट वन है ऑपरेंट टू है जो रिजल्ट वाला था वो गायब हो गया अ रिजल्ट कहां रखेंगे फिर तो यहां पर हम क्या मान के चलते हैं जो रिजल्ट है ना वो हमारे सीक्वेंस नंबर में रिजल्ट मान लेते हैं तो मतलब देखो अभी क्या आपको समझेगा a + b पहला इंस्ट्रक्शन इ इ टू प्स अब ये गया t1 में बट बेसिकली यहां पे हम मान रहे हैं कि ये गया लाइन नंबर वन में अब जहां भी कहीं t1 रेफर करना है यू कैन राइट लाइन नंबर वन जैसे देखिए सेकंड इंस्ट्रक्शन में आपको माइनस करना है t1 में बट t1 बेसिकली रिजल्ट किस में है वन में सो यू जस्ट राइट वन बताई बात समझ आ रही है क्या तो आपने ऐसे लिख दिया अभी c + d का सम किधर है लाइन नंबर थ्री में अब आपको t2 t3 को मल्टीप्लाई करना है तो यू जस्ट राइट 2 3 एंड टू एंड 3 आर बेसिकली द रिजल्ट स्टोर्ड इन लाइन नंबर टू एंड थ वहां से जाके हम उसको रेफर कर लेंगे तो इस तरह से जो एक थर्ड अ यू नो कॉलम फोर्थ कॉलम आफ कीजिएगा हम बना रहे थे रिजल्ट का अलग से वो हम कह रहे हैं बताने की जरूरत नहीं है बिकॉज़ देयर आर डिफरेंट डिफरेंट लाइंस तो उनके थ्रू हम समझ जाएंगे कि कौन से रिजल्ट की आप बात करें देर इज नो नीड टू हैव दिस टेंपररी वेरिएबल एडवांटेज क्या होगा स्पेस यहां पे वेस्ट कम होगा डिसएडवांटेज क्या होगा बाद में आपको ऑप्टिमाइजेशन करना है इंस्ट्रक्शन ऊपर नीचे मूव करने तो नहीं कर सकते बिकॉज अगर नंबर चेंज हुआ तो पूरा कोड हमारा खराब हो जाएगा है ना तोब हर काम को करने के कुछ फायदे नुकसान है ओवर ऑप्टिमाइज करेंगे तो यहां पर अपने हिसाब से मूमेंट हम नहीं कर सकते ठीक है सर एक आईडिया है इनडायरेक्ट ट्रिपलेट अब ये क्या है एक तरह का पॉइंटर वाला आईडिया मैं आपको समझा देता हूं अगेन जैसे मैं एक डिफरेंट एग्जांपल यूज कर रहा हूं अच्छा यहां पर दोबारा पहला दूसरा आ गया ये समझिए डायरेक्ट ट्रिपलेट तो दिस इज़ एन आईडिया जिसके लिए पहले से आप नोटिस करिए ट्रिपलेट नोटेशन हमने लिख के रखा है कुछ नहीं है सेम बात है तो ट्रिपलेट नोटेशन हमारे पास है जो सीक्वेंस नंबर है उसे सीक्वेंस नंबर ना बोल के मैं इंडेक्स बोल देता हूं दैट इज़ वन आईडिया एंड एक तरह का सेपरेट टेबल हम बना देंगे पॉइंटर टेबल सो दिस इज़ अ पॉइंटर टू इंडेक्स नंबर रो p2 p1 इज अ पॉइंटर टू इंडेक्स नंबर वन सिमिलरली p5 इज अ पॉइंटर टू इंडेक्स नंबर फाइव एंड यूजिंग दिस पॉइंटर हम इनको एक्सेस कर सकते हैं तो का फायदा यह होगा क्योंकि एडिशनल पॉइंटर हमारे पास है अगर आउट ऑफ द सीक्वेंस या कहीं और जाके हमें यह पॉइंटर कुछ वो डाटा एक्सेस करना हो तो इन पॉइंट्स की मदद से इन टेबल्स के जो स्पेसिफिक रोज है उन्हें हम एक्सेस कर सकते हैं यह इसका आईडिया है है ना तो इनडायरेक्ट ट्रिपलेट में क्या करना है सर बस एक पॉइंटर टेबल बना देना है एंड देन यू से कि ट्रिपलेट नोटेशन जो था दैट बिकम इनडायरेक्ट ट्रिपलेट नोटेशन तो आ थिंग ये आईडिया भी क्लियर हो गया अब और आगे बढ़ते हैं अब देखिए हमारा अप्रोच क्या रहने वाला है थ्री एड्रेस कोड जो है ना अलग-अलग तरह के वो हमें प्रैक्टिस करनी है और एक आपके सिलेबस में है वन डायमेंशन एरे जो सबसे इंपॉर्टेंट है कुछ लोग टूडी एरे की बात करते हैं बट आई डोंट थिंक दैट इज दैट इंपॉर्टेंट एज फार एज योर एग्जामिनेशन इज कंसर्न कि क्या हम एक वन डायमेंशन एरे को एक्सेस करने का फार्मूला होता है इवन जो डेटा स्ट्रक्चर की वन शॉर्ट वीडियो उसमें मैंने वो पूरा एक्सप्लेन किया पूरा डिराइवर किया है उसका फार्मूला थ्री एड्रेस नोटेशन में लिखना है ये कहानी है तो कैसे लिख सकते हैं मैं सिंपल मैथ पहले याद लाता हूं आपको तो ये यह पूरी मैथमेटिक्स हमारे साथ है सर एक एरे हमारे पास है जिसका नाम है a जिसके अंदर जितने भी सेल्स हैं हर सेल कैपिटल बी अ सॉरी हर सेल w डब् इज द अ वेट ऑफ ईच एलिमेंट मैंने सब कुछ अलग से मेंशन करके रखा है हर एलिमेंट डब् साइज ऑक्यूपाइड का बेस एड्रेस जो है वो हमारे पास कैपिटल b है लोअर बाउंड को मैं लोअर बाउंड से ही रिप्रेजेंट करता हूं अपर बाउंड को य से करता हूं बट यहां जरूरत नहीं नहीं पड़ेगी और आपको बताना है कि कोई भी इंडेक्स नंबर k अगर है है ना तो वो कौन से एड्रेस पे है तो मान लीजिए जैसे बेस एड्रेस 200 है हर कोई दो-दो बाइट ऑक्यूपाइड ऑटोमेटिक कैलकुलेट क्या अब इसके लिए एक फार्मूला जो हम पहले से डिराइवर कर चुके हैं यह हमारा काम करता है क्या तो आप किसी भी केथ एलिमेंट क्या जो लोकेशन उसे आइडेंटिफिकेशन इंडेक्स मान लेता हूं 1 2 3 4 5 6 78 और बेस एड्रेस में ले लेता हूं 200 और साइज ऑफ ईच एलिमेंट मान लेता हूं ट तो अब मान लीजिए हमें सिक्सथ एलिमेंट का इंडेक्स फाइंड करना है तो मेरे को सिक्सथ इंडेक्स पर जो एलिमेंट है उसका एड्रेस फाइंड करना है माय बेस एड्रेस इज 200 वेट ऑफ ईच एलिमेंट इज टू और सिक्स इंडेक्स चाहिए लोअर बाउंड कहां से गिनती शुरू हुई वन से तो बेसिकली 6 माइव बिकम 5 ये क्या अंदाजा लगा रहा है आपसे पहले कितने एलिमेंट और अगर आप छठे पे हैं तो आपसे पहले पांच होंगे और हर कोई दो बाइट कंज्यूम कर रहा है तो 5 * 2 बिकम 10 एंड 10 + 200 सो दैट बिकम 210 नाउ दैट विल बी द एड्रेस ऑफ़ द सिक्स्थ एलिमेंट तो ये यहां तक हमने कुछ नया किया नहीं सर ये पूरी एनालिसिस ये पूरी मैथमेटिक्स तो ऑलरेडी हम कर चुके कहां पे डटा स्ट्रक्चर्स में दैट वी नो है ना वो कोई नई बात नहीं है अब यहां पे क्या करना है इस फॉर्मूले को थोड़ा सा रिओरियंट करते हैं और उसके लिए इसको थ्री एड्रेस फॉर्म में लाते हैं कैसे लाएंगे लुक एट दिस तो बेस एड्रेस को फिलहाल बेस एड्रेस ना लिख के मैं एड्रेस ऑफ़ a लिख लेता हूं कोई प्रॉब्लम नहीं होनी चाहिए इस ब्रैकेट को ओपन कर लेता हूं तो दैट विल बी w * k एंड दैट विल बी - w * लोअर बाउंड इस केस में हम जनरलाइज कर लेते हैं कि मान लीजिए लोअर बाउंड हम वन से शुरू करेंगे तो k को मैं वन मान लूंगा इसको थोड़ा सा रिओरियंटेशन कर रहा हूं यहां पे आप देखेंगे तो एड्रेस ऑफ़ a और अगर लोअर बाउंड लोअर बाउंड की वैल्यू अगर हमारी हो जाती है वन तो लोअर बाउंड की वैल्यू अगर हमारी हो जाती है वन तो यह हमारा हो जाएगा w और यह w हमारा आ जाएगा इधर सो दैट इज़ वन आईडिया w * k इज अनदर आईडिया और आज के बाद मैं यह एक तरह का कांस्टेंट है क्योंकि आप कोई भी क्वेश्चन सॉल्व करोगे w इज द साइज ऑफ़ ईच एलिमेंट बेस एड्रेस विल रिमन सेम इसको मैं बोलूंगा t2 ध्यान से समझिए इसको क्या बोलूंगा t2 एंड w * k इसको मैं बोलूंगा t1 अच्छा कुछ लोग a k से लिखते हैं जैसे मैं लिख रहा हूं कुछ लोग a ऑफ i से लिखते हैं तो मैं इसे w * k बोलूं या w * i बोलूं एक ही बात है और अब मैं ये मान रहा हूं कि यह मेरा फार्मूला हो गया सर a i का फार्मूला है t2 बकेट में t अब ये सॉल्व कैसे करेंगे इससे क्वेश्चन कैसे सॉल्व होगा थ्री एडस कोड कैसे मिलेगा देखते हैं अब मान लीजिए ये लिखना है हमें a ऑफ i = 10 एड्रेस है किसी एरे में a ऑफ आ लोकेशन में 10 स्टोर करना है तो अगेन हमें कैसे लिखना है नोटिस करिए पहले t1 की वैल्यू कैसे कैलकुलेट करते हैं लु लुक एट दिस t1 = w * i w क्या है मान लेते हैं इस केस में साइज ऑफ ईच एलिमेंट इज 4 तो आई विल से 4 * i t2 क्या है एड्रेस ऑफ a - w सो एड्रेस ऑफ a - 4 तो ऐसे लिख देता हूं एंड फाइनली यू कैन से t2 जब t1 और t2 दोनों की वैल्यू आ गई तो t2 ब्रैकेट में t1 = 10 जो हमारे पास पहले से गिवन है तो बेसिकली दैट इज़ हाउ वी कैन राइट अ वन डायमेंशन एरे इनटू दिस थ्री कोड है ना तो थोड़ा-थोड़ा प्रैक्टिस करनी है और मैं यहां करूंगा यह अलग-अलग पैटर्न जितने हैं ना हर पैटर्न प आपको प्रैक्टिस करा दूंगा कि गिनती के पांच छह सात अलग-अलग आईडियाज हैं जो आपके सिलेबस में क्लियर कट मेंशन है जिसपे एग्जामिनर कह रहा है कि मैं थ्री एडस कोड पूछ सकता हूं वन डाइमेंशनल एरे को समझने के बाद अभी अप्रोच यही रखेंगे कि डिफरेंट डिफरेंट प्रोग्रामिंग कंस्ट्रक्ट्स समझने की कोशिश करेंगे तो एक आईडिया यह बड़ा इंपॉर्टेंट है और आमतौर पे एग्जाम में कभी-कभी रेफर किया जाता है जो कि स्विच केस है ना आपके सिलेबस इस में भी सेपरेटली मेंशन है तो एक बार जरा स्विच केस के लिए थ्री एड्रेस कोड बना के देखते हैं हालांकि रिलेटिविटी इज वेरी इजी तो देर यू सी अ स्विच a + b और यहां पर हमारे पास तीन केस है ब्रेक स्टेटमेंट नहीं लिखा टू मेक द थिंग सिंपल और डिफॉल्ट केस में एक स्टेटमेंट लिखा हुआ है तो अब यहां नंबरिंग मैंने की हुई है एक-एक करके वैल्यू बाय वैल्यू देखते जाइएगा जो कंफ्यूजन होगा देखेंगे सबसे पहले ओबवियसली हम a + b कैलकुलेट करेंगे है ना तो यहां देखिए इसने किया 101 कैलकुलेट कि और वैल्यू रखी t1 के अंदर एंड देर यू सी अन कंडीशनल जंप है कहां के लिए 103 के लिए तो हम भी चलते हैं 103 पे और ओबवियसली होगा भी है केस बाय केस चेक करेगा तो सबसे पहले किसके साथ मैच करेगा केस वन के लिए और यहां देखिए 13 प चेक कर रहा है t = 1 है ना और गो टू 105 अगर ऐसा है तो तो पहले आप देखिए हम 100 पे गए और यहां पे केस वन मतलब बेसिकली वन है कि नहीं है तो दिस ये बेसिकली हम कंपैरिजन कर रहे हैं क्या t की वैल्यू वन है या बेसिकली यह जो हमारा वेरिएबल है अगर वैल्यू वन है तो हम सीधे जाएंगे 105 पे जहां पे कि ऑपरेशन देखिए हम पहले पूरा सीक्वेंस ही आपको समझाता हूं एक फ्लो मान के चलते हैं जहां पर कि ऑपरेशन हमारा रन हो रहा है दैट इज t2 में x = x+ 1 लिखा और उसके बाद वो वैल्यू 106 में आप देख रहे हैं अपडेट भी कर दिया तो फ्लो में चले 101 से 103 में आए 103 ने हमें 105 में भेजा देन 106 और हमारा जो काम था वह कंप्लीट हो गया बट अब य आता है मजे की बात क्या अगर आप ब्रेक नहीं लगाएंगे तो स्विच केस कैसे काम करता है केस वन के बाद केस टू केस टू के बाद केस थ्री और फिर डिफॉल्ट सब कुछ एग्जीक्यूट होता है ये बात जानते हैं कि नहीं ये मत सोचिए कि हमने यहां गड़बड़ लिखा है ऐसे ही काम करता है हां ब्रेक लगाएंगे तो सीधे बाहर आएगा तो मान लीजिए अगर यहां तो ब्रेक नहीं लिखा तो क्या होगा देखिए उसके बाद कोई ब्रेक नहीं कुछ नहीं सीधे फ्लो में आगे चल रहा है फिर चेक कर रहा है कि t की वैल्यू टू देन गो टू 109 फिर आप 109 पे जाएंगे कंडीशन चेक करेंगे देन अगेन ये वाली कंडीशन रन करी फिर ये वैल्यू अपडेट करी अगेन कोई ब्रेक नहीं आप इधर आएंगे टी का केस थ्री इन्वेस्टिगेट किया 113 पे गए एंड 103 अच्छा सॉरी ये इधर आ गया 1113 पे गए देन यहां पे + 3 हमने किया राइट किया एंड देन फिर डिफॉल्ट केस तो वो भी यहीं पे आ गया देन c = c -1 c के अंदर t5 रखा एंड देन यू गो टू 17 नेक्स्ट स्टेटमेंट एग्जिट हो गया है ना ये वो स्टेटमेंट था जहां पे केस वन डायरेक्ट रन हुआ इमेजिन करते केस वन ना रन है करें डायरेक्ट केस टू करें तो क्या होगा देखिए हम यहां पे रन करेंगे हम जाएंगे यहां पे और मान लीजिए वैल्यू वन नहीं है तो क्या होगा अगर वैल्यू वन नहीं है तो देखिए अब आप सीधे आगे आएंगे और डायरेक्टली आपको लेके जा रहा है 107 पे नोटिस करिए ये वही वाला केस है जहां से हमारा केस टू चल रहा है मान लीजिए ये भी फेल हो जाता तो क्या होता तो ये अगेन दिस इज अ कंडीशनल जंप ना ये भी इफ है है ना यहां ये इफ मिस हो गया दिस इज अ कंडीशनल जंप तो अगर ये कंडीशन होल्ड नहीं करेंगे तो आप जाएंगे 111 पे और 111 पे जाएंगे तो आपको डायरेक्ट क्या मिलेगा केस थ अगेन इट्स अ कंडीशनल थिंग सो आई थिंक थोड़ा सा अभी एक और टॉपिक है बैक पैचिंग उसमें यही है कि इन सब चीजों को फिल इन द ब्लैंक कर देते हैं आपको हाई लेवल कोड देता है बोलते हैं नाउ ये थ्री एड्रेस कोड देखो हाई लेवल कोड देखो दोनों को कंपेयर करो और फिल करो बट आई होप इसका एक फंडामेंटल आईडिया आपके दिमाग में डेवलप एंड दिस इज नॉट अ वेरी डिफिकल्ट कोड टू बी वेरी ऑनेस्ट है ना तो इस तरह का कोई केस आएगा तो थोड़ी सी प्रैक्टिस कर लीजिएगा फॉर एग्जांपल स्विच केस अगर डायरेक्ट आता है तो आप एग्जाम में उसको अच्छे से लिख के आ सके ठीक बात है आगे बढ़ता हूं एक और एग्जांपल अब ट्राई करते हैं थ्री एड्रेस कोड जनरे जनरेट करने का सारे पॉसिबल मैंने क्या देखा है यूनिवर्सिटी एग्जाम में कहीं पर भी किसी पैटर्न पे एक भी क्वेश्चन पूछा गया मैं सोचता हूं यार कम से कम एक सिंपल केस तो करा दूं इस वीडियो का मतलब क्या है क्या यह वीडियो देखने के बाद फिर से आपको दोबारा स्टैंडर्ड बुक्स या क्वांटम या केपीएस या कोई भी रिसोर्स रेफर करने की जरूरत है आपका मन है तो करें अदर वाइज दिस इज मोर देन सफिशिएंट है ना तो यहां देखिए मेरे पास एक ग्रामर है पूरा एसडीटी लिखा हुआ है आपके सामने ने और ये एक ट्री जनरेट करना है और बताना है कि जब इस ट्री को जनरेट करेंगे तो यह जो सिंटेक्स डायरेक्टरी ट्रांसलेशन हमने लिखी है क्या करेगा तो प्रैक्टिस पहले से हमारी है पहले यह बना के देख लेते हैं जरा मेरी मदद करिए कैसे बनेगा बताइए तो वाइट कलर चूज कर लेता हूं जल्दी से नजर आएगा सो स्टार्ट सिंबल है हमारे पास e और यहां से देखिए दो चीज हमारे पास है प्लस और मल्टीप्लाई तो मैं पहले प्लस पे जाता हूं सो e टेंड्स टू दे यू सी e + t नोटिस कर पा रहे हैं और फिर हमको चाहिए मल्टीप्ल प्लस के बाद चाहिए तो t की मैं मदद लेने वाला हूं यहां पे सो t से ये देखिए t मल्टीप्ला f और अब फटाफट टर्मिनेट करो तो e से हमको क्या मिलेगा बताइए e से हमें मिलेगा t देन t से हमें मिलेगा f f से हमें मिलेगा आईडी जो कि मान लेते हैं इस केस में हम टू मान के चल रहे हैं सिमिलरली यहां पर आगे बढ़ेंगे तो t से आपको मिलेगा f f से आपको मिलेगा आईडी जो कि इस केस में हम थ्री मान रहे हैं है ना एंड लुक एट द लास्ट केस यहां पे f को ए से आपको मिलेगा आईडी जो कि यहां पर हम इमेजिन कर रहे हैं फोर तो ट्री तो हमने बना लिया और पास्ट ट्र या सिंटेक्स ट्री जो भी बोले उसमें अभी हम एक्सपर्ट हैं बट ये सिंटेक्स डायरेक्टेड ट्रांसलेशन क्या करेगा देखने की बात है और अब मजा आने वाला है तो चलिए जो अप्रोच हमारी है मैं नीचे से ऊपर की तरफ चलूंगा है ना जैसे बॉटम ऑफ पार्सिंग इसको कन्वर्ट करता और फिर देखते हैं क्या चमत्कार होता है तो हम नीचे से ऊपर जाएंगे देखिए आईडी कन्वर्ट हो रहा है f में जैसे ही आईडी f में कन्वर्ट होगा क्या करना है ध्यान से देखिएगा मेक नोड एक फंक्शन है मेक नोड ये एक नोड बनाता है एक बाइनरी नोड बनाएगा ठीक है सर मैं एक बाइनरी नोड कंस्ट्रक्ट करता हूं बाइनरी ट्री का नोट बेसिकली एंड यहां पर क्या आप देख सकते हैं तो दो जगह हैं पॉइंटर की जो काइंड ऑफ नल होने वाले हैं एंड देन नेम डॉट आईडी डॉट नेम जो कि फिलहाल मान लीजिए यहां रखता हूं टू और ये किसके पास आएगा f डॉट नोड पॉइंटर तो f नाम का एक पॉइंटर है जो इस एड्रेस को होल्ड करके बैठेगा वरना नोट खो जाएगा ना लाइक दिस फिर आगे बढ़ो f कन्वर्ट होगा टी में इसमें कुछ हो रहा है इसमें सिर्फ पॉइंटर ट्रांसफर हो रहा है तो मान लीजिए ये जो पॉइंटर अभी तक f के पास था सर ये भी t के पास आ गया फिर आगे चलो आई थिंक यहां भी पॉइंटर ही बायपास होगा क्या t ए के पास जा रहा है टी के पास जा रहा है जी हां तो ये लीजिए अब इसको e के नाम से जानेंगे e के पास पॉइंटर है ठीक है आगे बढ़ते हैं इसके आगे आपको हैंडल मिलेगा नहीं तो यहां से गेम शुरू होगा और अब आपको बेसिक बेसिक पैटर्न पता है तो देर यू सी अगेन एक और नोड बनेगा जहां पर वैल्यू आएगी थ्री एंड दे यू अब आपको अंदाजा होने भी लगा होगा क्या कर रहे है काइंड ऑफ हम ट्री बना रहे हैं है ना और इसकी ये जो नोड है इसका एड्रेस एफ के पास होगा देन यहां से देखिए f से t के पास जा रहे हैं तो अगेन ये चला गया t के पास और ऊपर जाने का कोई रास्ता है जी नहीं है फिर आगे बढ़ेंगे अब शायद नंबर आएगा ये वाले अ अ प्रोडक्शन को एग्जीक्यूट करने का एंड देन यहां पर हमें मिलेगा क्या मिलेगा सर यहां पर मिलेगा फोर अलोंग वि टू नल पॉइंटर और यह है f के पास अब फाइनली t स्टार f ध्यान से देखिए एक हैंडल आपको मिला t स्टार f जो कि t में कन्वर्ट होगा t स्टार ए t में कन्वर्ट होगा और अब देखिए यहां क्लियर कट बता रहा है कि दो पॉइंटर आपके पास होंगे एक t वाला होगा ए वाला होगा बीच में रखना स्टार एक नया नोड बनाना t के पास ये जाएगा तो मैं क्या कर सकता हूं सर आई कैन हैव अ न्यू नोड बीच में रखूंगा स्टार और यह पॉइंट करेगा इस t को और दूसरा जो इसका पॉइंटर है वह पॉइंट करेगा इस f को और यह दोनों अब किसके पास होंगे t के पास है ना तो ये थोड़ा सा मैं चेंज करता तो देखिए कितने खूबसूरत तरीके से आपको बाइनरी ट्री बनते हुए नजर आ रहा है स्टेप बाय स्टेप बॉटम ऑफ फैशन में यस फिर आगे बढ़े बॉटम में पार्सिंग वाला आईडिया कंटिन्यू करते हैं सर यहां से आगे बढ़ते हैं बताइए अगला हैंडल क्या मिला अगला हैंडल मिला e प् t जो कि e में कन्वर्ट होगा और यहां भी आप देख सकते हैं अगेन वी हैव अ अ प्रोडक्शन रूल सिमटिक एक्शन क्या करना है एक नोट बनाना है बीच में रखना है प्लस यह पॉइंटर 100% e वाला इधर से आ रहा है देखिए t वाला इधर से आ रहा है और ये टोटल रिजल्ट जो है यह पॉइंटर रहने वाला है e के पास लाइक दिस और अगेन मैं क्या कर सकता हूं यह पॉइंट्स यहां से हटा देता हूं उनकी कोई जरूरत नहीं है और अब मैं आपसे पूछ सकता हूं क्या कि बताइए यह जो पूरा सिंटेक्स डायरेक्टर ट्रांसलेशन है क्या कर रहा है सर दिस इज अ ट्रांसलेशन टू क्रिएट अ बाइनरी ट्री क्या-क्या नहीं कर चुके हम पोस्ट फिक्स में कन्वर्ट कर चुके हैं बाइनरी ट्री बना लिया है और क्या किया था और पोस्टफिक्स कन्वर्ट किया था बाइनरी ट्री में सिंबल टेबल में राइट कैसे करते हैं वो आगे हम देख लेंगे और एक दो वेरिएशन किए थे ना कौन से थे ये ये काम हम कर चुके हैं वन एड्रेस के लिए भी थ्री एड्रेस कोड जनरेट कर चुके हैं एंड लाइक दिस सो डिफरेंट डिफरेंट काइंड ऑफ आइडियाज हमारे पास है आगे देखिए ये काइंड ऑफ ऑलरेडी मैं आपसे बात कर चुका हूं है ना कि कौन-कौन से स्टेटमेंट्स हो सकते हैं थ्री एड्रेस में जैसे यहां पर आप देखेंगे असाइनमेंट काइंड ऑफ हम बात कर चुके हैं बाइनरी ऑपरेटर है और बीच में जो भी ऑपरेशन होगा वा में असाइन करेंगे यूरी हो सकता है सिंपल असाइनमेंट हो सकता है अनकंडीशनल जंप जो हम कई बार देख चुके जहां पे हम कंडीशन भी चेक नहीं करते डायरेक्टली आपको लाते हैं और बोलते हैं कि उधर उस लोकेशन पर चले जाओ अनकंडीशनल जम जैसे जो थ्री एड्रेस कोड हमने किया था देयर यू सी 102 पे लिखा है गो टू 1115 अब यहां से जाना ही है दिस इज अनकंडीशनल जंप है ना आपका मन हो ना हो आपको जाना ही पड़ेगा कोई कंडीशन नहीं चेक करनी ठीक है कंडीशनल जंप अगर मे बी कोई ऑपरेशन रख सकते हैं कोई कंडीशन होगा अगर कंडीशन होल्ड करता है देन यू गो इसका भी सिंपल है जैसे ये देख लीजिए इफ t = 2 देन यू गो टू 109 तो कंडीशनल जम भी थ्री एड्रेस इंस्ट्रक्शन का पार्ट है प्रोसीजरल कॉल अभी हमने किया नहीं बट आप इसको समझ सकते हैं देयर आर नंबर ऑफ पैरामीटर्स x1 x2 x3 मान लीजिए n नंबर ऑफ़ पैरामीटर्स है तो हम क्या कहते हैं कॉल करना है प्रोसीजर p को नंबर ऑफ ऑफ पैरामीटर इज ए ध्यान से देखिए कैसे पढ़ेंगे तो प्रोसीजर का नाम उस फंक्शन का नाम क्या है सर फंक्शन का नाम है p कॉल कर रहे हैं n नंबर ऑफ पैरामीटर्स के लिए और रिटर्न आपको मिलेगा y तो दैट इज हाउ यू कैन राइट और आई थिंक इन दोनों पर भी मैं पहले आपके साथ डिस्कशन कर चुका हूं कि कैसे किसी एरे में एक्सेस कर सकते हैं या राइट कर सकते हैं या पॉइंट्स के साथ बेसिक गेम खेला जा सकता है नाउ एक अगेन वैसे तो मैं इस आईडिया प बात कर चुका हूं बट मेरा मन नहीं माना बिकॉज़ मैंने कई बार देखा है यूनिवर्सिटी एग्जाम में क्वेश्चन पूछे गए हैं तो एक मैं डिफरेंशिएबल पास्ट ट्री में क्या डिफरेंस है है ना तो जब हम बात करते हैं सिंटेक्स ट्री की अभी एक एग्जांपल हमने ले लिया देयर यू सी एक ग्रामर हमारे पास है e टेंड्स टू e + e तो मान लीजिए एक ही ऑपरेशन बार-बार जनरेट होगा ऑब्लिक आईडी और आईडी से आप कोई भी नंबर बना सकते हैं तो अ अगर मैं आपको स्टैंडर्ड दिखाऊं ये प्रोडक्शन मैंने यूज कि या तो आप डायरेक्ट देख लो क्या हम बना रहे हैं हम बना रहे हैं 3 + 4 + 5 लाइक दिस तो जब मैं पूरा प्रोडक्शन मेंशन करता हूं कि e से पहले मैं e प् e जनरेट करूंगा देन अगेन आई विल गो e प् स एंड लाइक डिजिट एंड देन 3 45 इसको हम क्या बोलते हैं दिस इज नोन एज पार्स ट्री दिस इज नोन एज पार्स ट्री जो ग्रामर हमारी बना रही है जो स्टेप नंबर टू यानी कि सिंटेक्स एनालिसिस का हमारा आंसर है इसको एक तरह का शॉर्ट या इसका बोल सकते हैं इसी का कंसाइनर द एब्स्ट्रेक्ट रिप्रेजेंटेशन ऑफ सिंथेटिक स्ट्रक्चर ऑफ अ प्रोग्राम ओमिटिंग सिंटेक्टिकल स्टेटमेंट लाइक ब्रैकेट्स एंड पंक्चुएशंस वो सब हटा देते हैं बेसिकली यहां पर जितने भी इंटरनल नोड हैं वहां पर आपको ऑपरेटर्स मिलेंगे और जितने भी लीफ नोड हैं वहां पर आपको ऑपरेंट मिलेगा यस तो दिस इज द मोस्ट ऑप्टिमाइज फॉर्म ऑफ द पास ट्री सो दिस इज सिंटेक्स ट्री दिस इज़ पास ट्री अच्छा ये हमारा क्या है एनोट पास ट्री जिसकी हम डेकोरेशन कर दें जिसको हम नोटे कर दें और यह आपने पूरा देखा एसडीटी के अंदर चैप्टर थ्री में यही पूरा पैटर्न आपने देख देखा है है ना तो ये तीनों अलग-अलग बातें हैं तो बोल सकते हैं कि यह एक तरह का मिडिल सिचुएशन है यह बहुत ही एब्स्ट्रेक्ट है बहुत कंसाइनर सिर्फ ग्रामर नहीं कुछ एडिशनल रूल रेगुलेशंस उनका भी हम ध्यान रख रहे हैं ओके एक और केस ट्राई करते हैं यह भी आपके सिलेबस में मेंशन है और कई बार सेमेस्टर्स में पूछा गया है तो सिंटेक्स डायरेक्टरी ट्रांसलेशन ट्राई करते हैं फॉर बुलियन एक्सप्रेशन तो अगर बुलियन एक्सप्रेशन होगा तो दो ही चीजें हैं दो वैल्यू हो सकती है आदर यू कैन जीरो और वन और ऑपरेटर एंड और नॉट जो तीन फंडामेंटल ऑपरेटर एक बार वो आपको समझ आ तो उसके बाद आप कुछ भी बना सकते हैं एक दो के समझा देता हूं यल गेट द आईडिया अब देखिए इसका मतलब क्या है e इंप्लाइज e और e है ना तो e और e में ऑपरेशन करना है वो अपने आप में कुछ भी एक्सप्रेशन हो सकते हैं सिंपल बुलियन वेरिएबल हो सकते हैं और ऑपरेशन अलाई करना रिजल्ट जाना है e के अंदर अब कैसे करेंगे ये काम एक स्टेप में कर सकते हैं क्या तो ध्यान से देखिए सबसे पहले आप देखें हमें एक नया टेंपररी वेरिएबल बनाना पड़ेगा है ना और वो टेंपरेरी वेरिएबल में जो वैल्यू आएगी वो जाएगी e डॉट प्लेस के अंदर बेसिकली e डॉट प्लेस मतलब सिंबल टेबल में जो हमारी लोकेशन है और यहां पर आप देखेंगे क्या कर रहा है देखिए वव डॉट प्लेस मैं कलर चेंज कर लेता हूं सो दैट आपको क्लियर नजर आए देर यू सी e1 डॉट प्लेस एंड e2 डॉट प्लेस ये कंपाइलर की लोकेशन है कह रहा है वहां पे जाना है जो जो डाटा मिलेगा उनमें और ऑपरेशन वही लॉजिकल और क्योंकि बाइनरी की बात कर रहे हैं ना हम लॉजिकल और अप्लाई करेंगे और जो रिजल्ट आएगा वो e2 e डॉट प्लेस में यानी कि जो हमारा लेफ्ट हैंड साइड प लिखा हुआ है उसमें हम एमिट कर देंगे एमिट करेंगे मतलब दिस इज अ फंक्शन जो कि आउटपुट में राइट करता है इट विल राइट है ना और यह जो भी रिजल्ट आएगा एक नया टेंपरेरी वेरिएबल हमारा बन जाएगा तो एक बहुत सिंपल सा हमारा आईडिया हो गया बात समझ आती है क्या सिमिलरली इधर आप देखेंगे यहां एंड ऑपरेशन है तो इसमें कुछ फैंसी तो है नहीं बाकी सब चीज लगभग लगभग लगभग सेम होंगी बस आप लॉजिकल और की जगा क्या करेंगे एंड करेंगे एक वेरिएबल आपको ओबवियसली यहां भी बनाना ही पड़ेगा है ना यहां पर इट्स अ यूरी ऑपरेटर हम सिर्फ क्या कर रहे हैं नेगेट कर रहे हैं तो अगेन देखिए बहुत सिंपल है यहां पे दो नहीं चाहिए बस ववन डॉट प्लेस में जो भी वैल्यू है उसके ऊपर नॉट ऑपरेशन अप्लाई करो डॉट प्लेस में उसको रख दो एमिट अगेन यू आउटपुट फाइल में उसको राइट करो एंड देन यू सी अ टेंपररी वेरिएबल यहां तो आई थिंक सिंपली ब्रैकेट है तो ब्रैकेट का कोई मतलब नहीं जो भी वैल्यू होगी डायरेक्ट उठा के साइन कर दिया यहां पे आप देख सकते हैं कि यहां पर मुझे कोई नया यू नो टेंपररी वेरिएबल काइंड ऑफ बनाने की जरूरत नहीं है नेक्स्ट देखिए अच्छा ये दो बेस केस है अब इन जनरल जब हम उसको ट्रू बोल देते हैं जैसे प्रपोजिशन में मिलते है ना ट्रू फॉल्स तो ट्रू का मतलब क्या होता है सर ट्रू का मतलब बाइनरी में वन मान लेते हैं जब फॉल्स बोलते हैं फॉल्स का मतलब क्या मान लेते हैं जरो अब एक ही बात है आप ट्रू बोलो ज़ीरो बोलो या ट्रू बोलो वन बोले या फॉल्स बो तो रो बो तो देखो वही कह रहा है एक नया वेरिएबल क्रिएट किया न्यू टेंप वो तो सेम आईडिया है इन डॉट प्लेस में सीधे वन रख दिया क्योंकि कंप्यूटर को हर चीज नंबर में समझ आती है समझना ऑडियो वीडियो व्हाट एवर इट इज उसको नंबर चाहिए तो आप ट्रू फॉल्स बोलते रहो अपने मन में वो ट्रू का मतलब वन मान रहा है और वो फॉल्स का मतलब जीरो मान रहा है तो अगर कभी बुलियन एक्सप्रेशंस प हमें काम करना पड़े तो उसकी भी सिंटेक्स डायरेक्ट स्कीम हमारे पास है अगेन फिलहाल आपका ऑब्जेक्टिव क्या है शायद ही रियल लाइफ में जीवन में सॉफ्टवेयर में काम करते हुए आपको कभी करने की जरूरत पड़े दो दो बार तीन बार लिख के देख ली गा बाय चांस अगर एग्जाम में इफ दे आस्क तो यू कैन राइट इट यस नेक्स्ट देखिए एक और दूसरा छोटा सा एग्जांपल अगेन बना के ला हूं जितना प्रैक्टिस करो सर उतना कम है क्योंकि गिनती के केसेस है एंड क्लेरिटी किससे मिल जाती है नेक्स्ट लेवल तो यहां पर अगेन एक ग्रामर हमारे पास है और कुछ सिंटेक्स टे ट्रांसलेशन आपके साथ डिस्कस करूंगा जहां पे हमारे पास एडिशन भी हो सकता है सिंपल एक्सप्रेशन है अरियम एक्सप्रेशन है प्लस है मल्टीप्लाई है यूरी ऑपरेटर है ब्रैकेट है आईडी एंड बाद में असाइन कैसे कराना है तो कैसे करते हैं ध्यान दीजिए मजा आपको आएगा एक छोटा सा सैंपल केस मैंने सिर्फ रूल ना बना के कैसे वोह करेंगे वो भी यहां पर करके दिखाया है तो एक स्ट्रिंग हमने मान लीजिए इमेजिन कर ली है मैं अलग से लिख दूं सो दिस इज लाइक मल्टीप्लाई एंड मल्टीप्लाई ना सो दिस इज लाइक a मल्टी b इज वन आईडिया जैसा समझ आ रहा है देन सेकंड वन इज c मल्ला बा d दिस इज अनदर आइडिया दोनों के बीच में हम लगा रहे हैं प्लस और उसको असाइन कर रहे हैं x में यह हमें करना है तो स्टेप नंबर वन देखिए मैंने ट्री तो आपको डायरेक्ट बना के दिखा दिया ग्रामर आपके सामने लिखिए कोई महान बात नहीं है है ना वेरी बेसिक अब बॉटम ऑ फैशन में हम क्या करेंगे और कैसे कहानी आगे बढ़ेगी नोटिस करिए तो अलग-अलग फंक्शंस हमारे पास हैं तो यहां देखिए पहले फॉर एग्जांपल इसका क्या मतलब है अ e के अंदर जो भी वैल्यू हो बेसिकली हमें कहां रखना आईडी के अंदर रखना यही है ना अब देखो क्या कर रहा है सबसे पहले क्या कह रहा है आईडी इ टू लुक अप आईडी नेम लुक अप क्या है लुक अप सर्च करने के लिए एक फंक्शन है कि जाओ सिंबल टेबल के अंदर और इस आईडी नेम के लिए लुक अप करो है ना अब अगर इफ आईडी एंट्री इज नॉट इक्वल टू ध्यान से देखिए इक्वल नॉट इक्वल दिस इज नॉट इक्वल इज नॉट इक्वल टू नल अगर एंट्री नल नहीं है यानी कि एंट्री आपको मिल गई तो तो बहुत खुशी की बात है फिर उस एंट्री के अंदर e डॉट प्लेस की जो भी वैल्यू है उसको आप सेव कर दो अपेंड कर दो राइट करना माने अपेंड करना सेव करना यस लेकिन अगर आपको एंट्री नहीं मिली तो फिर आप क्या लिखेंगे आपको एरर डिक्लेयर करना पड़ेगा कि सर ये तो इट्स काइंड ऑफ़ अनडिफाइंड सिंबल कैसे राइट करूं उस नाम का आईडी नहीं है मेरे पास ये वाली कहानी है है ना सो हाउ यू एक्चुअली असाइन इट ये तो मेरे ख्याल से फिर वही सेम कहानी है e1 + e2 की वैल्यू को राइट करना है किसमें t में तो कैसे करेंगे अगेन e1 ड प्लेस सिंबल टेबल मैं रेफर कर रहा हूं डड प्लेस दोनों की जो भी वैल्यू है उसको सम करेंगे उसको e के अंदर रखेंगे अगेन अपेंड करना मतलब अपडेट कर देंगे राइट कर देंगे सिंबल टेबल के अंदर एंड न्यू टेंपरेरी वेरिएबल जो भी बनेगा वह वैल्यू जाएगा e प्लेस के अंदर बहुत सिंपल बात है इसको अगर आप नीचे से ऊपर की तरफ देखोगे तो यह जो एक्शन है रूल है ये इसको जनरेट करेगा a + b की वैल्यू t1 एक नया टेंपररी वेरिएबल में चली जाएगी हां नॉट दिस वन एक्चुअली हमें क्या चाहिए हमने अच्छा मैंने शायद यहां पे प्लस लिख दिया इसको भी मल्टीप्लाई कर देते हैं अभी ठीक है तो नॉट दिस वन दिस वन एक ही बात है ना उधर प्लस ना लिख के मल्टीप्लाई लिख दिया ऐसा हमने कर दिया अगेन यहां पे यूरी ऑपरेटर है तो सिंपल माइन रन किया e डॉट प्लेस की जो भी वैल्यू है उसको माइनस करो उठा के फिर से रखो एंड देन अगेन यू नीड अ न्यू टेंपररी वेरिएबल आप राइट कर सकते हो हालांकि इस पर्टिकुलर एग्जांपल में हमने इसको यूज नहीं किया है है ना एक लास्ट वाला केस देख लीजिए वो आपके लिए थोड़ा इंटरेस्टिंग होगा तो जब फाइनली टर्मिनेट करते हैं ना तो क्या करना है अगेन टर्मिनेट डिक्लेयर करेंगे काइंड ऑफ तो पहले चेक करो एंट्री हमारे पास है कि नहीं है अगर एंट्री मिल गई तो फाइनली आईडी में e डॉट प्लेस की जो भी वैल्यू है वो आप उठा के उसको अप डेट करो और अगर नहीं है तो फिर से वही डिफाइन करना है कि भाई यह कोई डिक्लेयर्ड मेरे पास नहीं है सो दैट डजन मेक सेंस तो इस तरह के एसडीटी भी अगर आपसे पूछता है तो हम पूरी ट्रेनिंग लेके चल रहे हैं है ना हमें इसमें कोई प्रॉब्लम नहीं आनी चाहिए इस पे आप काम कर सकें कंट्रोल फ्लो कुछ केस ये भी ट्राई कर लेते हैं तो देखिए हमने स्विच केस कर लिए पहले किए थे उसके बाद हमने ये सारे पैटर्न देखे बाइनरी ट्री कैसे जनरेट कर सकते हैं वो देखा अभी लास्ट में आपने देखा एक्सप्रेशंस बुलियन एक्सप्रेशन है अर्थमेटिक एक्सप्रेशन है उसके लिए टी कैसे बना सकते हैं यह देखिए अ दो-तीन सिंपल स्टेटमेंट है इफ पे पहले काम कर लेता हूं यहां देखो पहले स्टेटमेंट पढ़ो क्या लिखा हुआ है सो स्टेटमेंट है इफ e देन s1 एज सिंपल एज दैट तो अगर e कंडीशन हमारी काम करेगी तो हमको s1 रन करना है है ना अब कैसे यह काम करेगा अप्रोच क्या होगी ध्यान से देखिए तो e का जो भी कंडीशन होगा आप उसको रन करेंगे उसके कोड को रन करेंगे है ना और या तो वो ट्रू होगा या तो वो फॉल्स होगा अब ऑब् वियस अगर वो ट्रू हुआ तो मेरे को यह बेसिकली मैं पॉइंटर की तरह से आपको दिखा रहा हूं मेरे को s1 डॉ कोड पर जाना पड़ेगा एस सिंपल एज दैट लेकिन अगर वो फॉल्स हुआ तो मैं सीधा इसको बायपास करूंगा और फॉल्स प मैं सीधा जो नेक्स्ट स्टेटमेंट होगा वहां पर चला जाऊंगा और वही चीज देखिए मैं यहां पर लिख रहा हूं e ड ट्रू अगर हमारा हुआ तो एक नया लेबल हम जनरेट करेंगे और डॉट फॉल्स पे या s1 नेक्स्ट पर दोनों पे नेक्स्ट होगा यह बात बड़ी इंपॉर्टेंट है क ध्यान से समझिए अगर यह कंडीशन फॉल्स हुई यह कंडीशन फॉल्स हुई तो भी आपको x नेक्स पे आना है अगर यह कंडीशन ट्रू हुई तो भी आपको x नेक्स पे आना है अगर मैं एक फ्लो बना के दिखाऊं आपको इफ कैसे काम करता है इफ काम करता है कुछ इस तरह से क्योंकि एल्स तो है नहीं यहां पे है ना तो लेट मी से इफ दिस इज s एंड दिस इज s1 तो आप अगर दिस इज़ ट्रू एंड दिस इज़ फॉल्स ध्यान से देखिएगा तो अगर कंडीशन फॉल्स होती है तो भी आप s पे आएंगे अगर कंडीशन ट्रू होती तो वाया s1 आएंगे बट आना आपको s में ही है तो वही चीज यहां पर लिख रहे हैं कि फॉल्स का नेक्स्ट या s1 का नेक्स्ट दोनों का अगला जो है वो एकने एक s नेक्स्ट ही होना है टंग ट्विस्टर हो गया है तो यस एक बार ये देख लीजिए अब कोड कैसे लिखेंगे s ड कोड ध्यान से देखिएगा e ड कोड दिस दिस मींस अपेंड करना है ना एक साथ लिख रहे हैं दिस इज नॉट र ऑपरेशन तो e डॉट कोड हम रन करेंगे अब यहां पे देखिए अ जन एक फंक्शन है जो कि चेक करेगा e . ट्र काम करेगा कि नहीं और उसके बाद हम जा रहे हैं क्या लिख रहे हैं s 1 डॉट कोड बिकॉज़ अगर वह काम करेगा तो हमें कहां पहुंचना है s नेक्स पर पहुंचना कोई कंडीशन तो उसकी है नहीं है ना अगर इसी को थोड़ा सा मॉडिफाई करें और इफ में एल्स भी हो तो देखो क्या होगा एक तरफ ट्रू होगा एक तरफ फॉल्स होगा और यहां पर हमने क्या किया s1 और s2 है ना दोनों के अलग-अलग होंगे तो लेट मी कॉल दिस एज s1 एंड दिस इज s2 और ऑब् वियस फाइनली दोनों को आना एक ही रास्ते मे बी आई विल कॉल इट s अब देखिए जरा कहानी क्या चलेगी तो यहां देखिए s1 का नेक्स्ट भी s नेक्स्ट है s2 का नेक्स्ट भी x नेक्स्ट है उधर ही आपको जाना है दोनों के लिए ट्रू और फाल्स के लिए यहां पर नए लेवल आपको बनाने पड़ेंगे और यहां से भी सीधे s नेक्स पे जाना पड़ेगा और इधर से भी एकस नेक्स पे जाना पड़ेगा काइंड ऑफ सेम अप्रोच है यहां पे बस कोड थोड़ा सा आगे चला जाएगा पुराने वाला पूरा पैटर्न तो देखो एकदम सेम आ रहा है उसमें कोई चेंज नहीं है यहां पर जरूर देखने की बात है कि जो हमने s1 के लिए किया था अब वो हमको s2 के लिए भी करना पड़ेगा सो दिस इज द आइडिया तो इन केस अगर कंट्रोल फ्लो की बात आ जाए तो यह यह फ्लो चार्ट बनाइए एग्जीक्यूशन लिखिए एक बेसिक बेसिक आईडिया समझा के आएंगे तो एग्जामिनर को समझेगा कि हां यू हैव दैट बेसिक अंडरस्टैंडिंग हालांकि इतने डिटेल में पूछा जाए इस बात के चांस कम है बट सिलेबस में मेंशन किया है तो एक बेसिक आईडिया तो हमें लेना ही है है ना आगे बढ़ता हूं और यहां पर हमने किसके लिए लिखा है वाइल के लिए है ना तो वाइल की अगर आपको कहानी समझाऊं वाइल कैसे काम करता है आप जाते हैं एक कंडीशन जैसे मान लीजिए यहां पर e लिखा हुआ उस कंडीशन को रन करते हैं अगर कंडीशन काम करती है तो आप s1 कोड एग्जीक्यूट करते हैं लेट मी से ट्रू और वापस जाने का रास्ता नहीं वापस आपको इधर ही आना है और अगर यह फॉल्स होता है तब आप आगे निकल जाते हैं बोलो ठीक बता रहा हूं क्या एंड दैट इज अ वाइल कंडीशन ये है कुछ लूप की कहानी तो आप आएंगे ई के कोड को एग्जीक्यूट करेंगे दो लेबल जनरेट हो सकते हैं ट्रू या फॉल्स और अगर ट्रू हुआ तो आप s1 कोड प जाएंगे नो डाउट अगर फॉल्स हुआ अच्छा कोड पे जाए उसके बाद फिर से गो टू बिगिन नाउ दैट इज अनकंडीशनल जंप आपको इधर जाना ही पड़ेगा है ना फिर से बिगिन करना पड़ेगा बाहर निकलने का रास्ता यह है यही है ऊपर से और फॉल्स हुआ तो सीधा फॉल्स लेके s डॉट नेक्स्ट लेके निकल जाएंगे एक बार अगर आपको अप्रोच आईडिया समझ आने लगा तो फिर इन सबकी कहानी सेम ही है तो यहां देखिए एक नया लेबल जनरेट किया नाउ e ड ट्रू न्यू लेबल फॉल्स हुआ तो नेक्स्ट पे जाएंगे s1 के नेक्स्ट से इस बार बाहर नहीं जाना सीधे फिर से बिगिन पे आना है और फिर कहानी आगे बढ़ेगी और जैसा पैटर्न हम लिखते आए हैं ये सारे अलग-अलग आईडियाज बैक टू बैक बैक टू बैक बस हमें अपेंड करते रहना है बीच-बीच में लिखते जाने है तो ये हो गया इसका थ्री एड्रेस कोड है ना तो आई थिंक अगेन डिफरेंट डिफरेंट फ्लो चार्ट्स के लिए अलग-अलग आइडियाज हम ऑब्जर्व कर सकते हैं मैं ऑलरेडी बात कर चुका हूं एक बार आपसे स्विच केस पे है ना जो सैंपल हमने लिखा था बट अगेन एक और केस अगर आप देखना चाहे तो यहां पर दिखाया क्या स्विच ई है देन डिफरेंट केसेस आर देयर एंड देन यू हैव द डिफॉल्ट वैल्यू और हर केस के अंदर एक सेट ऑफ स्टेटमेंट है तो सिमटिक एक्शन देखिए इवेलुएट करेंगे सबसे पहले e को है ना इसमें कोई कंफ्यूजन नहीं हो सकता देन क यू नो वैल्यू चेक करेंगे गो टू चेक चेक के ऊपर जाएंगे और यहां पे जाके चेक करेंगे यानी कि यहां से सीधे जंप करके यहां पे आ गए चेक करा क्या जो वैल्यू है t की क्या वो v1 वाली वैल्यू है केस वन की अगर है तो l1 पे जाइए है ना और इस बार दिस इज काइंड ऑफ अ ब्रेक बिकॉज़ एवल पे जाने के बाद स्टेटमेंट रन करने के बाद सीधे आपको लास्ट में भेज रहा ताकि बाकी स्टेटमेंट रन ना हो जाए ये अच्छे से लिखा गया है सिमिलरली हो सकता है वो वैल्यू इधर ना मैच करती वैल्यू v2 से मैच करती तो मैं यह मेरे को l2 प भेज देता मैं s2 का स्टेटमेंट रन करता जाके जो कि केस v2 में होगा और वहां से मैं लास्ट पे जाता तो अगेन इट इज लाइक सेम थिंग दो-तीन पैटर्न है दो-चार बार लिख के देखेंगे प्रैक्टिस करेंगे एग्जाम अगर कल सुबह ही है तो तो आपको अभी बहुत ध्यान से देखना पड़ेगा वरना तो दो बार तीन बार भी अ वीडियो देख लोगे तो काम आपका शानदार तरीके से हो जाएगा क्योंकि फिर वो रिवीजन में भी बन जा आता है और एक सैंपल केस मैं यहां लिख के भी दिखा रहा हूं आपको क्योंकि ब्रेक वाली बात है ना यहां पे तो आप देखो यह स्विच है स तो सबसे पहले हम आए और यहां पे देखिए इफ स = 1 पहला केस है सीधे गया गो टू वन के ऊपर और वैल्यू क्या करना है a + b की वैल्यू c में रखनी है तो पहले t1 में रखा फिर t1 को c में रखा देन सीधे गो टू लास्ट यहां कहीं लिख देता हूं लास्ट सिमिलरली अगर वो हिट नहीं करेगा तो देखो t2 = a - b और फिर t2 की वैल्यू c में डाली एंड गो टू लास्ट एंड लाइक दिस विल कंटिन्यू है ना सो दिस इज़ द आइडिया यूजिंग व्हिच हम काम कर रहे होते हैं अब एक छोटा सा आईडिया है बैक पैचिंग आपके सिलेबस में मेंशन है आईडिया काइंड ऑफ़ हम देख चुके हैं एक बार डिस्कस कर लेता हूं सो व्हाट इज़ बैक पैचिंग बैक पैचिंग इज़ एन एसेंशियल टेक्नीक यूज़ ड्यूरिंग द जनरेशन ऑफ़ थ्री एड्रेस कोड इन कंपाइलर डिज़ाइन स्पेशली जो सिंगल पास कंपाइलर है क्या इट इज़ अ मेथड यूज़ इन सिंगल पास जनरेशन थ्री एड्रेस कोड वयर द एड्रेस फॉर जंप स्टेटमेंट इज़ टेंपरेरी लेफ्ट अनस्पेसिफाइड ड्यू टू अननोन लेबल जब हम थ्री एड्रेस कोड जनरेट कर रहे होते हैं तो कहां जंप करना है कहां से वापस आना प ऑप्टिमाइजेशन भी नहीं हुआ सिंगल पास कंपाइल हम उनको फिल इन द ब्लैंक छोड़ देते हैं है ना सो बैक पैचिंग लेटर फिल्स दीज एड्रेसस विद अ करेक्ट वैल्यू वंस द टारगेट लेबल आर डिटरमाइंड ड्यूरिंग द कोड जनरेशन फेज जब फाइनली हमें एड्रेस मिल जाता है तो बैक पैच करना मतलब वापस जाना और फिर से उनको यू नो एड्रेस को फिल करना फॉर एग्जांपल अब यहां जैसे मैंने पहले से फिल करके रखा है आपके लिए सपोज दीज आर द फिल इन द ब्लैंक्स अब यह कोड आप लिख लेते इफ a इज लेस दन लिख देता हूं इफ a इज ले दन b गो टू t1 एल्स t2 तो बैक पैचिंग में क्या होता हम देखते इफ a इज < 1 तो देखो t = 1 कहां पे हो रहा है यहां पे हो रहा है तो हमें यहां पे i + 3 यानी कि इधर जाना पड़ेगा सो सपोज इफ दिस इज़ अ फिल इन द ब्लैंक सिमिलरली अगर यह कंडीशन फेल हुआ आपने t की वैल्यू ज़ीरो लगाई और सीधे अब आपको बाहर आना है तो यहां पे फिल इन द ब्लैंक में आपने t4 डाला तो यह मान लो जितने भी बेसिक केस है ये इफ के लिए मैंने लिख दिया यू कैन ट्राई देम आउट यह अगर फिल इन द ब्लैंक होते तो क्या आप खुद से भर सकते थे क्या नाउ दिस इज अ कोड फॉर वाइल लूप दिस इज अ कोड फॉर फॉर लूप तो ये दो तीन अलग-अलग आईडियाज है एक क्वेश्चन आपके लिए बना के ला हूं अब इसको यहीं पर सॉल्व कर लेते हैं आपके साथ तो देखिए जरा क्या केस है यह अ बेसिकली कंडीशन है इफ मान लेते हैं ए और सीडी एंड सो दिस इज कंडीशन वन दिस इज कंडीशन टू एंड दिस इज कंड कंडीशन थ और देखिए इन दोनों के बीच में एंड है इधर और इधर और है तो ये कैसे काम करेगा फ्लो दिखाऊ इसका आप जाओ कंडीशन c1 चेक कर लो अगर c1 काम कर गया तो फिर आगे चेक करने की जरूरत नहीं लेट मी से आप सीधे स्टेटमेंट पर जा सकते हो इफ दिस इज ट्रू बट अगर यह फॉल्स हुआ तो और है अब आप क्या करोगे अब आप चेक करो c2 और दोनों में एंड है अगर c2 ट्रू हुआ तो आप चेक करोगे c3 अदर वाइज अगर c2 फॉल्स हो गया है ना तोब ये तो मैं स्टेटमेंट की बात कर रहा हूं c2 अगर फॉल्स हो गया तो अब यहीं से एग्जिट कर जाओगे c2 फॉल्स पे एग्जिट करोगे अगर फाल्स पे है ना हां और अगर यह ट्रू हुआ तो क्योंकि दोनों के बीच में एंड है रुकिए एक मिनट मुझे दोबारा से बनाना पड़ेगा ब स्टेटमेंट कहां रखना है वो देख लेते हैं फाल्स वाला केस इधर मान के चलूंगा तो ऐसे समझते हैं अगर लेट मी सेस दि इज द स्टेटमेंट ट्रू होने पर यह स्टेटमेंट रन करेंगे और इसको इधर बनाता हूं ट्रू होने पर ये स्टेटमेंट रन करेंगे और फॉल्स होने पर सीधे बाहर आ जाएंगे फॉल्स होने प यह s1 प जाना है सबको बल्कि इसको ए मान लेता हूं इसको s मान लेता हूं सबको ए पर जाना है तोब यहां ध्यान से देखिएगा अगर और है ना अगर c1 ट्रू हो गया तो आप सीधे चले जाइए s1 पर कोई टेंशन नहीं है फिर आपको दूसरी कंडीशन चेक करने की जरूरत ही नहीं है अगर c1 फॉल्स होता है है ना तब आपको आना आना है और अब आपको चेक करना है c2 अगर c2 ने काम किया ट्रू अगर c2 होता है तब भी काम कंप्लीट नहीं है अब आप c3 चेक करेंगे और वो भी ट्रू होगा तो आप जाएंगे लेकिन अगर इसमें से कोई भी फॉल्स हो गया दिस इज स्टेटमेंट आई एम सॉरी ये फॉल्स वाला है ना तो मुझे इधर बनाना चाहिए ये सॉरी सॉरी सॉरी ऐसे बनाता हूं तो अगर यह फॉल्स हुआ तो पहला फॉल्स हो जाएगा बट अगर यह ट्रू हुआ है ना तो मैं जाके चेक करूंगा अगला कंडीशन व्हिच इज़ लाइक c3 और अगर ये भी ट्रू हुआ तो मैं इस व पे चला जाऊंगा अब ठीक है लेकिन अगर आइर c2 या c3 दोनों में से कोई भी फॉल्स हुआ तो मैं सीधे s पे आऊंगा अब ठीक है तो दिस इज़ द फ्लो ग्राफ है ना अब मैं इसको बना लेता हूं सर अगर a < b है पहला कंडीशन ट्रू है तो फिर हम सीधे जा सकते हैं अब यहां पे स्टेटमेंट हमने दिस गो टू दिस गो टू दिस तो एक स्टेटमेंट हमें बनाना पड़ेगा है ना तब यह कहानी काम करेगी मान लेता हूं फिलहाल यह फिर गड़बड़ ी हो जाएगा चलो छोड़ देते हैं इसको सो दैट विल बी ऑल दैट विल बी ऑल इन द प्रीवियस चैप्टर नाउ वी आर ऑल रेडी फॉर चैप्टर नंबर फोर व्हिच इज़ लाइक सिंबल टेबल वैसे सिंबल टेबल एक छोटा टॉपिक है बट यू नो कंपाइलर डिज़ाइन के अंदर पूरा चैप्टर उसको दिया अभी हर चैप्टर की वेटेज तो काइंड ऑफ़ बराबर है तो ये वो वाले आईडियाज है जहा होता है ना आईडिया दो नंबर का लिखने में दे देंगे 10 नंबर में तो कुछ तो लिख के आओगे तो उस चैप्टर में बात का ध्यान देना है कि भले ही कंटेंट छोटा हो हेडिंग बना के नोटेशन बना के लिख के आना है इसमें ज्यादातर थ्योरी थ्योरी है है ना न्यूमेरिकल इज काइंड ऑफ नहीं है तो आइए अभी देखते हैं चैप्टर नंबर फोर सो फाइनली स्टार्ट करते हैं चैप्टर फोर और आखिरी के दोनों चैप्टर रिलेटिवली कम साइज के हैं कंटेंट कम है बट जैसे मैंने आपसे बोला थोरेट्स तो अगेन आई एम गोइंग टू कवर ईच एंड एवरी टॉपिक वर्ड बाय वर्ड डिस्कशन स्टार्ट करते हैं सिंबल टेबल क्या है है ना ये एक बेसिक अंडरस्टैंडिंग तो हम पहले ले चुके हैं कि यार जितने भी फेजेस है ना कंपाइलर के सिंबल टेबल और एरर हैंडलर ये दोनों साथ-साथ चलते हैं और बिना इनके कोई भी फेज अच्छे से काम नहीं कर सकता यह तो फैक्ट है बट सिंबल टेबल क्या है सिंबल टेबल इज अ काइंड ऑफ डेटाबेस बोल दूं कंपाइलर का जितना भी मेटा डाटा है जो भी हिसाब किताब है कोड के बारे में जिस पर हम काम कर रहे हैं वो कहां लिखा होता सिंबल टेबल में लिखा होता है तो आई विल गो वन बाय वन सो सिंबल टेबल इज अ डेटा स्ट्रक्चर यूज्ड बाय कंपाइलर टू स्टोर इंफॉर्मेशन अबाउट द सोर्स प्रोग्राम्स वेरिएबल फंक्शन कांस्टेंट्स यूजर डिफाइंड टाइप्स एंड अदर आइडेंटिफिकेशन यही है जो भी सारा लेखा जो का है वह वहां पर आपको मिलेगा फिर चाहे वह वेरिएबल हो चाहे फंक्शंस हो हो कांस्टेंट्स हो यूजर डिफाइंड डटा टाइप्स और स्ट्रक्चर्स है इस तरह का आपने कुछ बनाया या अदर आइडेंटिफिकेशन फायर बड़ी चीज है ना यार देखो एग्जीक्यूशन के दौरान बहुत सारे वेरिएबल होते हैं कौन सा वेरिएबल कहां डिक्लेयर किया गया फिर हर प्रोग्रामिंग लैंग्वेज में अलग-अलग टाइप्स के वेरिएबल होते हैं यह ऑटो है यह इंट है यह रजिस्टर है तो सारी की सारी कहानी बड़ी कॉम्प्लेक्शन है इट इज एसेंशियल फॉर सिमटिक एनालिसिस टाइप चेकिंग एंड कोड जनरेशन तो बाद में जब सिमटिक एनालिसिस करते हैं है ना ये देखते हैं कोड मीनिंगफुल है कि नहीं ये देखते हैं कि डेटा टाइप मैच कर रहा है कि नहीं तो वहां पर हमारा जो सिंबल टेबल है क्योंकि सारा डाटा एक जगह उसने इकट्ठा करके रख दिया है ना तो एक बड़ा क्रुशल रोल ये प्ले करता है आगे बढ़ता हूं द इंफॉर्मेशन इज कलेक्टेड बाय द एनालिसिस फेज ऑफ द कंपाइलर एंड यूज बाय द सिंथेसिस फेज ऑफ द कंपाइलर तो यहां पर बेसिकली हम समझने की कोशिश कर रहे हैं स्लाइड के अंदर कि ड्यूरिंग द एंटर कंपाइलेशन उसके जितने भी फेसेस हैं हर फेज का क्या यूज है सिंबल टेबल के साथ है ना लेकिन जैसे हम बोलते हैं फ्रंट एंड या बैक एंड या जैसे बोलते हैं एनालिसिस या सिंथेसिस तो ये इन जनरल अंडरस्टैंडिंग है कि जो पहले तीन फेज स्पेशली हमारा यू नो लेक्सिक एनालिसिस सिंटेक्स एनालिसिस कुछ हद तक सिमटिक एनालिसिस इनका मेजर काम है कंट्रीब्यूट करना है ना तो जैसे-जैसे हम कोड पढ़ते जाते हैं हमारी समझ आगे बढ़ती जाती है सिंबल टेबल में हम एंटर करते जाते हैं जो हमारा एनालिसिस फेज है है ना जो बाद में आई एम सॉरी जो बाद में हमारा सिंथेसिस फेज है यानी कि हमारा कोड जनरेशन ऑप्टिमाइजेशन है वहां पर बेसिकली जो डाटा हमने स्टार्टिंग में स्टोर किया होता है उसको यूज करने का समय आ गया होता है तो जो सिंथेसिस फज यूज कर रहा होता है एक-एक करके स्टेप बाय स्टेप देखते हैं तो पहले देखिए लेक्सिक नेसेस मोस्टली क्रिएट न्यू टेबल एंट्रीज तो जो जो हम पढ़ रहे हैं जो जो सीख रहे हैं मे बी कोई आइडेंटिफिकेशन एटिबल का डेटा टाइप क्या होगा सिंटेक्स क्या है प्रॉपर्ली डिक्लेयर किया गया है कि नहीं किया गया है क्या उसका स्कोप है सारी चीज ऐड करना टू चेक एक्सप्रेशंस वेदर दे आर सिमटिक करेक्ट ऑर नॉट टाइप चेकिंग करना वो अपना फेस का काम करेगा सिंबल टेबल में एंट्री कराएगा सिंबल टेबल हेल्प्स इन एडिंग टेंपरेरी वेरिएबल इंफॉर्मेशन इन द कोड तो जो इंटरमीडिएट कोड जनरेट होंगे वहां पर आप देखते हैं कई बार हम यू नो a + b + c है तो एक साथ तो नहीं कर सकते पहले a + b की वैल्यू ऐड करते हैं मे बी उसे एक टेंपरेरी वेरिएबल डिक्लेयर करेंगे t1 में उसमें स्टोर करेंगे फिर t1 में सीक्ड करेंगे उससे t2 में स्टोर करेंगे यह सारी चीजें इंटरमीडिएट कोड में जब हम कर रहे होते हैं तो नई टेंपररी वेरिएबल में हमारी हेल्प करना भी सिंपल टेबल का काम है कोड ऑप्टिमाइजेशन यूज सिंबल टेबल इन मशीन डिपेंडेंट ऑप्टिमाइजेशन तो खासकर जहां पे मशीन डिपेंडेंट ऑप्टिमाइजेशन है जहां पे इस बात से फर्क पड़ता है कि हम कौन से असेंबलर के लिए कौन सी मशीन के लिए फाइनल कोड बना रहे हैं उसके कुछ एटिबल करता है एंड लासेस कोड जनरेशन यूस एड्रेस इंफॉर्मेशन ऑफ आइडेंटिफिकेशन है वो सारी चीजें तो अगेन जैसा मैं बोल रहा हूं ये तो हम एक्सप्लेन कर रहे हैं आपको क्वेश्चन आए तो उसमें दोदो लाइन और लिखो कोई दिक्कत नहीं है पॉइंट सिर्फ इतना है सर अगर सिंबल टेबल एक तरह का डाटा स्ट्रक्चर है जहां पे कोड का सारा मेटा डाटा हमने रखा हुआ है तो हर फेज कुछ ना कुछ तो उसको जरूरत पड़ेगी ही पड़ेगी है ना बस इतनी सी बात है तो यह पॉइंट क्लियर हो जाता है आगे देखिए आमतौर पे हम बोल रहे हैं क्या-क्या चीजें इन जनरल मैं दोबारा हेडिंग बाय हेडिंग लिख रहा हूं डेटा का टाइप उसके नेम्स सब चीज आपको मिलेंगी देन प्रोसीजर कोई फंक्शन है उसको डिक्लेयर करना उसको डिफाइन करना व सारी चीजें वहां पर मिलेंगी पॉइंटर टू स्ट्रक्चर टेबल और रिकॉर्ड्स तो अगर आपने कुछ पॉइंटर डिक्लेयर किए हैं रिकॉर्ड्स के लिए स्ट्रक्चर पे वो वहां मिलेंगे पैरामीटर पासिंग बाय वैल्यू और बाय रेफरेंस आपने सुना ना बाय वैल्यू जहां पे एक फंक्शन दूसरे फंक्शन में सिर्फ वैल्यू पास कर रहा होता है या बाय रेफरेंस जहां पे हम पॉइंटर की मदद से एड्रेस पास कर देते हैं लाइक किसी एरे का बेस एड्रेस पास कर दिया उन सब चीजों का ड रिकॉर्ड रखना नंबर एंड टाइप ऑफ आर्गू मेंट पास टू अ फंक्शन तो यह कभी-कभी बड़ा टेक्निकली इंपॉर्टेंट हो जाता है कितने आर्गुमेंट पास किए एक्चुअल पैरामीटर क्या है फॉर्मल पैरामीटर्स क्या हैं लेफ्ट टू राइट पास हुआ है कि राइट टू लेफ्ट पास हुआ वो सारी चीजें एंड बेस एड्रेस मान लीजिए जैसे एरे का मैं एग्जांपल दे रहा था कि कोई प्रोग्राम है तो उसका बेस एडर्स ये सारी की सारी चीजें इंफॉर्मेशन आपको मिलेंगी सिंबल टेबल के अंदर और डिटेल में हम बात कर रहे हैं अब सिंबल टेबल की बेसिक डेफिनेशन उसकी नीड उसकी नेसेसिटी ये सारी चीजें हमें समझ आ गई क्या कुछ इंपॉर्टेंट फंक्शंस है जो सिंपल टेबल को करना ही चाहिए जी हां जैसे अब कोई भी डेटा स्ट्रक्चर मान लीजिए स्टैक है है तो स्टैक किसी काम का कब होगा जब आपको उसके ऊपर पुश करना आता हो पॉप करना आता हो यू नो कुछ फंडामेंटल काम करने आते हो इसी तरह यहां पर सिंपल टेबल पे क्या-क्या करना आना है लुक अप ये हमने पहले यूज़ भी किया है सो दिस फंक्शन चेक्स फॉर अ स्पेसिफिक नेम वेदर इट एजिस्ट इन द सिंबल टेबल ऑर नॉट है ना तो कोई स्पेसिफिक नाम कोई नाम हमें सर्च करना है स्ट्रिंग सर्च करना है तो सर्च करना आना चाहिए देन इंसर्ट हमने देख लिया मान लीजिए पहले से कोई एंट्री नहीं है एंड देन वी वांट टू इंसर्ट अ न्यू एी वो करना आना चाहिए एक्सेस हमने सर्च कर लिया डाटा वहां पर है एक्सेस करना चाहते हैं मॉडिफाई करना चाहते हैं पुरानी इंफॉर्मेशन को डिलीट करना है उसमें कुछ चेंजेज करने वो सारी चीजें एंड ओबवियसली डिलीट तो अगेन मैं बोल रहा हूं ना एक तरह से मान के चलो यह कंपाइलर का डेटाबेस है तो डेटाबेस में जितने सारे फंडामेंटल ऑपरेशंस हम करते हैं वह सारे फंडामेंटल ऑपरेशंस हमें सिंबल टेबल में भी करने आने चाहिए आगे बढ़ता हूं जब भी हम कोई चीज नहीं डेवलप करते हैं जैसे एल्गोरिथम की बात करते हैं तो हम बोलते हैं कितना टाइम वो लेगा एग्जीक्यूट करने में कितना स्पेस रिक्वायरमेंट होगा है ना और इन जनरल हम उस एल्गोरिथम को अच्छा मानेंगे जिसका टाइम रिक्वायरमेंट कम हो जिसका स्पेस रिक्वायरमेंट कम हो ठीक उसी तरह से देयर शुड बी सम स्पेसिफिक रिक्वायरमेंट्स ना कि यार अगर ऐसा ऐसा सिंबल टेबल व्हाट आर द क्राइटेरिया ऑन व्हिच आप जज करोगे कि किसी कंपाइलर ने सिंबल टेबल वाली मैथ्स को आईडिया को अच्छे से इंप्लीमेंट किया कि खराब से इंप्लीमेंट किया कोई लॉजिक होना चाहिए तो समझिए एक-एक करके बात करता हूं पहला देखिए अडेप्टिया स्पेसिफिक यूज़ तो हर स्ट्रक्चर के हिसाब से बिकॉज़ अ फॉर एग्जांपल फंक्शन है उसका इंफॉर्मेशन अलग टाइप का है वेरिएबल का अलग टाइप का है पॉइंट्स का अलग टाइप का होगा तो हर किसी के हिसाब से अडेप्ट करें और जो सबसे सही तरीका हो इंफॉर्मेशन को रिप्रेजेंट करने का उस चीज के हिसाब से वो उस तरीके से हम वहां पर डाटा को स्टोर कर पाएं लुक अप सबसे ज्यादा बार जो आपको करना पड़ेगा वेदर इंसर्ट करना डिली करना स्टार्ट तो सर्च से होना है सर्च अगर आप फास्ट करेंगे तो मामला सही चलेगा सो हाई स्पीड सर्च फंक्शनैलिटी इज एसेंशियल डिपेंडेंट ऑन द अ सिंबल टेबल्स डिजाइन तो कैसे आप डिजाइन कर रहे हैं आगे बात करेंगे व्हाट आर द डेटा स्ट्रक्चर्स आप अनसोर्टेड लिस्ट है सॉर्टेड लिस्ट है आप हैश टेबल यूज कर रहे हैं आप लिंकलिस्ट यूज कर रहे हैं उस बेस पर डिपेंडेंट है कि कितना टाइम लगेगा तो यार फास्ट होना चाहिए एफिशिएंट स्पेस अब जाहिर सी बात है वैसे तो देर इ अ ट्रेड ऑफ बिटवीन टाइम एंड स्पेस आप टाइम बचाएंगे तो स्पेस थोड़ा ज्यादा खर्चा होता है स्पेस बचाते हैं तो टाइम ज्यादा खर्चा होता है बट स्टिल ऐसा ना हो कि बहुत ज्यादा स्पेस ले बिकॉज तो भी हमारे लिए प्रॉब्लम है बिकॉज आमतौर पे कंपाइलर का ज्यादातर कंपोनेंट मेन मेमोरी में ही रखा होता है है ना तो उसकी कॉस्टिंग बहुत ज्यादा है स्पेस की नेक्स्ट इज लैंग्वेज फीचर्स अकोमोडेशन इट नीड टू सपोर्ट लैंग्वेज स्पेसिफिक एस्पेक्ट्स लाइ स्कोपिंग और इंप्लीड डिक्लेरेशन अब आजकल हर कुछ समय के बाद नई-नई प्रोग्रामिंग लैंग्वेजेस आती हैं उन लैंग्वेजेस के जो नए-नए फंक्शनैलिटीज फीचर्स हैं उसके हिसाब से अपने आप को मॉडिफाई कर पाना यह भी सिंबल टेबल्स हमारी एक बड़ी रिक्वायरमेंट है ऐसा नहीं कि यू नो जैसे मैं फर्स्ट पॉइंट पे बोल रहा था कि एक स्पेसिफिक पैटर्न बना लिया जो है उसी फॉर्मेट पे लिख रहे हैं नहीं फंक्शन के लिए अलग तरीका हो वेरिएबल के लिए अलग तरीका हो कोई स्ट्रक्चर उसके लिए अलग तरीका हो पॉइंटर के लिए अलग हो ये सारी चीजों को ध्यान रखना है और यह सारे क्राइटेरिया अगर कोई सिंबल टेबल फुलफिल करेगा तो मान के चलेंगे ट इट इज अ गुड सिंबल टेबल यस आगे बढ़ता हूं नाउ ट्स वेरी इंपोर्टेंट पॉइंट व्हाट आर द डेटा स्ट्रक्चर्स कौन-कौन से इंपोर्टेंट डेटा स्ट्रक्चर्स है जिनका यूज करके हम सिंबल टेबल को इंप्लीमेंट करते हैं समझिए नाम है सिंबल टेबल बट यह मत समझिए कि सिंबल टेबल जस्ट एक टेबल है पहली बात जो एग्जैक्ट स्ट्रक्चर है ना सिंबल टेबल का वो केस टू केस एग्जीक्यूशन टू एग्जीक्यूशन लैंग्वेज टू लैंग्वेज इवन कंपनी टू कंपनी देखिए एक लैंग्वेज को पास करने के लिए मार्केट में 10 कंपनी हो सकती है जो अपने-अपने हिसाब से पार्सर बनाए इजेंट इट तो हर किसी की रिक्वायरमेंट हर किसी का पैटर्न अलग हो सकता है इंप्लीमेंटेशन भी अलग हो सकती है लेकिन अगर एक हम सिंपल सी बात करें क्या यार एक सिंपल लिस्ट हम बना लेते हैं जो भी डाटा आएगा एक के बाद एक के बाद एक अपन ऐड करते जाएंगे इट्स एन अनसोर्टेड लिस्ट हम कोई दिमाग नहीं लगा रहे डाटा आ रहा है ऐड करते जा रहे हैं अब ऐसा आप करेंगे तो मुझे बताइए इंसर्ट का कॉस्ट क्या होगा ऑब्स ऑर्डर ऑफ़ वन कोई महान बात नहीं है क्योंकि ऐसा नहीं है आप किसी लोकेशन पे इंसर्ट करते हैं जो अगला लोकेशन खाली होगा जाके इंसर्ट कर देंगे बात खत्म हो गई लेकिन इसमें अगर आपको सर्च करना है ना तो यह सॉर्टेड है ना आपने इसको किसी स्पेसिफिक पैरामीटर के हिसाब से अरेंज किया ना इसमें हैशियम पली मेंट लाइक एरे लिंकलिस्ट से आप इंप्लीमेंट कर सकते हैं और लिंकलिस्ट का एडवांटेज ये होगा थोड़ा डायनेमिक ग्रो ग्रोथ हो सकता है कहीं प्रॉब्लम नहीं होगा और स्पेशली प्रॉब्लम आएगी लार्ज टेबल पे हम मान लीजिए आधार कार्ड का डाटा अगर आप ऐसे होल्ड करने लगो सिंबल टेबल बहुत बड़ा हो हर बार लीनियर सर्च करना पड़ेगा तो अगर मैं आपको कोई भी नया नेम देता हूं मे भी कोई स्टूडेंट नेम है तो जॉन मारिया एलेक्स लाइक दिस इट विल गो ऑल द वे डाउन तो ये प्रॉब्लम है एक तरीका हो सकता है जो हम कई बार यू नो डेटा को अरेंज कैसे करते हैं सर दो ही तरीके आइ दर सॉर्टेड ंड अन सॉर्टेड एक हो सकता है ऑर्ड लिस्ट से हम इंप्लीमेंट करें तो यहां पर यू सी कि जो भी वेरिएबल है डेटा टाइप अकॉर्डिंग टू साइज या किसी भी लॉजिक के हिसाब से हम उसको सॉर्ट कर लेते हैं अब सॉर्ट ंग के एडवांटेज भी है डिसएडवांटेज भी है अगर सॉर्टेड होगा तो नो डाउट आपको जो सर्च स्पेस लगेगा वो क्या लगेगा वो लगेगा ऑर्डर ऑफ n है ना लॉग n बेसिकली व्हाई बिकॉज़ आप जाओगे बाइनरी सर्च करोगे आगे रखना है पीछे रखना है लाइक दिस लेकिन सॉर्टेड स्ट्रक्चर मेंटेन करना अपने आप में आसान नहीं है तो जब भी कोई नया एलिमेंट आएगा उसको कहां पे इंसर्ट करना है उसके लिए एक तरफ से आप ट्रैवर्स करना शुरू करें लाइक इंसर्ट सॉर्ट और देखते जाएंगे क्या सही लोकेशन है जो लोकेशन है वहां पर इंसर्ट करेंगे इंसर्ट कॉस्ट आपकी थोड़ी सी ज्यादा हो सकती है तो इट्स लाइक अ ट्रेड ऑफ कोई भी डाटा स्ट्रक्चर हम ये कभी नहीं बोलते कि एरे अच्छा है लिंक लिस्ट अच्छा है या ट्री अच्छा है इट डिपेंड्स अपॉन द सिचुएशन आपकी सिंबल टेबल किस टाइप की इसलिए तो सारे टाइप डिस्कस कर रहे हैं तो आपके सिंबल टेबल किस टाइप की है वहां पे किस तरह का आईडिया सूट करेगा वो सारी चीजें डिसाइड करके हम ये कॉल ले सकते हैं आगे बढ़ता हूं सर्च ीज तो ऑब्स मैं ये नहीं बोल रहा कि एगजैक्टली ये वाला ट्री बट इट कुड बी रेड ब्लैक ट्री इट कुड बी एविल ट्री हमने डेटा स्ट्रक्चर एल्गोरिथम की पूरी प्लेलिस्ट में सारे डटा स्ट्रक्चर्स पढ़े हैं सॉर्टेड डटा स्ट्रक्चर खासकर ट्री को यूज़ करने के बड़े फायदे हैं आपको आमतौर पे लॉग बेस टू एंड बाइनरी सर्च देता है छोटा वैल्यू है लेफ्ट में जाना है रेड ब्लैक ट्री लट्री फैमिली तो सेम है बीएसटी वाली फैमिली है बड़ा वैल्यू राइट में जाना अच्छा इसको म सम जो ये वैल्यूज है मैं सिर्फ एग्जांपल कोड कर रहा हूं अब मान लीजिए 10 इज अ रोल नंबर ऑफ अ स्टूडेंट या 10 इज अ वेरिएबल नंबर समथिंग लाइक दिस जिसके साथ पूरा मेटा डेटा अपना एसोसिएट करके रखा होगा द आईडिया इज अगर डाटा सॉर्टेड है रेडिकल रिलेशनशिप रख रहा है तो ट्री कैन आल्सो बी अ वेरी गुड आईडिया टू इंप्लीमेंट अ सिंबल टेबल बट हमने अनसोर्टेड लिस्ट देख ली हमने सॉर्टेड लिस्ट देख ली हमने ट्रीज देख लिए सरसरी देख लिए सबसे पॉपुलर इंप्लीमेंटेशन क्या है हैश टेबल तो अगर सिंपल टेबल को आमतौर पे सबसे ज्यादा जिस आईडिया से जिस टेक्नीक से जिस डेटा स्ट्रक्चर से इंप्लीमेंट किया जाता है वो है हैश तो हैश वैसे तो अगेन अगेन वी हैव डिस्कस दैट इन डेटा स्ट्रक्चर डिटेल उसकी जो वन शॉर्ट वीडियो वहां पे आप जाके देख सकते हो आईडिया सिर्फ इतना है सर जब भी कोई नया इंफॉर्मेशन इंसर्ट करना होगा तो वी हैव समथिंग कॉल्ड हैश फंक्शन एक हैश फंक्शन हमारे पास होता है आप उसमें एक की इंसर्ट करेंगे एंड देन यू विल गेट अ स्पेसिफिक लोकेशन आईडिया क्या है इसमें स्पेस जरूर थोड़ा ज्यादा लगता है बट इन द लंगर रन हैश टेबल आपको को देता है ऑफ कॉस्टिंग ऑर्डर ऑफ वन देखो कंपाइलेशन वैसे ही रिलेटिवली बड़ा टाइम इंटेंसिव टास्क है हम चाहते कि कंपाइलेशन जल्दी से जल्दी हो कंपाइलेशन के दौरान बार-बार आप सिंबल टेबल एक्सेस करेंगे अगर इसको आपने फास्ट कर दिया ना तो फिर भले ही क्या हार्डवेयर आप यूज़ करें क्या सॉट सॉफ्टवेयर यूज़ करें मजा नहीं आएगा दिस हैज टू बी रियली रियली फास्ट तभी मजा है है ना और हैश या हैश टेबल की मदद से अगर हम सिंबल टेबल इंप्लीमेंट करते हैं तो एडवांटेज यहां पर कहीं ना कहीं हमें मिलता है है ना तो यह एक इंपॉर्टेंट आईडिया है तो ध्यान रखिएगा ये तीन-चार इंपॉर्टेंट पैटर्न है जिनकी मदद से हम सिंबल टेबल को इंप्लीमेंट कर रहे होते हैं ओके आगे बढ़ता हूं सो नाउ यू सी सिंबल टेबल एंड इट एंट्रीज द रीजन इज कि मैं यहां पे इतनी डिफरेंट डिफरेंट स्लाइड्स यूज़ कर रहा हूं ना आई हैव सीन कि सिमिलर टाइप के क्वेश्चन सेमेस्टर एग्जाम्स में यूनिवर्सिटी में अलग-अलग पैटर्न से अलग-अलग अप्रोच से पूछे गए हैं उसमें कुछ चीजें आपको रिलेटिव लग सकती है बट इंपॉर्टेंट क्या है हेडिंग्स ब आप जानते हो पांच नंबर का क्वेश्चन है आपको दो पेज भर के आने हैं 10 नंबर का क्वेश्चन है चार पेज भरने ही है अब जितने अच्छे से भरोगे ना उतने अच्छे नंबर आ सकते हैं हेडिंग्स आर वेरी इंपॉर्टेंट तो इट्स लाइक बस दोबारा से बता रहा है क्या-क्या आमतौर पर डाटा आपको सिंपल टेल मिलेगा वेरिएबल उनका सारा रिलेटेड डाटा कोई कांस्टेंट्स जैसे कांस्टेंट जैसे वेरिएबल है उनका डाटा यूजर डिफाइन डाटा कैरेक्टर्स है स्ट्रक्चर्स हैं वो पूरा डाटा यहां पर क्लासेस एंड रिकॉर्ड्स तो इन सब की डिटेलिंग भी दो-दो लाइन में दो-दो लाइन में मैंने लिख के पहले से रखी है सो दैट यू कैन डीप डाइव इन टू द आईडिया और अगर कहीं पे क्वेश्चन आए तो उसको और कितने अच्छे से रिप्रेजेंट करके आ सके इस बात की लड़ाई है है ना तो ये चीज यहां पर आपको देखने को मिलेगी आगे बढ़ता हूं नाउ नेक्स्ट इंपोर्टेंट टॉपिक इज स्कोप अब ये ज्यादातर यूनिवर्सिटीज में देख रहा हूं सिलेबस के अंदर इंक्लूडेड है स्कोप की क्या कहानी है और इसके अंदर बहुत आगे कैटेगरी इजेशन स्टेटिक स्कोपिंग क्या होती है डायनेमिक स्कोपिंग क्या होती है हर वेरिएबल के स्कोप्स हैं ग्लोबल लोकल बहुत सारी चीजें तो एक-एक करके समझते हैं पहला रिप्रेजेंटेशन ऑफ इंफॉर्मेशन तो जहां-जहां भी स्कोप का लेना देना है है ना किसका क्या इलाका है क्या एरिया है वो सारी चीजें बड़ी क्लियर कट तरीके से सिंबल टेबल में हम मेंशन करके रखते हैं सो आई विल गो वन बाय वन स्कोप ऑफ आइडेंटिफिकेशन क्लियर कट तरीके से सिंबल टेबल के अंदर मेंशन होगी सेकंड पॉइंट लैंग्वेज डिपेंडेंट स्कोप अब जाहिर सी बात है हर लैंग्वेज की अपनी अलग-अलग टेक्निकल है उन सारी चीजों का ध्यान रखना भी सिंबल टेबल की रिस्पांसिबिलिटी है सो डिफरेंट प्रोग्रामिंग लैंग्वेजेस हैव अ हैव वरिंग स्कोप फॉर एग्जांपल और फॉर इंस्टेंस फॉर ट्रैन में अ नेम स्कोप इज़ लिमिटेड टू द सिंगल सब रूटीन जहां पे आप डिक्लेयर करते हैं वहीं आप उसका इस्तेमाल कर सकते हैं वाइल इन एल्गल इट्स अ कंफाइंड ट टू द सेक्शन और द प्रोसीजर वेयर इट इज डिक्लेयर्ड नॉट इन नॉट ओनली द सब रूटीन उसके अंदर भी जो यू नो सेक्शन है जहां पे डिक्लेयर किया बस वहीं पे आप उसे एक्सेस कर सकते हैं तो ये सारी चीजें हम वहां पे नोटिस करके रखते हैं मल्टीपल डिक्लेरेशन एन आइडेंटिफिकेशन ये तो इन सी के अंदर भी होता है आप सेम वेरिएबल को ब्रैकेट बाय ब्रैकेट मल्टीपल टाइम डिक्लेयर कर सकते हो इनिश आइज कर सकते हो यूज़ कर सकते हो और सेम नाम है बट वह अलग-अलग जगह अलग-अलग वैल्यू के साथ मेमोरी में भी अलग-अलग लोकेशन पर स्टोर होगा सिंबल टेबल में भी हर एक से की सेपरेट एंट्री बनेगी तो ये सारी चीजें अब इसमें सिंबल टेबल का रोल इट मेंटेन द यूनिकनेक्ट फाइड डिक्लेरेशन हर किसी को सेपरेटली होल्ड करके रखना हर किसी को सेपरेटली आइडेंटिफिकेशन स्कोप डिटरमिनेशन सिमटिक रूल फॉर द प्रोग्राम स्ट्रक्चर आर यूटिलाइज्ड टू आइडेंटिफिकेशन को अच्छे से रिप्रेजेंट करना दैट इज अ वेरी वेरी इंपॉर्टेंट ड्यूटी ऑफ सिंबल टेबल कहीं भी कंफ्यूजन है हम जाकर सिंबल टेबल ही रेफर करेंगे वो कैसे बोल रहा है जैसे फॉर एग्जांपल ब लुक एट दिस अब यहां पर a इस ब्लॉक के अंदर डिक्लेयर्ड है ना तो जितने भी ब्लू एरिया है ये सारा वेरिएबल a जो है उसके स्कोप के अंदर है जो रेड एरिया है ये वेरिएबल b का स्कोप है अब यहां पे आप जाके अगर b को एक्सेस करना चाहेंगे ल से अनडिफाइंड तो इस जगह वो डिफाइंड नहीं यहां वो वैलिड नहीं है सिमिलरली अब मान लीजिए ये एक फंक्शन है जस मैं कोट कर रहा हूं फैक्टोरियल का अब कोई वेरिएबल है n है ना फॉर्मल आर्गुमेंट हमारा तो इस पूरे फंक्शन के अंदर इस पूरे प्रोसीजर के अंदर n का स्कोप है इसको आप यूज कर सकते हो चेंज कर सकते हो रीड कर सकते हो राइट कर सकते हो वह सारी चीजें तो यह वाली कहानी अब प्रोग्रामिंग लैंग्वेजेस के अंदर स्कोपिंग दो तरह की होती है पहले तो उसपे न्यूमेरिकल भी आते थे आजकल नहीं पूछे जा रहे बोलते स्टेटिक स्कोपिंग एंड डायनेमिक स्कोपिंग एक बार समझते हैं इसको स्कोपिंग रेफर्स टू द रूल दैट गवर्न्स द विजिबिलिटी एंड लाइफ स्पैन ऑफ अ वेरिएबल एंड फंक्शंस विद इन द पार्ट ऑफ अ प्रोग्राम तो आईडिया क्या है कोई वेरिएबल फिर वही बात है कोई वेरिएबल कहां पे सस किया जा सकता है कब वो अलाइव है कब अलाइव नहीं है एक यहां पर नहीं पूछता गेट वगैरह में क्वेश्चन भी आता है लाइवससवीडियोस चीजें दो इंपॉर्टेंट रूल है ध्यान दीजिए एक कहते है लेक्सिक स्कोपिंग या स्टैटिक स्कोप स्कोपिंग भी बोलते हैं एक ही बात है एंड वन इज डायनेमिक स्कोपिंग सो आई विल गो वन बाय वन ये इंपॉर्टेंट डिफरेंसेस में मैं बात करूंगा सो अगर स्टैटिक स्कोपिंग है कंपाइल टाइम के अंदर ही रिजॉल्व हो सकता है डायनेमिक स्कोपिंग है रन टाइम पे रिजॉल्व करते हैं यहां पर सोर्स कोड जो है उसी के लेक्सिक मतलब अगेन ब्रैकेट बाय ब्रैकेट ब्रैकेट बाय ब्रैकेट रिजॉल्व करता है कॉलिंग सीक्वेंस ऑफ अ फंक्शन इसको आप ऐसे समझो मैं किसी ब्रैकेट के अंदर अगर कोई चीज सर्च कर रहा हूं मेरे को नहीं मिलेगी मैं आउटर ब्रैकेट में जाऊंगा फर्द आउटर ब्रैकेट में जाऊंगा लाइक दिस यहां पर अगर कहीं पर लोकली मुझे कोई चीज नहीं मिल रही कोई वेरिएबल नहीं मिल रहा तो मैं देखूंगा मेरे को किसने कॉल किया मैं कहां पे उससे फर्क नहीं पड़ता वहां जाके सर्च करूंगा वहां नहीं मिलेगा तो देखूंगा उसको किसने कॉल किया अल्टीमेटली आल गो टू द मेन फंक्शन ये वो वाली बात कहने की कोशिश कर रहा है प्रिडिक्टिबिलिटी यहां पर हाई है स्कोप इज क्लियर फ्रॉम कोड स्ट्रक्चर बिकॉज़ कोड में हम ब्रैकेट बाय ब्रैकेट बाहर जाते हैं यह थोड़ा सा लो है बिकॉज़ इट डिपेंड्स ऑन द प्रोग्राम एग्जीक्यूशन पाथ प्रोग्राम किस पैटर्न में एग्जीक्यूट कर रहा है उस पे गेम है है ना तो अगर कॉलिंग सीक्वेंस चेंज होगा तो स्कोपिंग का रास्ता भी चेंज हो सकता है डिटरमाइंड बाय कोड ब्लॉक्स एंड फंक्शन जो मैं आपको ऑलरेडी समझा चुका हूं इन्फ्लुएंस बाय फंक्शन कॉल ठीक बात है प्रेफर्ड इन मोस्ट मॉडर्न लैंग्वेजेस लेस कॉमन फाइंड इन ओल्डर लैंग्वेजेस इसलिए मैं बोल रहा था ना आजकल इतना कॉमन नहीं है पहले कभी गेट विड में भी इन पे अच्छे खासे क्वेश्चन आते थे कॉल बाय नेम कॉल बाय रेफरेंस कॉल बाय वैल्यू स्टैटिक डायनेमिक आजकल नहीं पूछता पास्कल वगैरह में इस पे इस पे क्वेश्चन बनते थे तो यह एक आईडिया है अगर स्टैटिक और डायनेमिक स्कोपिंग पे कभी आपसे क्वेश्चन पूछ ले तो अच्छे से इसको आंसर करके आना है आगे बढ़ता हूं रन टाइम एडमिनिस्ट्रेशन इंप्लीमेंटेशन ऑफ सिंपल स्टैक एलोकेशन स्कीम अब जब एक्टिवेशन रिकॉर्ड समझते हैं जब एक प्रोग्राम एग्जीक्यूट होता है तो उसका एक एक्टिवेशन रिकॉर्ड बनता है उस एग्जीक्यूशन के दौरान जितना भी इंपॉर्टेंट मेटा डाटा है उसकी अभ आगे अभी और डिटेल में बात करेंगे वह सब हम उस एक्टिवेशन रिकॉर्ड में रखते हैं यहां पर क्या-क्या टेंपरेरी चीजें कॉलिंग फंक्शन में जब कोई एक्सेस जब कोई फंक्शन रन कर रहा हो हमें होल्ड करके रखना पड़ता है एक्टिवेशन रिकॉर्ड में उस पर हमें एक ध्यान देना और उसके ऊपर ये क्वेश्चन बनता है सो मैं पढ़ता हूं पहले एक्टिवेशन रिकॉर्ड है क्या पहले ये समझ लेते हैं एक्टिवेशन रिकॉर्ड इज क्रुशल फॉर हैंडलिंग डाटा नेसेसरी फॉर प्रोसीजर सिंगल एग्जीक्यूशन किसी प्रोसीजर का जब एग्जीक्यूशन होता है बहुत सारा डाटा हमें होल्ड करके रखना पड़ता है और वही एक्टिवेशन रिकॉर्ड का रोल है व्हेन अ प्रोसीजर इज कॉल्ड देयर इजस रिकॉर्ड इज पुश्ड इन टू द स्टैक एंड इट इज रिमूव्ड वंस कंट्रोल रिटर्न टू द कॉलिंग फंक्शन तो जब भी कोई प्रोग्राम एग्जीक्यूट होना शुरू होता है उसका एक्टिवेशन रिकॉर्ड स्टैक फॉर्म में आ जाता है आगे बात करूंगा और तब तक चलता रहता है तब तक फंक्शन कॉल हो रहा है आई थिंक बेसिक बात है अब कौन-कौन से फील्ड्स हैं जो हम होल्ड करके रखते हैं और क्या उनका डेफिनेशन है मैं दोबारा आपसे क्या बोल रहा हूं रिमेंबर दिस थिंग वी आर नॉट प्रिपेयरिंग फॉर अ कॉम्पिटेटिव एग्जाम है ना इस वीडियो में हमारा ऑब्जेक्टिव क्या है हम यूनिवर्सिटी एग्जाम अटेंप्ट कर रहे हैं आपकी एग्जैक्ट क्या नॉलेज है आपकी क्या अंडरस्टैंडिंग है यह डिफरेंट बात हो सकती है लेकिन पॉइंट यह है आप उस इंफॉर्मेशन को रिप्रेजेंट कैसे करके आते हैं तो लुक एट ऑल दीज हेडिंग्स इसको चार बार बना के देखना हो कि हेडिंग कम से कम ना भूले आई विल गो वन बाय वन पहले रिटर्न वैल्यू अलाउ द कॉल्ड प्रोसीजर टू रिटर्न वैल्यू टू द कॉलर क्या वैल्यू रिटर्न करेंगे उसको होल्ड सारी मेहनत तो इसी के लिए जब पूरा एग्जीक्यूशन हो हो जाएगा जो भी आप कैलकुलेशन कर रिटर्न तो करेंगे ना वो होल्ड कर पाना एक्चुअल पैरामीटर्स यूज बाय द कॉलर टू प्रोवाइड पैरामीटर टू द कॉल्ड प्रोसीजर जो डटा पास होता है मान लीजिए a + b की वैल्यू को सम कराना है किसी फंक्शन के थ्रू तो पहले और a और b की वैल्यू पास तो करोगे ना एक्चुअल पैरामीटर की बात कर रहे हैं कंट्रोल लिंक कनेक्ट द कॉलर्स एक्टिवेशन रिकॉर्ड बाद में किसने आपको कॉल किया और रिजल्ट उसको देना है वहां तक पहुंचने का रास्ता वो कंट्रोल लिंक की बात है एक्सेस लिंक लिंक रेफर नॉन लोकल डाटा इन अदर एक्टिवेशन रिकॉर्ड अगर बीच में किसी और को आप कॉल करते हो या कहीं और से डाटा आपको लेके आन एक्सेस करना है तो एक्सेस लिंक उसको रिजॉल्व करेगा सेव्ड मशीन स्टेटस प्रिजर्व मशीन स्टेटस प्रायर टू द प्रोसीजर कॉल अगर आप किसी को कॉल करोगे जब उसका एक्टिवेशन रिकॉर्ड लोड होगा बाद में कंप्लीट होगा तो आपको वापस एग्जीक्यूशन करना पड़ेगा ना प्रोग्राम काउंटर अपनी अगली नेक्स्ट इंस्ट्रक्शन जो एग्जीक्यूट होने वाली है उसका एड्रेस सेव करना पड़ता है वो बात यहां पे कर रहा है अपना एक्सेस सेव करना देन लोकल डाटा कंडें डाटा स्पेसिफिक टू द प्रोसीजर्स एग्जीक्यूशन जो फिलहाल लोकल डाटा अगर कुछ वेरिएबल लोकली हमने डिफाइन किए वो सारी चीजें होल्ड करना एंड टेंपरेरी स्टोर इंटरम वैल्यूज ड्यूरिंग द एग्जीक्यूशन इवैल्यूएशन एक्सप्रेशन इवैल्यूएशन अगर इन बिटवीन कुछ टेंपररी वेरिएबल है कुछ डटा है जिसको हम कैलकुलेट करते हैं उनको होल्ड करके रखना तो सारी की सारी चीजें आपको एक्टिवेशन रिकॉर्ड के अंदर मिलती है आगे बढ़ता हूं जो रन टाइम पे पूरी जो इमेज बनती है ना उस इमेज को भी एक बार समझना जरूरी है यह तो इवन सेम कंटेंट है इसको हम ऑपरेटिंग सिस्टम में भी स्टडी करते हैं जब प्रोसेस एग्जीक्यूट होती है हालांकि वहां पे थोड़ा सा डिफरेंट कॉन्टेक्स्ट हम पढ़ते हैं आपको अगर याद हो प्रोसेस कंट्रोल ब्लॉक है ना वो क्या काम करता है उसका क्या ऑब्जर्वेशन है वो सारी चीजें यहां पर हम देखते हैं मेमोरी एलोकेशन रन टाइम पे किस तरह से आगे बढ़ता है और कैसे हम उस परे काम करते हैं यस तो आल को वन बाय वन सबसे पहला कोड अभी रन तो कोड ही होना है तो यहां देखिए सबसे ऊपर उसको रखा हुआ उसको होल्ड करते हैं कंटेन फिक्स साइज अनचेंजिंग एग्जीक्यूटेबल टारगेट कोड ड्यूरिंग द कंपाइलेशन तो यह सारा कोड हम होल्ड करके रखेंगे ऊपर देन स्टैटिक एलोकेशन जो जो चीजें स्टैटिक हैं जिसको रन टाइम पे एडिशनल मेमोरी की जरूरत नहीं पड़ती वो सब उधर आती है सो एलोकेट स्टोरेज फॉर ऑल डेटा ऑब्जेक्ट्स एट द कंपाइल टाइम ऑब्जेक्ट्स के साइजेस जो कंपाइल टाइम में नोन है उन सबको स्पेस एलोकेट कराना कंपाइलर कैलकुलेट कर लेगा किस-किस का क्या-क्या रिक्वायरमेंट है एक्टिवेशन रिकॉर्ड में वो सारी चीजें जो भी एड्रेस अगर कैलकुलेट किए जा सकते हैं वो सब हम स्टैटिक पार्ट में होल्ड करके रखते हैं आगे बढ़ेंगे नेक्स्ट आ जाता है हमारा हीप और हीप मतलब डायनेमिक एलोकेशन रन टाइम पे जो डाटा चाहिए तो उसके लिए हीप एंड दे दे यू सी हीप और स्टैक काइंड ऑफ ओपन है फिक्स नहीं है ये एक दूसरे की तरफ बढ़ सकते हैं जब तक स्टैक ओवरफ्लो ना हो जाए आपने शब्द सुना होगा कि मान लीजिए कोई रिकर्स लिख रहे हैं और उसको यू नो अ बाद में हम टर्मिनेट नहीं कर पा रहे हैं सही से हमने एंडिंग नहीं लिखी स्टैक ओवरफ्लो होगा क्योंकि दोनों एक दूसरे की तरफ बढ़ते जाते हैं तो उसको समझिए यहां पे गार्बेज कलेक्शन जो जो भी गार्बेज हो रहा है अभी जो यूज़ नहीं हो रहा उसको रिक्लेम करना आइडेंटिफिकेशन टू इट कौन-कौन उसको रेफर कर रहा है उसको होल्ड करके रखना और ये सारा का सारा डटा हैंडल करना हीप के अंदर एंड लास्ट वन इज़ अ स्टैक तो यह वही सर एक्टिवेशन रिकॉर्ड वाली कहानी है रन टाइम पे जितने फंक्शंस आप कॉल करते जाओगे वह सारा एक्टिवेशन रिकॉर्ड यहां पे होता जाएगा और यू नो यह स्टैक ही है जिसकी वजह से हम यू नो रिकर्स और यह सारे फीचर्स होल्ड कर पा रहे होते बिकॉज़ हमें नहीं पता वो कब तक आगे बढ़ेगा और कितना आगे बढ़ेगा तो यह सारा डाटा हम यहां पे होल्ड करते हैं तो देयर आल्सो यू नो अ अ दिस इज़ नॉट सिंपल टेबल बट एक्टिवेशन रिकॉर्ड की एक अंडरस्टैंडिंग होनी चाहिए अगर हम कंपाइलर पढ़ रहे तो तो इस वजह से इसको भी आपके सिलेबस में क्लियर कट मेंशन करके रखा है नाउ कमिंग टू द लास्ट टॉपिक ऑफ दिस चैप्टर इज रिकवरी है ना सबसे पहले एरर पे दोबारा छोटा सा डिस्कशन करेंगे कितने-कितने टाइप के एरर्स हैं और कैसे हम उस परे काम करते हैं और क्या उन एरर्स पे उन उन आइडियाज पे रिकवर करने का एरर हैंडलिंग का क्या मैकेनिक मैंने आपसे बोला ना जितने भी फेजस हैं कंपाइलर के उसमें एक तरफ तो सिंबल टेबल और दूसरी तरफ हमारा एरर हैंडलर है ना ये हर एक फेजस से काइंड ऑफ कनेक्टेड है तो अभी हमने सिंबल टेबल ही पढ़ा है एरर हैंडलर नहीं पढ़ा तो एरर आइडेंटिफिकेशन कर रहे थे ना कि यह इंश्योर करना कि अगर हम कोई लेक्सिक एरर आइडेंटिफिकेशन पूरा हो ताकि एक साथ जो भी कोडर है जो राइटर है कोड का उसको हम सारे एरर दिखा सक सके यह सारी चीजें मैनेज यहां पर करनी होती है तो आई विल गो वन बाय वन सबसे पहले एरर रिकवरी का सिग्निफिकेंट क्या है सो इट इज एसेंशियल फॉर कंपाइलर टू प्रोसेस एंड एग्जीक्यूट प्रोग्राम्स इवन विद एरर दैट इज वेरी इंपॉर्टेंट तो अगर एक भी एरर आपको मिलता है तो उसका मतलब नहीं कि वहीं पे आप रुक जाओगे उ डिस्पाइना के बाद भी कंटिन्यू करना यह एक बड़ा इंपॉर्टेंट काम है उसके बाद मैसेजिंग देना और फिर वही बात आपको एरर मिल गया आपको एरर समझ आ गया अलग बात है आप तो उस एरर को सही नहीं कर सकते ना कंपाइलर तो आपको डिस्प्ले करना पड़ेगा वार्निंग्स एंड एरर्स वो कितने अच्छी तरह से डिस्प्ले करते हो ताकि प्रोग्रामर अपनी गलती सुधार सके दैट इज वेरी इंपॉर्टेंट सो लुक एट दिस मैसेज शुड रिलेट टू द ओरिजिनल सोर्स कोड नॉट टू इट्स इंटरनल रिप्रेजेंटेशन अब आपने तो समझिए किसी हाई लेवल कोड के इंटरनल रिप्रेजेंट इंटरमीडिएट कोड बनाया हुआ आप तो उस परे काम कर रहे हैं आपको उसमें एरर नहीं बताना ओरिजिनल कोड का एरर बताना है वेरी इंपॉर्टेंट पॉइंट सिंपलीसिटी इन की इन एरर मैसेजिंग बहुत लंबे बहुत कॉम्प्लेक्शन हम सोचते नहीं है बट किसी ने सोची हुई है इसलिए जब एरर हमें डिस्प्ले करता है हमें समझ आता है क्या गलती है नेक्स्ट प्रेसीजन इन पिन पॉइंट एंड फिक्सिंग द एरर इज क्रुशल ऐसा नहीं है कि बहुत डिटेल एक्सप्लेनेशन आपने दे दिया पिन पॉइंट प्रेसा इज तरीके से बताना कि क्या गड़बड़ है एंड अवॉइड रिपीटेशन ऑफ द सेम एरर मैसेज ऐसा नहीं कि एक गलती आ गई तो 10 बार अलग-अलग तरीके से सेम बात बता रहा है लाइक फॉर एग्जांपल अगर किसी वेरिएबल को हम डिक्लेयर करना भूल गए तो 50 मैसेज आ जाएंगे अलग-अलग जगह पे ऐसा नहीं करो उसको थोड़ा प्रोसाइज तरीके से बताओ सो दिस इज़ इंपॉर्टेंट नाउ ऑब्जेक्टिव क्या है एरर हैंडलिंग कर क्यों रहे हैं एक बार समझ लेते हैं अगेन दैट कैन बिकम अ सेपरेट हेडिंग सो आइडेंटिफिकेशन फर्द एरर इन द कोड तो जैसे ही आपको अच्छे से आसानी से सरलता से प्रेसा इज तरीके से एरर मिलते है आप उन्हें जल्दी से रिकवर भी कर पा रहे होते हो एंड इंश्योरिटी जें कंपाइल हो जाए बाद में जब वह एरर फ्री कोड हो तो ये सारी मेजर रिस्पांसिबिलिटीज या ऑब्जेक्टिव्स हैं एक अच्छा एफिशिएंट एरर हैंडलर लिखने के यस नाउ जैसा हमने सम समझा कि तीन तरह के एरर्स हैं लैक्सिकल सिंथेटिक और सिमटिक एक छोटा सा डिस्कशन उस पे कर लेते हैं ना व्हाट इज़ द लेक्सिक एरर अकर व्हेन अ सीक्वेंस ऑफ करैक्टर डजन फॉर्म अ रिकॉग्नाइजेबल टोकन एक ऐसा टोकन स्पेलिंग मिस्टेक आसान भाषा में बोलो तो एक ऐसी स्पेलिंग अगर आपने लिख दी भले वह कीवर्ड में गलती करी हो आईडेंटिफायर में करी हो कहीं और करी हो जिसको हम आइडेंटिफिकेशन इन लेक्सिक एनालिसिस फेज हम पूरा कोड स्कैन करते हैं एनालाइज करते और देखते हैं कॉमन एरर्स आमतौर पे क्या होती है कोई अननेसेसरी कैरेक्टर ऐड कर दिया आपने कोई स्पेलिंग मिस्टेक रिक्वायर्ड कैरेक्टर मिस कर दिया होमट कर दिया यू नो इनकरेक्ट तरीके से स्पिंग हो गई लिखना था लेट मी से आई एनटी लिख दिया एनआईटी तो इस तरह के कुछ बेसिक गलती लेक्सिक के अंदर आती है फॉर एग्जांपल जैसे फटन के अंदर कोई भी आइडेंटिफिकेशन का लेंथ सेवन कैरेक्टर से ज्यादा नहीं हो सकता या मे भी कोई स्पेशल सिंबल नहीं हो सकते अगर हम पास्कल की बात करें इस तरह की बेसिक फंडामेंटल गलतियां हो जाती है जो आती है लेक्सिक के अंदर अगला जो हमारा है दैट इज सिंटेटिक एरर इस पर तो हमने डिटेल में बात की है पार्सिंग में तो सीएफजी है जो यू नो ग्रामेटिकल मिस्टेक आइडेंटिफिकेशन सारी चीजें यू नो अ या यहां पे जैसे इधर सेमीकलन लगा इधर सेमीकलन लगाना भूल गए तो इस तरह की चीजें हमारी सिंटेक्टिक एरर में ग्रामेटिकल एरर में आ जाती है गोइंग फर्द सिमटिक अगेन मीनिंगफुल है कि नहीं कोई वैल्यू जनरेट कर रहा है कि नहीं उसकी बात करते हैं सो सिमटिक एरर रिलेट टू इनकरेक्ट यूज़ ऑफ प्रोग्राम स्टेटमेंट इंपैक्टिंग द प्रोग्राम्स मीनिंग ऑ लॉजिक तो अगर गलत तरीके से हमने इस्तेमाल किया जिससे वह मीनिंगफुल नहीं रहा या ल लॉजिकल नहीं बना दैट इज कंसीडर्ड एज सिमटिक एरर फॉर एग्जांपल आपने कोई वेरिएबल डिफाइन करना भूल गए नाउ दैट इज अ मीनिंगफुल मिस्टेक ब ग्रामेटिकली तो कोई गलती नहीं है बट जब तक वेरिएबल डिक्लेयर ही नहीं किया गया आप उसे बार-बार यूज करेंगे अपडेट करेंगे एक्सेस करेंगे तो उसको समझ नहीं आएगा या टाइप मिसमैच होना है किसी दूसरे डेटा टाइप को दूसरे डटा टाइप के साथ ऐड कर दिया डिवाइड कर दिया उस तरह की गलती यहां पे क्या फॉर्मेट अब स्कैन करना है तो आप जानते हैं स्कैन कहां पे होता है एड्रेस ऑफ ए में होता है ए में नहीं होता है इस तरह की गलती आप सी में करेंगे तो दैट विल कम एज अ सिमटिक एरर तो अगर कोई बोलता है लिखने के लिए तो आपको एक अंडरस्टैंडिंग होनी चाहिए कि हां मैं डिटेल में लिख के आ सकता हूं बाकी एक आखरी आईडिया हो सकता है रन टाइम एरर तो जैसा हमने पहले भी बात की थी कि एरर को हम दो क्लासेस में यू नो डिस्ट्रीब्यूटर सकते हैं नोन एज कंपाइल टाइम एरर और रन टाइम एरर और लेक्सिक है सिंथेटिक है सिमटिक है यह सब आते है कंपाइल टाइम में लेकिन कुछ ऐसी चीजें हो सकती है जैसे मैं बहुत सिंपल एग्जांपल दूं फिर वही x / y है = z ो ग्रामेटिकली इट इज ओके एक वे एक ऑपरेटर है दो ऑपरेंट है ऑपरेट करेगा रिजल्ट z में आ जाएगा बट अगर y ज जीरो हो गया रन टाइम पे तो प्रॉब्लम होगी ना दीज आर लॉजिकल सर रन टाइम एरर और ये प्रोग्रामिंग लॉजिक में कोई गड़बड़ नहीं है बट रन टाइम प गड़बड़ हो गया तो इन सभी को कोई भी टाइप का हो इन सभी को हैंडल करना इन सभी को मैनेज करना हमको आना चाहिए तो अब जो हमारा अगला आईडिया है वह इसी के बारे में है कि इन सार चीजों से हम रिकवरी कैसे करेंगे अब इस चैप्टर में एक लास्ट डिस्कशन करना है बहुत छोटा सा दैट इज हाउ वी कैन रिकवर फ्रॉम एरर तो अगर एरर आता है जैसे हमने बात समझी है तो एग्जीक्यूशन को रोकना नहीं है कंपाइलेशन को रोकना नहीं है सारे एरर्स को कंप्लीट समझने के बाद बात करनी है तो उसमें क्या-क्या पॉइंट्स है और अगर इस पे क्वेश्चन आ जाता है लिखने के लिए तो कैसे आप लिखेंगे लेट्स कंसंट्रेट ऑन दिस सो अ स्ट्रेट फॉरवर्ड एंड कॉमनली यूज मेथड इन वेरियस पार्सिंग टेक्निक्स दैट इज अपॉन डिटेक्टिंग एन ए एरर द पासक डिस्कार्ड्स इनपुट सिंबल अंट्स सिंक्रोनाइजेशन टोकन फ्रॉम ए प्री डिफाइंड सेट तो आईडिया यह क्या बोल रहा है इस इस अप्रोच का नाम है पैनेड मोड रिकवरी पैनिक मोड रिकवरी इसका नाम है तो लॉजिक यह है कि अगर कुछ भी गड़बड़ घोटाला आपको मिलता है तो वहीं पर रुकना नहीं है और आगे बढ़ते जाना है सो द पैनिक मोड मे बायपास लार्ज सेक्शन ऑफ इनपुट विदाउट फर्द एरर चेकिंग तो बिना फर्द एरर चेक करो उससे आगे निकलो सो दैट आगे जा कि आप उसके ऊपर काम कर सको द अप्रोच एं श्योर्ड दैट द पार्सर डज नॉट एंटर एन इनफाइनों िफ़ करने के लिए एक और एक और एक और तो जैसे बोलते हैं ना थोड़ा सा जंप करके आगे निकल जाते हैं देन वी कंटिन्यू तो पैनिक मोड में आप क्या करेंगे मान लीजिए आप जा रहे हो सड़क पर आपको भूत मिल गया तो क्या करोगे मे बी तो आप थोड़ा भाग के आगे पहुंच जाओगे इजन इट तो कुछ उस तरह का अंडरस्टैंडिंग और अगेन मैं क्या बोल रहा हूं हम फिलहाल सेमेस्टर के लिए प्रिपेयर कर रहे हैं ये सारे टॉपिक्स इतने कॉम्प्लेक्टेड इव इन टू द आईडिया इनके ऊपर आपको अच्छे-अच्छे रिसर्च पेपर लिखे मिल जाएंगे बट फिलहाल वो आईडिया नहीं है आप याद करो कि रिकवरी हैंडलिंग टेक्नीक में अगर 10 नंबर का क्वेश्चन आता है तो उसमें एक हेडिंग आपको पैनिक मोड रिकवरी लिखनी है एग्जामिनर को दिखना चाहिए कि हां ये इस बात को पढ़ के आया यस नेक्स्ट आइडिया इज फ्रेज लेवल रिकवरी अब यह क्या चीज है सो दिस मेथड इवॉल्व मेकिंग लोकलाइज करेक्शन टू द इनपुट व्हेन अ एरर इज डिटेक्टेड बाय द पार्सर तो अगर कुछ पार्स सर में हमें डिटेक्शन समझ आया कि हां यह गड़बड़ है तो फिलहाल पार्सर क्या उसको खुद से करेक्ट कर सकता है क्या इन ऑर्डर टू कंटिन्यू मे बी यस आजकल स्मार्ट कंपाइलर ऐसा करते हैं इसको बोलते हैं फ्रेज लेवल रिकवरी इट इवॉल्व सब्सीट्यूटिंग द पार्ट ऑफ द इनपुट विद अ स्ट्रिंग दैट अलाउ द पार्सर टू प्रोसीड किसी ऐसी चीज से रिप्लेस कर लेते हैं जिसकी मदद से पार्सर को आसानी हो जाती है कि वह आगे प्रोसीड कर सके फॉर एग्जांपल लुक एट दिस कॉमन करेक्शन इंक्लूड रिप्लेसिंग अ कॉमा बाय सेमीकलन तो कहीं पे आप कॉमा लगाना सेमीकलन लगाना भूल गए थे कॉमा लगा दिया खुद से रिप्लेस करें रिमूविंग अननेसेसरी सेमीकलन और इंक्लू और इन और इंसर्टिंग द मिसिंग वन तो कहीं पे इंक्लूड करना था नहीं किया कहीं पे कर दिया नहीं करना था तो यह सारी चीजों को एक लेवल पे वो खुद में खुद रिजॉल्व कर रहा होता है सो दैट इज अ आइडिया तो एक इसका एग्जांपल सेट भी लिखा है कि अगर कहीं कुछ गड़बड़ है मान लीजिए किसीने वाइल के बाद सेमीकलन लगा दिया तो क्या उसको खुद से मैनेज किया जा सकता है क्या सो दैट इज़ कॉल्ड फ्रेज लेवल रिकवरी नेक्स्ट इज एरर प्रोडक्शन अब यह क्या टाइप है सो आई विल गो इन टू दिस दिस टेक्निक अलाउ पार्सर टू जनरेट रिलेवेंट एरर मैसेज व्हाइंड कंटिन्यूइंग द पार्सिंग प्रोसेस तो अगेन जैसा हमारा काम है सिर्फ एरर आइडेंटिफिकेशन को कंटिन्यू रखना ही हमारा काम नहीं है हमारी एक इंपॉर्टेंट रिस्पांसिबिलिटी भीग हम एक एरर मैसेज भी पास करें सो दैट इज वेरी वेरी इंपॉर्टेंट सो व्हेन अ पार्सर एनकाउंटर्स एन इनकरेक्ट प्रोडक्शन इट इश्यूज एन एरर मैसेज एंड देन रिज्यूम्स द पार्सिंग इफ अ पार्सर केम अक्रॉस फॉर एग्जांपल जैसे यहां पे a स्टार ए मिला कभी-कभी होता है ना वार्निंग इज़ आल्सो इंपोर्टेंट सो कंपाइलर इज़ नॉट श्यर कि वेदर उसने जान के किया डेलिबरेशन किया गलती से हो गया तो उसरे केस में क्या हो सकता है इट सीम्स नॉट डीम्स इट सीम्स इनकरेक्ट सो इट कैन अलर्ट द यूज़र विद अ मैसेज पर हैप्स अ क्वायरिंग वेदर दिस स्टार इज इंटेंडेड एज अ यूरी ऑपरेटर बिफोर कंटिन्यू द पासिंग तो ये आपने आता है ना क्या सिर्फ एरर आता है कि वार्निंग भी आती है वार्निंग भी आती है तो यहां पर हम उसकी बात कर रहे हैं यस नेक्स्ट इज ग्लोबल करेक्शन ऑफ पार्सिंग सो प्राइमर अ थोरेट्स इन द रेलम ऑफ पर्लिंग यूटिलाइजिंग ग्लोबल करेक्शन सिग्निफिकेंट इंक्रीज बोथ द टाइम एंड स्पेस रिसोर्सेस रिक्वायर्ड ड्यूरिंग द पासिंग स्टेज तो अगेन ग्लोबल लेवल पे जब करेक्शन करते हू उसके क्या एप्लीकेशन और उसके बारे में बात कर रहा है और अगेन आपके लिए इंपॉर्टेंट क्या एक और हेडिंग आपको मिली अगर कोई यहां पर लि देखने के लिए बोलता है तो नाउ डिटेक्शन अ दिस इज लाइक अ रिकवरी एरर रिकवरी इन ऑपरेटर प्रेसिडेंस पासिंग अच्छा ये एक और छोटा सा हेडिंग मेरे को मिला लद मैंने बहुत ज्यादा क्वेश्चन कहीं देखे नहीं बट इन केस अगर कहीं ऑपरेटर प्रेसिडेंस पासिंग में आपको मिलता है तो मुझे पता नहीं न मुझे उसको डिटेल में जाना भी चाहिए कि नहीं बट दीज आर सम ऑफ इंपॉर्टेंट पॉइंट सो व्हेन एवर देर इज नो प्रेसीडेंट रिलेशन बिटवीन द टर्मिनल एट द टॉप ऑफ द स्टैक एंड द करंट इनपुट सिंबल व्हेन हैंडल इज आइडेंटिफिकेशन बट नो करेस्पॉन्डिंग्ली कर लिया एंड यू नो व्हाट यू कैन कंक्लूजन मिसिंग होगा ऑपरेटर प्रेसिडेंस पासिंग में तो यही हो सकता है या तो ऑपरेंट मिसिंग होगा ऑपरेटर मिसिंग या तो ऑपरेटर मिसिंग होगा एब्सेंट ऑफ़ एक्सप्रेशन विद इन द पैरेंस पैरेंस लगा दिया एक्सप्रेशन उस तरह के जो बेसिक कॉमन कंफ्यूजन हो सकते हैं वो आप कर सकते हैं और उस केस में यू नो कि जैसे शिफ्ट रिड्यूस एक बड़ा कंफ्लेक्स ऑपरेंट अनबैलेंस और फर मिसिंग राइट पैरेंस एंड मिसिंग ऑपरेटर्स स दीज आर अगेन सम इंपॉर्टेंट पॉइंट्स अगर कोई ऑपरेटर प्रेसिडेंस पासिंग कैरन हैंडलिंग मैनेजमेंट में कोई क्वेश्चन पूछता है यू कैन राइट दीज सो नाउ दैट विल बी ऑल एंड नाउ वी आर ऑल रेडी ये मैंने पहले जैसा आपसे बोला था थोड़ा सा बोरिंग चैप्टर था बट यू नो वेटेज बराबर की है तो वैल्यू भी बराबर की दी जानी चाहिए नाउ दिस इज द फुल एंड फाइनल लास्ट चैप्टर चैप्टर नंबर फाइव व्हिच इज कोड ऑप्टिमाइजेशन यहां पे अगेन बहुत ज्यादा नहीं है इंपॉर्टेंट बात है बट कुछ कीवर्ड कुछ आईडियाज हैं जो इंटरेस्टिंग है जिस पर डिटेल अंडरस्टैंडिंग लेनी है और काम करना है है ना और इंपॉर्टेंट भी है इवन कॉम्पिटेटिव एग्जाम में भी कई बार बहुत मुश्किल नहीं बट सिंपल क्वेश्चन यहां से पूछ लिए जाते हैं है ना तो उसकी क्लियर कट अंडरस्टैंडिंग होना हमारे लिए बहुत जरूरी है सो नाउ लेट्स स्टार्ट चैप्टर नंबर फाइव सो चैप्टर नंबर फाइव और यूनिट नंबर फाइव इज लाइक कोड ऑप्टिमाइजेशन है ना एंड दिस इज अगेन अ वेरी वेरी इंपोर्टेंट यूनिट और चैप्टर और जैसा मैं कंप्यूटर सांस में हमेशा बार-बार बोलता हूं कि आफ्टर कंसिस्टेंसी है ना द लास्ट स्टेप इज ऑप्टिमाइजेशन तो सबसे आखिरी में ऑप्टिमाइजेशन करना बहुत जरूरी है कि जो भी करना था कर लिया बट अगेन क्या उसको और बेहतर तरह से कम टाइम में कम स्पेस में कर सकते हैं कि नहीं अगर हां तो उस आईडिया के साथ ऑप्टिमाइजेशन डील करता है है ना तो एकएक करके बात करना शुरू करते हैं पहले कोड जनरेशन की बात कर लेते हैं ब आखरी स्टेप में कोड जनरेशन भी है सो कोड जनरेशन इज अ प्रोसेस ऑफ कन्वर्टिंग इंटरमीडिएट रिप्रेजेंटेशन ऑफ द सोर्स कोड इनटू गट असेंबली लेवल कोड व्हिच इज आल्सो ऑप्टिमाइज्ड तो फाइनली मैंने यहां पर अलग-अलग स्टेजेस दिखाए ताकि पूरी बात आपको समझ आए सो देर यू सी दिस इज अ हाई लेवल कोड देख के समझ भी आ रहा है उसके अब तो इतने सारे फॉर्मेट हम पढ़ चुके थ्री एड्रेस कोड के सो उसको देखिए यहां पे हमने कन्वर्ट किया थ्री एड्रेस कोड में और यहां आप देख रहे हैं मशीन लेवल या असेंबली लेवल कोड आपको नजर आ रहा है कि कैसे पहले फाइव को मूव करेंगे रजिस्टर r1 में देन थ्री को मूव करेंगे r2 में देन ऐड करेंगे और r1 और r2 का सम रिजल्ट जाएगा r3 के अंदर सो दिस इज फाइनल असेंबली लेवल और मशीन लेवल कोड इट इवॉल्व ट्रांसलेटिंग द सिंटेक्स एंड सेमांटिक्स ऑफ हाई लेवल लैंग्वेज इनटू असेंबली लेवल कोड टिपिकली आफ्टर द सोर्स कोड हैज बीन पास थ्रू लैक्सिकल सिंथेटिक एंड सिमटिक एनालिसिस एंड इंटरमीडिएट कोड जनरेशन तो वो सारी कहानी बता रहा है याद दिला रहा है कि सब कुछ कन्वर्ट होते होते होते इतनी तपस्या इतना एफर्ट करने के बाद हम यहां तक पहुंचे कि फाइनल कोड हमारा जनरेट हुआ है फेयर इनफ सो कोड जनरेटर के अगर कुछ इंपॉर्टेंट आइडियाज अगेन सेमेस्टर एग्जाम के हिसाब से कौन-कौन से हेडिंग्स इंपॉर्टेंट है उसपे गौर रखिएगा इस हिसाब से इसको अरेंज किया है तो इनपुट क्या है कोड जनरेशन फेज में इनपुट है इंटरमीडिएट रिप्रेजेंटेशन और सिंबल टेबल का डाटा वो तो हमारे साथ चल रहा है यस अ यहां पर थ्री एड्रेस कोड में आमतौर में हमने उसको रखा है आउटपुट क्या मिलेगा आउटपुट मिलेगा ऑब् वियस हमें फाइनल कोड और यहां पर मशीन डिपेंडेंस भी आ जाता है है ना कि किस मशीन के लिए आप लिख रहे हैं तो कैसा आर्किटेक्चर है रिस्क है सिस्क है स्टैक बेस्ड है बेस्ड ऑन दैट हम उसे लिख रहे होते हैं इंस्ट्रक्शन सिलेक्शन इंटरमीडिएट को जब एग्जीक्यूटेबल या मशीन अ लेवल में हम कन्वर्ट करते हैं तो मशीन के पास तो अपना सेट ऑफ इंस्ट्रक्शंस होगा कैसे उन इंस्ट्रक्शन का इस्तेमाल करके हमें अपना काम कंप्लीट करना है वह सारी चीजें चूज करना रजिस्टर एलोकेशन अब इतने सारे वेरिएबल होंगे अ कौन से वेरिएबल को रजिस्टर्स दिए जा सकते हैं जो हाई स्पीड होते हैं बट संख्या में कम होते हैं किसको मेन मेमोरी में रख के काम चलाना पड़ेगा वह सारी चीजें डिसाइड करना और ऑर्डर ऑफ इवैल्यूएशन किस ऑर्डर में कैलकुलेट करेंगे कौन पहले कौन बाद में यह सारा का सारे पॉइंट्स आर कंसीडर्ड व्हाइट वी जनरेट द फाइनल कोड है ना तो दिस इज़ अ इंपॉर्टेंट पॉइंट हेडिंग बाय हेडिंग यू कैन राइट देम डाउन याद करो रिमेंबर करो दो बार लिख के देखो ताकि एग्जाम में रिप्रेजेंटेशन पे नंबर मिलते हैं नॉलेज भाई आपके दिमाग में याद रखना यह बात है ना एज़ फार एज़ एग्जाम इज़ कंसर्न सो अब ऑप्टिमाइजेशन बीच में कैसे आ जाता है सो ड्यूरिंग कोड जनरेशन वेरियस ऑप्टिमाइजेशन टेक्निक्स आर अप्लाइड टू इंप्रूव द एफिशिएंसी एंड परफॉर्मेंस तो बेसिकली हम ऐसा भी बोल सकते हैं कि ऑप्टिमाइजेशन कोड जनरेशन दोनों बहुत सेपरेट चीज़ें नहीं है अ जब हम फाइनल कोड जनरेट करते हैं तो ऑप्टिमाइजेशन का भी ख्याल रखते हैं ताकि एक अच्छी एफिशिएंसी एक अच्छी परफॉर्मेंस हमको यहां पर मिल सके दिस कुड इंक्लूड ऑप्टिमाइजेशन ऑफ़ स्पीड टाइम पावर कंसंट किसी भी लेवल पे बट सबसे इंपॉर्टेंट टाइम है इसमें कोई दोहराई नहीं सो टाइम इज़ द मोस्ट इंपॉर्टेंट रिसोर्स टाइम आप बचा लेंगे सबसे बढ़िया देन उसका मेमोरी या पावर बाकी चीज़ें आ सकती हैं नाउ अ जो मैं आपसे ऑलरेडी बोल चुका हूं यहां पर यह फैक्टर भी इंपॉर्टेंट है कि किस प्लेटफॉर्म के लिए हम फाइनल कोड जनरेट कर रहे हैं उसके क्या सिंटेक्स सिटिक्स हैं उसकी क्या कमांड्स हैं उन सब चीजों को भी कंसीडर करना बहुत जरूरी हमारे लिए हो जाता है ऑप्टिमाइजेशन अब फिलहाल इस इस पर कंसंट्रेट करते हैं सो द प्रोसेस ऑफ य मैं ऑलरेडी बता चुका ऑप्टिमाइजेशन है क्या यह ट्री देखिए यहां स्क्रीनशॉट लीजिए आराम से एकएक टर्म पढ़िए हालांकि ज्यादातर हमारा जो ध्यान है वो मशीन इंडिपेंडेंट ऑप्टिमाइजेशन पे होना है एज फार एज योर एग्जाम्स इज कंसर्न बट आमतौर पे हम ऑप्टिमाइजेशन को दो कैटेगरी में देखिए डिवाइड कर रहे हैं एक है हमारा मशीन इंडिपेंडेंट ऑप्टिमाइजेशन और दूसरा हमारा हो जाता है मशीन डिपेंडेंट ऑप्टिमाइजेशन इंडिपेंडेंट डिपेंडेंट डिफ क्या है देखिए व्हेन वी से मशीन इंडिपेंडेंट यह वो ऑप्टिमाइजेशन है जिसके लिए मैं हार्डवेयर की फाइनल प्रोसेसर की मशीन की नॉलेज होना जरूरी नहीं है सो यह कुछ जेनरिक है आगे बात करूंगा मैथमेटिकल सिंपलीफिकेशंस है जो हम लगा सकते हैं अगर हम इधर आ जाते हैं वच इज लाइक मशीन डिपेंडेंट ऑप्टिमाइजेशन ये वो ऑप्टिमाइजेशन है जिसके लिए आपको हार्डवेयर का नॉलेज होना बहुत जरूरी है कितने रजिस्टर्स मेरे पास होंगे या कैसे डाटा फ्लो होगा स्टैक बेस्ड अप्रोच है या हमारे पास कुछ स्पेशल पर्पस रजिस्टर्स है कि नहीं वो सारी नॉलेज जब हमारे पास होती है तब हम यह मशीन डिपेंडेंट लगाते हैं है ना दो पार्ट में हमने इसे कैटेगरी इज कर लिया उन सबके अंदर पार्ट है आगे बाद में डिटेल में बात करूंगा मैं और अगेन ये सारी चीजें मैंने एक टेबल बना के बिकॉज़ अगेन जैसा मैंने देखा प्रीवियस ईयर क्वेश्चंस में कई बार मुझे इस तरह के क्वेश्चन मिले हैं तो मैंने सेपरेटली लिख भी दिए फाइव डिफरेंस यू कैन गो थ्रू देम यू कैन टेक अ स्क्रीनशॉट इफ समबे इट अ फाइव मार्क और र 10 10 तो नहीं पूछेगा फाइव मार्क पूछ सकता है अ फाइव मार्क्स डिफरेंस बिटवीन मशीन इंडिपेंडेंट एंड मशीन डिपेंडेंट ऑप्टिमाइजेशन आगे बढ़ता हूं अब पहले आपसे बात करता हूं पहले एक अप्रोच समझा देता हूं देखो एक सिंपल एनालिसिस है कि जब भी हम कोई कोड रन करते हैं ना तो कोड में इनफाइनों करोड़ों लाइन तो होती नहीं है मोस्ट ऑफ द टाइम एकस लिमिटेड साइज का कोड होता है बट काफी लंबे समय तक कोड चल रहा है क्यों क्योंकि ज्यादातर समय कोड का जाता है लूप के अंदर हां कि कि नहीं कुछ लोग तो कह रहे हैं मोर देन 90 पर जितना भी कोड रन हो रहा है वो किसी ना किसी लूप या रिकर्स के अंदर है तो फिर दिमाग में बात ये आती है अगर कोड ऑप्टिमाइज करना है तो क्यों ना लूप पे ध्यान दिया जाए लूप ऑप्टिमाइजेशन क्यों क्योंकि लूप से अगर आपने एक लाइन भी बचा ली और लूप 1 लाख बार रन हो रहा है तो आपने 1 लाख लाइन बचाई हां या ना तो आगे का ये जो थोड़ा सा डिस्कशन है लूप ऑप्टिमाइजेशन का अभी अगेन कुछ थोरेट्स हैं एकदम से आपको समझ नहीं आएंगे क्या हो रहा कंपाइलर वाला आईडिया है है ना तो मैं पहले आपको एक ऑप्टिमाइजेशन करके दिखाता हूं लूप का फिर मैं आपको वापस इस पूरे एल्गोरिथम पे इस पूरे पैटर्न पे लेके आऊंगा कि कैसे थ्री एड्रेस कोड को हम बेसिक ब्लॉक्स में डिवाइड करते हैं और कैसे लूप ऑप्टिमाइजेशन होता है बट ये सारी की सारी जो चीज हम एनालाइज कर रहे हैं दैट इज़ अंडर द हेडर ऑफ़ लूप ऑप्टिमाइजेशन इतना मान के चलना नाउ आई विल डायरेक्टली जंप ऑन टू दिस आइडिया यहां देखिए एक छोटा सा मासूम सा सिंपल सा साधारण सा प्रोग्राम लिखा है फैक्टोरियल कैलकुलेट करने का तो आप जानते हो फैक्टोरियल कैसे कैलकुलेट होता है है ना तो इफ आई आस्क यू व्हाट इज n फैक्टोरियल तो सर इसका मतलब होता है n * n - 1 * n - 2 ब्ला ब्ला ब्ला अप टिल वन तो वही लूप लगा के एक-एक वैल्यू कम करता जा रहा है और कैलकुलेट कर रहा ये कम नहीं कर रहा नीचे से ऊपर की तरफ बढ़ रहा है ठीक है ये पहले से मैंने फॉर सेक ऑफ कन्वीनियंस इसको मैंने इस तरह से एक कोड में डिवाइड करके रख लिया यानी कि थ्री एड्रेस कोड में लिख के रख लिया अब यहां पे हमें क्या करना है इसको बेसिक ब्लॉक्स में डिवाइड करना है वो कैसे करते आपको समझाता हूं तो यहां पे अब अगेन अब ये मत पूछना कि क्यों कर रहे हैं पूछो क्या कर रहे हैं फिर धीरे-धीरे क्यों समझ आने लगेगा स्टेप नंबर वन हमारे पास होता है फर्स्ट स्टेटमेंट हमें कुछ लीडर आइडेंटिफिकेशन तो पहला लीडर कौन मिला ये मिल गया सर लीडर क्यों है ये लीडर क्योंकि रूल कह रहा है कि पहला स्टेटमेंट लीडर होगा ठीक है अब रूल कह रहा है तो मान लेते हैं इसमें क्या आप करोगे क्या मैं करूंगा आगे बढ़ते हैं सेकंड स्टेटमेंट सेकंड रूल देखिए द स्टेटमेंट दैट इज अ टारगेट ऑफ कंडीशनल और अनकंडीशनल स्टेटमेंट इज अ लीडर टारगेट अगर कोई स्टेटमेंट किसी का टारगेट है तो वो लीडर बन जाता है भले ही वो जंप कंडीशनल हो या अनकंडीशनल जैसे उदाहरण के लिए अगर मैं यहां से आगे बढूं लिखा है गो टू नाइन इसका मतलब नाइन नंबर एक लीडर हो हुआ क्यों क्योंकि ये थ्री का टारगेट है और कोई किसी का टारगेट है क्या देखो देखो देखो यहां लिखा है गो टू थ्री अनकंडीशनल जंप है इसका मतलब स्टेटमेंट नंबर थ्री भी लीडर हो जाता है बात समझ आई और कोई किसी का टारगेट है और कोई किसी का टारगेट नजर नहीं आता आगे बढ़ता हूं थर्ड एंड लास्ट रूल स्टेटमेंट दैट फॉलोज इमीडिएट अ कंडीशनल और अनकंडीशनल स्टेटमेंट इज अ लीडर हां किसी भी कंडीशनल अनकंडीशनल स्टेटमेंट का जो नेक्स्ट स्टेटमेंट होगा वो भी लीडर होगा तो अगर यह आपसे पूछूं तो यह अगर गो टू कंडीशनल स्टेटमेंट है तो सर फिर इसका अगला स्टेटमेंट भी लीडर बनेगा और कोई अब यह भाई साहब है बट इनके नेक्स्ट तो ऑलरेडी लीडर हो चुके हैं तो ओवरऑल हमें कितने लीडर नजर आए चार है ना रूल समझिए पहला रूल क्या था फर्स्ट स्टेटमेंट इज अ लीडर रूल नंबर टू एनी टारगेट ऑफ कंडीशनल और अनकंडीशनल जंप इज अ लीडर तो उस वजह से शायद नॉन नंबर और तीन नंबर लीडर बने एंड द लास्ट रूल वाज थर्ड रूल वाज कि किसी भी कंडीशनल अन एडिशनल स्टेटमेंट का जो अगला स्टेटमेंट है वो भी लीडर बनेगा जिसकी वजह से फोर और नाइन पहले से लीडर था अब जैसे ही आपको आइडेंटिफिकेशन आएंगे वो सब आपके ब्लॉक में है कहने का मतलब यहां से शुरू करूंगा तीन नंबर नहीं वो तो दूसरे लीडर का इलाका है यह मेरा इलाका है एंड लेट मी कॉल्ड इट ब्लॉक नंबर वन समझ गेम यहां देखिए यह यह बेचारा एक ही लाइन है क्योंकि अगला स्टेटमेंट भी लीडर है दैट बिकम ब्लॉक नंबर टू अब इसका इलाका कहां से चलेगा इसका इलाका लंबा है सर ये इंस्ट्रक्शन नंबर एट तक दैट इज ब्लॉक नंबर थ्री एंड देर यू सी इन द लास्ट वी हैव ब्लॉक नंबर फोर देखिए आइडेंटिफिकेशन लीडर से अगले लीडर तक का जितना लाखा हो बेसिक ब्लॉक अब मैं चाहता हूं यहां पर आप एक ग्राफ बनाए लेट मी से ब्लॉक वन ब्लॉक टू ब्लॉक थ्री एंड ब्लॉक फोर और जरा देखें इन ब्लॉक्स में कंट्रोल कैसे पास हुआ आपको भी भगवान नजर आएंगे कैसे अभी बताता हूं देखो ब्लॉक नंबर वन से बाहर जाने का क्या रास्ता है सर ब्लॉक नंबर वन प कोई जंप बंप तो है नहीं सीधे आपको ब्लॉक नंबर टू पे ही आना है अब इंस्ट्रक्शन की टर्म से बात मत करना ब्लॉक की टर्म में करो ब्लॉक नंबर टू बताओ अब ब्लॉक नंबर टू से या तो आप सीधे जाते हो नाइन पे यानी कि ब्लॉक नंबर फोर पे और अगर यह कंडीशन फिल होती है तो आप आ जाते हो ब्लॉक नंबर थ्री प बोलो ठीक बोल रहा हूं ब्लॉक नंबर थ्री से आप ध्यान से देखोगे तो इट इज अनकंडीशनल जंप यहां से बाहर जाने का रास्ता ही नहीं है सर तीन नंबर पे ही जाना पड़ेगा लाइक दिस मुझे बताओ यह पूरी स्टडी करके आपको लूप नजर आया कि नहीं आया सो यही तो बॉडी है फॉर या वाइल लूप की आप आते कंडीशन चेक करते होल्ड करती लूप में घूमते वरना एग्जिट लेके बाहर च ले जाते हैं सो यह एनालिसिस हमारी कंप्लीट हो गई अब मैं आपको उसके थ्योरी पार्ट पे लेके जाता हूं लीडर कैसे आइडेंटिफिकेशन इन ऑर्डर टू फाइंड द बेसिक ब्लॉक वी नीड टू फाइंड द लीडर इन अ प्रोग्राम दैट अ बेसिक ब्लॉक विल स्टार्ट फ्रॉम वन लीडर टू द नेक्स्ट लीडर बट नॉट इंक्लूडिंग द नेक्स्ट लीडर तो यह तो बता दिया लीडर से बेसिक ब्लॉक की क्या डेफिनेशन है वो भी मैं आपको बता चुका हूं फिर पीछे चलता हूं द ब्लॉक कैन बी आइडेंटिफिकेशन हम कर चुके हैं हम लीडर आइडेंटिफिकेशन पर हम एक ग्राफ बना चुके हैं जिसे बोलते हैं प्रोग्राम फ्लो ग्राफ तो ये जो ग्राफ हमने बना दोस्त बनाया इस ग्राफ का नाम क्या है प्रोग्राम फ्लो ग्राफ यह बात भी समझ आ गई अब और पीछे लेके चलता हूं हम मैंने बोला यह सब कुछ किसके हेडर में किसके अंब्रेला में पढ़ रहे लूप ऑप्टिमाइजेशन के ठीक बात है नाना सो टू अप्लाई ल लूप ऑप्टिमाइजेशन पहले हमें लूप डिटेक्ट करना पड़ेगा और यह जो हमने प्रोग्राम फ्लो ग्राफ बनाया जहां हमने फ्लो एनालिसिस की या कंट्रोल फ्लो एनालिसिस की क्यों की ताकि लूप पकड़ सके अब आपको बात समझ आ रही है क्या तो यार थ्री एड्रेस कोड में लूप समझ नहीं आता कहां से लूप शुरू हुआ कहां से खत्म हुआ तो यह ग्राफ यह प्रोग्राम फ्लो ग्राफ यह कंट्रोल फ्लो एनालिसिस हमें अनेबल करती है कि हम वो लूप दोबारा से ढूंढ सक बोलो हां या ना ठीक बात है तो उसी के बारे में बात कर रहा है और एक बार अगर आपको लूप मिल गया तो अब आप क्या कर सकते हो इस हिसाब से देखो ये ये बॉडी है ना तो ब्लॉक नंबर तीन पे आप ऑप्टिमाइजेशन लगाओ बिकॉज दिस इज नाउ द बॉडी ऑफ अ लूप तो लूप ऑप्टिमाइजेशन करने के लिए थ्री एड्रेस कोड में पहले लूप आइडेंटिफिकेशन करके दिखाया हुआ है एक और छोटा सा केस है आप प्रैक्टिस करना चाहे तो करें जल्दी से लुक एट दिस इस तरह क्वेश्चन एग्जाम में एक्सपेक्ट करते हैं सो देयर यू सी फर्स्ट स्टेटमेंट इज़ अ लीडर टारगेट ऑफ़ एनी कंडीशनल और अनकंडीशनल जंप गो टू थ्री गो टू टू इसका मतलब तीन नंबर लीडर है दो नंबर भी लीडर है नेक्स्ट स्टेटमेंट ऑफ़ एनी कंडीशनल और अनकंडीशनल जंप तो यह एक कंडीशनल स्टेटमेंट है यानी कि 10 नंबर लीडर होगा और इसके आगे तो कुछ है नहीं दैट विल बी ऑल तो बनाओ जल्दी से बेसिक ब्लॉक एक बेसिक ब्लॉक एक बेसिक ब्लॉक इसकी टेरिटरी लंबी है सर यह यहां तक आएगा एंड इज दिस अ लीडर 11 नंबर नो दिस इज नॉट अ लीडर दैट विल बी ऑल हो गई कहानी कंप्लीट इनके नाम रख दो दिस इज बेसिक ब्लॉक वन दिस इज टू दिस इज थ्री एंड दिस इज फोर तो यहां भी फोर ब्लॉक बनते हुए नजर आए जल्दी से ग्राफ बना लेते हैं थोड़ा सा प्रैक्टिस कर लोगे फिर आपको इतनी प्रॉब्लम नहीं होगी फ्लो देखो मेरे ख्याल से वन से टू पे ही आना है और टू से थ्री पे ही जाना है कोई बड़ी कहानी नहीं है थ्री से हम देख रहे हैं क्योंकि कंडीशनल स्टेटमेंट है और वापस लेके जा रहा है थ्री पे इसका मतलब थ्री पे सेल्फ लूप है और कंडीशन फेल हुई तो आपको चार नंबर पे लेके जा रहे हैं ठीक बात है ना और चार नंबर पे भी अगर कंडीशनल फेल होती है तो आप आगे निकल जाएंगे अब यहां पे इसने कोई नेक्स्ट स्टेटमेंट नहीं लिखा मे बी आप लिख सकते हो अदर वाइज गो टू टू गो टू टू माने इधर लेके जाएंगे तो कुछ इस तरह का फ्लो ग्राफ हमारा नजर आ गया और कभी-कभी इसम पूछ सकते हैं कितने एजेस हैं कितने वर्टेक्स हैं वो सारी चीजें तो आई थिंक इस तरह के क्वेश्चन आप ट्राई कर सकते हो ये क्वेश्चन एक और आप ट्राई कर लेना होमवर्क में आई थिंक पॉइंट में आपको को समझा चुका हूं अब लूप आइडेंटिफिकेशन किए जा सकते हैं क्या-क्या ऑप्टिमाइजेशन किए जा सकते हैं कुछ टाइप्स हैं तो पहला टाइप आपसे डिस्कस कर रहा हूं लूप ऑप्टिमाइजेशन का जिसको बोलते हैं लूप जैमिंग करना अब लूप जैमिंग की क्या कहानी है ये समझाता हूं ये वो म्यूजिक जैम वाला जैम नहीं लूप की जैमिंग है कैसे होती है लूप की जैमिंग नोटिस करिए अब यहां देखिए दो अलग-अलग लूप है एक फॉर लूप है नेस्टेड दो फॉर लूप है जो एक मैट्रिक्स है अजीब सी टू डायमेंशन मैट्रिक्स है x आ ज जो मेरे ख्याल से वन बाय वन रो मेजर ऑर्डर में जा रही है और हर सेल में टीटीओ टीटीओ ऐसे लिख रही है यस एक दूसरा लूप है जो एक सिंगल वन डायमेंशन एरे प काम कर रहा है एंड यू नो द इंडेक्स गोज फ्रॉम रो टू 10 और हर जगह जाके कंपाइलर डिजाइन सीडी सीडी सीडी लिख रहा है आप ध्यान से देखेंगे ना इनका जो आउटर इंडेक्सेस है ये एकदम मैच कर रहा है कहां से कहां तक जाना है किस रेंज में जाना है तो इस तरह का सिनेरियो हम सोचते हैं कि अगर हमारे बिहाव पे एज अ प्रोग्रामर आइडेंटिफिकेशन के अंदर इनर लूप तो ओसी वाला वैसे ही लिखा बट आउटर लूप के अंदर यहीं पे एक लाइन लिख दिया दैट y = सडी अब होगा क्या जैसे-जैसे रो बाय रो एक ऑर्डर में काम करेगा वैसे-वैसे हर रो के लिए एक-एक एलिमेंट कंपाइलर डिजाइन सीडी इस एरे में भी लिखता जाएगा तो बेसिकली हमने दो अलग-अलग लूप्स को उठा के मर्ज कर दिया जैम कर दिया दिस इज कॉल्ड लूप जैमिंग तो एक लूप का खर्चा बचा ना सर यही बोल रहा है कंबाइनिंग द बॉडीज ऑफ टू लूप व्हेन एवर दे शेयर द सेम इंडेक्स एंड द सेम नंबर ऑफ वेरिएबल सेम रेंज में चल रहे हैं सेम तरह के वेरिएबल उठा के मर्ज कर दो दिस इज कॉल्ड लूप जैमिंग सिंपल अप्रोच एग्जांपल के साथ लिख के आएंगे तो एग्जामिनर नंबर ना दे ऐसा होगा नहीं आगे बढ़ता हूं लूप अनरोलिंग अब ये क्या कहानी है देखिए नोटिस करिए इससे साधारण एग्जांपल मैं बना नहीं सकता था इसके लिए इनिशिएटिव से जब तक वैल्यू 100 से कम है प्रिंट करना है i+ प् इंक्रीमेंट करना है बेसिकली मुझे समझ आ कि वन से लेकर 100 तक की वैल्यू प्रिंट कराएंगे अब मैं आपसे बोल रहा हूं सर इसमें ऑप्टिमाइजेशन करा दो आप बोलोगे सर इसमें क्या ऑप्टिमाइजेशन करें इनिशिएटिव ग लेट मी से आपने वन प्रिंट कराया फिर उसको इंक्रीमेंट किया टू फिर कंडीशन चेक किया फिर टू प्रिंट कराया फिर प्रिंट किया थ्री ये तो ऐसे ही चलेगा ना मैं बोलता हूं यार एक बात बताओ प्रिंट आपको हर वैल्यू करनी ही है आई एग्री विद इट इंक्रीमेंट भी एक साथ नहीं कर सकते क्योंकि हर वैल्यू प्रिंट करनी एक-एक करके करना पड़ेगा हर बार कंडीशन चेक करना जरूरी है क्या 100 बार यार कंडीशन तो एक बार बाउंड्री पे ही जाके फेल होगी ना हां बात तो ठीक है तो आप प्रिंट भी कर लो यानी कि जो बॉडी का जो लूप का बॉडी उसपे आप काम कर लो आप प्रिंट कर लो आप इंक्रीमेंट कर लो आई एग्री विद इट बट हर बार काई को कंडीशन चेक कर रहे हो तो क्या करें फिर क्या एक काम करो ना कॉमनसेंस आईडिया लूप की बॉडी को अनरोल कर लो कहने लूप की बॉडी को दो बार लिख लो अब ये लूप 50 बार चलेगा है ना तो प्रिंट 100 बार ही होगा इंक्रीमेंट 100 बार ही होगा बट बताओ कंडीशन चेक कितनी बार होगी 50 बार होगी क्योंकि वन पे करूंगा अ सबसे पहले वन पे गया फिर टूथ डायरेक्ट थ्री पे करूंगा लाइक दिस ऐसे आगे बढ़ेगा जंप कर कर के आगे बढ़ेगा तो लूप अनरोलिंग का क्या मतलब हुआ अगर हम लूप की बॉडी अंदर रिप्लिकेट कर दें तो लूप के नंबर ऑफ इटरेशंस कम हो जाते हैं जिससे और कुछ कम हो ना हो कितनी बार कंडीशन चेक होना यह तो कम होता ही होता है जिससे एडवांटेज में मिलता है और कम टाइम हमारा लगता है हालांकि ये बात ध्यान रखना लूप अनरोल इस हिसाब से करना है कि बाउंड्री कंडीशन मिस ना हो जाए है ना अब कोई बोले कि मैं तो इस हिसाब से मान लीजिए तीन-तीन बार करूंगा तो 300 इज नॉट डिविजिबल बाय 3 प्रॉब्लम हो सकता है उस बात पे ध्यान देना है एक और बात इसकी अपनी लिमिटेशन होनी चाहिए आपका लालच बढ़ गया तो आप बोलो सर मैं तो पांच बार एनरोल करूंगा और + 5 पाच पे 10 पे 15 पे 20 पे तो ऐसा करते-करते सोचेंगे 100 बार प्रिंट ही कर डालते हैं फिर लूप की जरूरत ही क्या है तो एक बीच का रास्ता यहां पर हमें ढूंढना पड़ता है लूप अनरोलिंग के अंदर है ना बट आई थिंक बेसिक फील आपको समझ आ गया एग्जांपल आपके सामने बना के आओगे नंबर मिलेगा अगला पॉइंट कोड मूवमेंट अब यह क्या कहानी है लूप के अंदर किसको होना चाहिए जिसको बार-बार रन करने की जरूरत हो लेकिन अगर कोई ऐसी इंस्ट्रक्शन बाय चांस प्रोग्रामर ने गलती से लिख दी जिसको चाहे एक बार रन करे चाहे 100 बार फर्क नहीं पड़ रहा लेकिन 100 पर रन करने की जरूरत नहीं थी तो क्या उस तरह की इंस्ट्रक्शन को बाहर निकाला जा सकता है लूप से निकाला जाना चाहिए और कंपाइलर हमारे बिहाव पे करने की कोशिश करता है जैसे यह सेम एग्जांपल मैंने लिया लेकिन गलती से a = b + c मैंने यहां रख दिया हालांकि इस लूप का ए c से कोई लेना देना नहीं है तो अब अगर b की वैल्यू वन है और c की वैल्यू टू है तो a की वैल्यू थ्री हो जाएगी आप 100 बार भी करो तो कोई एरर तो नहीं आएगा बिकॉज़ हर बार 1 + 2 3 ही बनेगा बट एक काम 100 बार करोगे तो कितनी पेनल्टी लगी आप पे है ना तो अ हमारी रिस्पांसिबिलिटी है कि हम एक बार ध्यान से देखना है कि लूप के अंदर अगर कोई ऐसी इंस्ट्रक्शन मिलती है जिसका लूप से लेना देना नहीं है तो उसको लूप से बाहर निकालना है वेरी सिंपल अंडरस्टैंडिंग नाम से भी समझ जा है लूप मूवमेंट या क्या बोलते हैं लूप इनवेरिएंट कंप्यूटेशन अगर कोई ऐसा कंप्यूटेशन है जिसका लूप से लेना देना नहीं है इनवेरिएंट है अनरिलेटेड है उसे लूप से बाहर निकाल लिया जाए ठीक बात है आगे बढ़ी ऑप्टिमाइजेशन ऑफ बेसिक ब्लॉक्स नाउ तो लूप ऑप्टिमाइजेशन आपको समझा दिया तीन बेसिक अप्रोच है पे आप काम कर सकते हो उसके अलावा मशीन इंडिपेंडेंट ऑप्टिमाइजेशन में और भी कुछ छोटे-छोटे आइडियाज हैं अब ये लूप के अंदर भी हो सकते है लूप के बाहर भी हो सकते हैं अलग-अलग टाइप ऑफ ऑप्टिमाइजेशन है तो इन पे बात करना जरूरी है बहुत सिंपल सिंपल अप्रोच है हेडिंग की वैल्यू है ये हेडिंग आपको याद रहे उसकी वैल्यू है और एक एग्जांपल आप एग्जाम में लिख के आ जाए इस बात की वैल्यू है तो पहला टाइप है कांस्टेंट फोल्डिंग इस बात का क्या मतलब है अब मान लीजिए प्रोग्रामर ने लिखा a + b + 2 * 3 + 4 अब मुझे बताइए कम से कम इतना इंफॉर्मेशन तो हम कंपाइल टाइम में सॉल्व कर सकते हैं ना तो वी नो दैट या 2 * 3 6 होगा 6 + 4 10 होगा तो अगर कहीं कांस्टेंट्स लिखे हुए हैं एक्सप्रेशन में और उनकी वैल्यू रिड्यूस की जा सकती है सॉल्व की जा सकती है तो क्या किया जाना चाहिए हां किया जाना चाहिए एक कॉल हो सकती है तो प्रोग्रामर पागल था क्या उसने ऐसा क्यों लिखा मे बी लिखा होगा कोड की रीडेबिलिटी बढ़ाने के लिए हो सकता है इस टू का थ्री का फोर का कोई कोई मतलब हो लेकिन एग्जीक्यूशन में तो कोई मतलब नहीं तो क्यों ना अगर इंस्ट्रक्शन में कुछ कांस्टेंट्स हैं उनको कंपाइल टाइम पे ही सॉल्व कर दिया जाए ताकि रन टाइम में हमारा टाइम बचे मेक्स सेंस कांस्टेंट फोल्डिंग रिप्लेसिंग द वैल्यू ऑफ़ एक्सप्रेशन बिफोर कंपाइलेशन इज कॉल्ड कांस्टेंट फोल्डिंग मेक्स सेंस आगे बढ़ी कांस्टेंट प्रोपेगेशन अब इस बात का मतलब देखिए एग्जांपल से बता रहा हूं मान लीजिए पाई एक कांस्टेंट है जिसकी वैल्यू हमने पहले से डिफाइन कर दी लाइक 3.141 हम पहले से डिफाइन कर रहे हैं जहां भी पाई लिखेंगे ये वैल्यू लेके चलना उसके बाद उसने कहीं कोई फार्मूला यूज किया होगा दैट x = 360 / पा अब अगर ये वेरिएबल नहीं है कांस्टेंट और इसकी वैल्यू आपको पहले से पता है कंपाइल टाइम पे तो क्या इसकी वैल्यू यहां पर पहले से नहीं रिप्लेस हो जानी चाहिए हो जानी चाहिए इसके बाद इवन कांस्टेंट फोल्डिंग लगा के इसको यहां पे सॉल्व भी कर सकते हो तो ये क्या बोलता है रिप्लेसिंग द वैल्यू ऑफ कांस्टेंट्स बिफोर कम डाइल टाइम इज नोन एज कांस्टेंट प्रोपेगेशन तो इफ यू नो दैट देर सर्टेन कांस्टेंट और अगर उनकी वैल्यू पहले से पता है क्योंकि व कांस्टेंट है तो कंपाइल टाइम में ही उनका रिप्लेसमेंट हो जाना चाहिए दैट इज कांस्टेंट प्रोपेगेशन नेक्स्ट इज स्ट्रेंथ रिडक्शन अब इस बात का क्या मतलब है आर्किटेक्चर इस बात को हम बहुत गहराई से समझते हैं एलय अर्थमेटिक लॉजिकल यूनिट जो होती है बहुत सारे तरह के ऑपरेशन कर सकती है कंपैरिजन कर सकती है बुलियन ऑपरेटर कर सकती है अगर मैं सिंपल अरिमिल्ली पलाई नंबर ऑफ ऑपरेशन है सवाल यह है कि क्या सारे ऑपरेशन में सेम टाइम लगता है क्या नहीं सर एडर बनाना तो बहुत आसान है तो हो सकता है एडिशन एक क्लॉक में हो डिवीजन दो में हो सबै क्शन दो में हो मल्टीप्लिकेशन तीन में हो डिवीजन सिक्स में हो डिवीजन इज अ कॉम्प्लेक्शन नहीं करना चाहिए अगर पॉसिबल है तो हाई कॉस्ट ऑपरेटर को लो कॉस्ट ऑपरेटर से रिप्लेस कर दें जैसे मान लीजिए प्रोग्रामर ने लिखा y = 2 * x कई बार आपने भी लिखा होगा बट डू यू रिलाइज कि यार मल्टीप्लाई करना पड़ेगा टू से और क्या उसको ऐसे नहीं रिप्लेस कर देना चाहिए टू से मल्टीप्लाई करना या x + x करना एक ही तो बात है बात तो एक ही है लेकिन इनके एग्जीक्यूशन टाइम में बहुत फर्क पड़ेगा तो क्या कंपाइलर इतना स्मार्ट हो सकता है कि प्रोग्रामर के बिहाव पे हाई कॉस्ट ऑपरेटर को अगर पॉसिबल है तो लो कॉस्ट ऑपरेटर से रिप्लेस कर दे ताकि एग्जीक्यूशन टाइम सेव किया जा सके दैट इज नोन एज स्ट्रेंथ रिडक्शन ऑपरेटर की स्ट्रेंथ कम कर दी तो का टाइम कम लगेगा सो प्लेसिंग द कॉस्टली ऑपरेटर कॉस्टली मतलब टाइम की टर्म्स में बाय अ चीपर ऑपरेटर एंड दिस प्रोसेस इज कॉल्ड स्ट्रेंथ रिडक्शन क्या बोलते हैं इसको स्ट्रेंथ रिडक्शन बोलते हैं अगेन सिंपल पॉइंट रिडंडेंट कोड एलिमिनेशन और कॉमन सब एक्सप्रेशन एलिमिनेशन कई बार सेम कोड है थोड़ा सा चेंज है पैटर्न में अ प्रोग्रामर ने लिखा है शायद ध्यान नहीं दिया क्या कंपाइलर देख सकता है यह लिखना दैट फॉर एग्जांपल लुक एट दिस x = a + b या y = b + a अब यह पता होना चाहिए देन इन मैथमेटिक्स एडिशन इज अ कम्यूटर ऑपरेटर इजन इट तो आप a + b b+ लिखो एक ही बात है तो अगर यह वैल्यू पहले कैलकुलेट की जा चुकी है तो क्या दोबारा कैलकुलेट करना जरूरी है क्या जी नहीं तो इफ x = a + b और मैं कैलकुलेट कर चुका हूं तो क्यों ना मैं y = x लिख दूं दिस इज़ कॉल्ड रिडंडेंट कोड एलिमिनेशन या कॉमन सब एक्सप्रेशन तो व्हाट इट सेज अवॉइडिंग द इवैल्यूएशन ऑफ़ एनी एक्सप्रेशन मोर देन वंस एक से ज्यादा बार कैलकुलेट करने से बचाना ठीक है कॉमन सेंस बात है अलजेब्रिक सिंपलीफिकेशन इस तरह की बात देख लीजिए कॉमन सेंस है आइडेंटिटी को आइडेंटिफिकेशन आपको मिले तो क्या b + 0 को b से या b मल्टीप्लाई बाय 1 को b से रिप्लेस नहीं कर सकते कर सकते हैं वेरी सिंपल आईडिया तो तो इस तरह के सिंपलीफिकेशन हमारे पास होने चाहिए यस एक छोटा सा आईडिया और है बाद में बचा हुआ डैग अब डैग क्या है सिंटेक्स ट्री पास्ट ट्री हम पढ़ते हैं उसी को सिंपलीफाई किया जाता है क् कई बार सेम एक्सप्रेशन मल्टीपल टाइम लिखना पड़ता है तो वैसे डक की फुल फॉर्म क्या है डायरेक्ट अस साइक्लिक ग्राफ यानी कि इस तरह के ग्राफ जिसमें देयर विल बी डायरेक्टेड एजेस बट साइकिल नहीं बनती और साइकिल नहीं बनती उसके बहुत सारे इंप्लीकेशंस है सब्जेक्ट टू सब्जेक्ट एल्गोरिथम में अलग-अलग जगह का काम आता है यहां पर डेक के इस्तेमाल से हम कैसे ऑप्टिमाइजेशन करते और कैसे कॉमन सब एक्सप्रेशंस को बार-बार कैलकुलेट होने से बचाते हैं वो मैं सीधे एग्जांपल देके आपको समझाता हूं लुक एट दिस इट्स अ वेरी ब्यूटीफुल आईडिया अब अगर मैं आपसे बोलूं इसके लिए सिंटेक्स ट्री बना सकते हो आप बोलोगे हां सर बना देंगे कोई बड़ी बात नहीं है कैसे बनाओगे बताओ a + a कर रहा है ब्रैकेट लिख लिख के उसने बताया भी है मानो उसे किस ऑर्डर में कैलकुलेट कराना है यह शायद लेफ्ट हाफ ऑफ़ द स्ट्रक्चर हो गया शायद यही काम इधर करना पड़ेगा तो अगेन a + a फिर करता हूं देन अगेन a + a करता हूं फिर इन दोनों को प्लस करूंगा एंड देन टोटल को प्लस करूंगा कुछ इस तरह का ट्री बनेगा अब देख रहे ये यहां सोचना आसान है बट कंप्यूटर में हर एक को डिक्लेयर करना पड़ेगा उसमें स्पेस लगेगा स्ट्रक्चर स्टोर होगा बहुत खर्चा है अब अगर हम बात करें डैक की तो डैक क्या कहता है a है a में क्या प्लस करना है a प्लस करना है क्या वो पहले से हमारे पास है हां है तो तो क्या मैं उसी को रेफर कर सकता हूं कैन अ सेम ऑपरेंट बी रेफर्स पल टाइम्स यस अब बताओ ये नोड किसको रिप्रेजेंट करता है ना इस नोड के पास एक्चुअली वैल्यू है a + a की सोचो इसको एक लेवल और ऊपर लेके जाऊं और ऐसे रेफर कर लूं अब बता सकते हो क्या है दिस इज a + a एंड नाउ दिस नोड रिप्रेजेंट्स a + a एंड a + a क्योंकि मैं अगर ब्रैकेट में लिख के याद दिला दूं इस नोड का मतलब है a + a a + a को a + a से ऐड करूंगा तो बेसिकली फर्स्ट हाफ ऑफ़ द इक्वेशन सॉल्व हो चुकी है और इसी को अगर एक लेवल और ऊपर लेके जाऊं ऐसा कर दूं तो खत्म हो गई बात तो जो यह सिंटेक्स डिजिटस पूरी एक्सप्रेशन को अ रिप्रेजेंट कर रहा है यह डग उसी को कर रहा और खर्चा देखो कितना कम है अभी डक का खर्चा आप नंबर ऑफ एजेस या नंबर ऑफ वर्टिसेज में कैलकुलेट कर सकते हो तो उससे तो बहुत कम है ये आईडिया है डेक का तो आपसे एग्जामिनर का एक्सपेक्टेशन क्या है वो एक एक्सप्रेशन देगा और बजाय इसके जो हम पहले प्रैक्टिस कर चुके हैं कि सिंपल सिंटेक्स ट्री बना है उसका एक्सपेक्टेशन आपसे है कि आप उसके लिए डैग बना सकते हैं क्या जिसका कॉस्टिंग कम हो यह है कुछ कॉमन नॉर्मल एग्जांपल में आपके लिए बना के लाया भी हूं जैसे यहां देखिए पहला इंस्ट्रक्शन है d = b म c तो पहली बार था तो b और c को मल्टीप्लाई करके हमने रख लिया देन e = a + b अब देखिए b तो कॉमन है और चेंज भी नहीं हुआ तो मैंने प्लस किया a मैंने नया बनाया बट बी सेम भी रेफर कर लिया जो कि मल्टीप ने किया था कोई गलती नहीं है फिर आगे देखो फिर से कह रहा है b = b ल् c अब नोटिस करने वाली बात यह है b ल्टी बा c तो मैं पहले कैलकुलेट कर चुका हूं जो कि d है तो दोबारा से कैलकुलेट करूं या आज के बाद इसको b के नाम से जान सकता हूं आजकल इसको b के नाम से जान सकता हूं है ना तो दिस नाउ दिस नोट रिप्रेजेंट्स d एज वेल एज b और फिर क्या कर रहा है e - d अब ये टेक्निकली e इस नोड का रिप्रेजेंटेशन है b इधर रिप्रेजेंट कर रहा है दोनों को उठा के आपस में माइनस कर दिया और रिजल्ट किसम रखना है a में नाउ दैट नोट रिप्रेजेंट्स a सो दिस इज अ डैग जिसका कॉस्टिंग ऑब् वियस बहुत कम होगा कंपेयर टू सिंटेक्स ट्री तो वो सिंपल ऑब्जर्वेशंस है ये आप एक देख सकते हैं दिस इज एन एक्सप्रेशन और अगेन मैंने स्टेप बाय स्टेप ही बना के रखा है पहले से तो ब्रैकेट है मैं रिस्पेक्ट करूंगा ब्रैकेट को मैंने सॉल्व कर लिया नाउ दिस इज b - c है ना और एक बार सॉल्व किया बट मान रहा हूं कि मैंने दोनों b - c को सॉल्व कर लिया अब अगेन दो मल्टीप्लिकेशन लेफ्ट एसोसिएटिविटी दोनों देख लेता हूं a के लिए ये लेफ्ट ऑपरेंट बनेगा तो देखिए मल्टीप्लाई हुआ और ये लेफ्ट ऑपरेंट बन गया और यही b मल्टीप c इस d का राइट ऑपरेंट है एक और मल्टीप्लाई लिया और d के साथ ये राइट ऑपरेंट d राइट ऑपरेंट बन गया लेफ्ट ऑपरेंट बन गया और दोनों का बाद में क्या करना है ऐड करना है तो मैं क्या कर सकता हूं नाउ दिस नोड रिप्रेजेंट्स ये फर्स्ट वाला आईडिया दिस नोड रिप्रेजेंट्स ये सेकंड वाला आईडिया तो दोनों को उठा के प्लस कर देता हूं जैसे यहां पे लिखा हुआ है है ना एक दो और एग्जांपल आप देख सकते हो यू कैन हैव अ लुक टू दिस वीडियो पॉज कर स्क्रीनशॉट लो यू कैन हैव अ लुक टू दिस वीडियो पॉज कर स्क्रीनशॉट लो यू कैन हैव अ लुक टू दिस आल्सो वीडियो पॉज करो स्क्रीनशॉट लो यस तो ये कुछ अलग-अलग आईडियाज थे जो कि हमारे ऑप्टिमाइजेशन के चैप्टर को भी कंप्लीट करते तो लास्ट के दो चैप्टर रिलेटिवली थोड़े से आसान या सिंपल है बट बीच में मेरी थोड़ी तबीयत खराब थी तो दो-तीन दिन का डिले हो गया जो मैंने प्रॉमिस किया था बट मैं जैसा आप देख रहे हो ना कंटेंट में मैं कहीं भी कोताही नहीं बरत रहा आपके सेमेस्टर को आपसे ज्यादा इंपॉर्टेंस लेकर चल रहा हूं और कंटेंट एक दो दिन डिले हो सकता है बट आने वाले कई सालों तक यह आप लोगों के काम आने वाला है मैं फिर से याद दिला रहा हूं इसमें पूरा और पूरा योगदान सिर्फ आप लोगों का है जितना प्रोत्साहन जितना सपोर्ट आप लोग इन वन शॉट वीडियोस को दे रहे हैं आई एम वेरी मच मोटिवेटेड कि यह सीरीज में कभी रुकने ना दूं यस तो आप साथ देते रहिएगा सपोर्ट करते रहिए बात मैं पूरी वीडियो में नहीं करता सिर्फ लास्ट में करता हूं इसलिए क्योंकि मुझे पता है जो यहां तक पहुंचा है ना सर वो पूरा कंटेंट देखते हुए आया है तो बहुत लोगों की मेहनत और मेरी कई सालों की तपस्या और नॉलेज का कंक्लूजन यह है फिर भी मैं पूरा कंटेंट दोबारा से बना र बना रहा होता हूं क्योंकि मोस्ट ऑफ द टाइम यू नो मैं यूनिवर्सिटी एग्जाम के लिए नहीं पढ़ा रहा था कॉम्पिटेटिव एग्जाम्स के लिए हाई लेवल एग्जाम्स के लिए जहां बहुत डेप्थ में आता है बट यूनिवर्सिटीज के लिए किस तरह से पढ़ाया जाना चाहिए उस परे काम करने के बाद ये कंटेंट बना रहा हूं लेकिन आप लोगों की प्रॉब्लम को जड़ से खत्म कर देना चाहता हूं यस तो प्लीज अपना साथ बनाए रहिए चैनल को सब्सक्राइब करिए कमेंट करिए आपके कमेंट से मिलती है हमको और मैं एक-एक कमेंट पढ़ता हूं डेली है ना तो थैंक यू सो मच और अगली वीडियो आने वाली है डिस्क्रीट स्ट्रक्चर डिस्क्रीट मैथ्स आप जो चाहे बोलना चाहे या उसके बाद कौन से वीडियोस आने हैं वो हम कम्युनिटी सेक्शन में आपसे बात करेंगे अपना पोल में पार्टिसिपेट करिएगा जो आप लोगों का डिसीजन होगा सर्वसम्मति से वही वही सीक्वेंस हम फॉलो करते आ भी रहे हैं है ना थैंक यू सो मच भगवान आप सभी को खुश रखें जय हिंद जय भारत