मुझे अभी तक कंप्यूटर विज्ञान में औपचारिक भाषाओं के क्षेत्र में नहीं मिला है, इसलिए शायद मेरा सवाल मूर्खतापूर्ण है। मैं सी ++ में एक साधारण एनएमईए पार्सर लिख रहा हूं, और मुझे चुनना है:पार्सर जनरेटर का उपयोग कब करें, रेगेक्स कब पर्याप्त है?
मेरा पहला विचार मैन्युअल रूप से एक साधारण परिमित राज्य मशीन बनाना था, लेकिन फिर मैंने सोचा कि शायद मैं इसे कम काम के साथ कर सकता हूं, और अधिक कुशलतापूर्वक । मैंने पहले नियमित अभिव्यक्तियों का उपयोग किया था, लेकिन मुझे लगता है कि एनएमईए नियमित अभिव्यक्ति बहुत लंबी है और इसे मैच करने के लिए "लंबा समय" लेना चाहिए।
तब मैंने एक पार्सर जनरेटर का उपयोग करने के बारे में सोचा। मुझे लगता है कि सभी एक ही विधि का उपयोग करते हैं: वे एक एफएसए उत्पन्न करते हैं। लेकिन मुझे नहीं पता कि कौन सा अधिक कुशल है। आप आमतौर पर regexes के बजाय पार्सर जेनरेटर का उपयोग करते हैं (मुझे लगता है कि आप पार्सर जेनरेटर में रेगेक्स लिख सकते हैं)?
कृपया मतभेदों की व्याख्या करें, मुझे सिद्धांत और अनुभव दोनों में रूचि है।