मैंने पहले से ही एक स्कैनर बनाया है, अब मुझे एक पार्सर बनाना है। क्या फर्क पड़ता है?पार्सर और स्कैनर के बीच क्या अंतर है?
उत्तर
एक स्कैनर टोकन की सूची में इनपुट स्ट्रिंग (फ़ाइल कहें) को बदल देता है। ये टोकन पहचानकर्ताओं, कोष्ठक, ऑपरेटरों इत्यादि जैसी चीजों का प्रतिनिधित्व करते हैं
एक पार्सर टोकन की इस सूची को ट्री-जैसी ऑब्जेक्ट में परिवर्तित करता है यह दर्शाता है कि कैसे टोकन एक समेकित पूरे (कभी-कभी वाक्य के रूप में संदर्भित) बनाने के लिए फिट होते हैं।
प्रोग्रामिंग भाषा पार्सर्स के संदर्भ में, आउटपुट को आमतौर पर एक सार सिंटेक्स ट्री (एएसटी) के रूप में जाना जाता है। एएसटी में प्रत्येक नोड भाषा के एक अलग निर्माण का प्रतिनिधित्व करता है, उदाहरण के लिए एक आईएफ कथन 2 या 3 उप नोड्स, एक कंडीशन नोड, एक फिर नोड और संभावित रूप से एक ईएलएसई नोड के साथ एक नोड होगा।
एक पार्सर नोड्स को स्ट्रक्चरल समेकन से परे किसी भी अर्थ नहीं देता है। करने के लिए अगली बात इस संरचना से अर्थ निकालना है (कभी-कभी प्रासंगिक विश्लेषण भी कहा जाता है)।
पार्सिंग (सामान्य अर्थ में) प्रतीकों (वर्ण, अंक, बाएं पैर, आदि) को अपने व्याकरण के वाक्यों में बदलने के बारे में है।
शब्दावली विश्लेषक ("लेक्सर") स्रोत कोड फ़ाइल से टोकन में व्यक्तिगत प्रतीकों को पार करता है। वहां से, "पार्सर" उचित रूप से उन पूरे टोकन को आपके व्याकरण के वाक्यों में बदल देता है।
एक और तरीका रखो, लेक्सर प्रतीकों को टोकन में जोड़ता है, और पार्सर वाक्य बनाने के लिए टोकन को जोड़ता है।
- 1. निर्वाचन क्षेत्र पार्सर और निर्भरता पार्सर के बीच अंतर
- 2. एलएल और रिकर्सिव डेसेंट पार्सर के बीच अंतर?
- 3. क्या संख्याओं की पहचान स्कैनर में या पार्सर में है?
- 4. # {} $ {} और% {} के बीच क्या अंतर है?
- 5. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 6. $ और $$ के बीच क्या अंतर है?
- 7. के बीच क्या अंतर है:। और: आर !?
- 8. भिन्नता और '-' के बीच क्या अंतर है?
- 9. "$^एन" और "$ +" के बीच क्या अंतर है?
- 10. लेक्स/yacc और fslex/fsyacc के बीच क्या अंतर है?
- 11. के बीच क्या अंतर है?
- 12. अंतर और कहां के बीच क्या अंतर है?
- 13. == और मामले के बीच अंतर?
- 14. file_get_contents और fread बीच क्या अंतर है
- 15. क्या बीच का अंतर है :: और ::: स्काला
- 16. "। +" और "। +?" के बीच अंतर
- 17. $ {} और # {} के बीच अंतर क्या हैं?
- 18. PHP के बीच क्या अंतर है और इसमें शामिल है?
- 19. अपवाद के .TOString() और मैसेज के बीच क्या अंतर है?
- 20. 7zip के 7z.sfx और 7zsd.sfx के बीच क्या अंतर है?
- 21. डीएल के फाइलवर्सन और उत्पादवर्जन के बीच क्या अंतर है?
- 22. UIImageView के फ्रेम और सीमाओं के बीच क्या अंतर है?
- 23. फ़ायरबग के console.log() और console.debug() के बीच क्या अंतर है?
- 24. पैरामीटर परिभाषाओं के बीच अंतर (प्रकार और नाम), और (प्रकार * नाम) के बीच अंतर क्या हैं?
- 25. ओरिएंटब संस्करणों के बीच क्या अंतर है?
- 26. एन्कोड/डीकोड के बीच क्या अंतर है?
- 27. os.popen() विधियों के बीच क्या अंतर है?
- 28. MATLAB में & &&& के बीच क्या अंतर है?
- 29. ऑब्जेक्ट और * के बीच अंतर?
- 30. इन कार्यों के बीच क्या अंतर है?
मैंने 'फ्लेक्स' टैग निकाला और इसे अधिक सामान्य 'लेक्सिकल-एनालिसर' टैग के साथ बदल दिया क्योंकि स्टैक ओवरव्लो पर 'फ्लेक्स' टैग एडोब फ्लेक्स फ्रेमवर्क संदर्भित करता है। –