मैं वहाँ एक आसान तरीका है के रूप में मैं .net के अभिव्यक्ति पेड़ के बारे में पता नहीं था पता नहीं है, लेकिन मैं एक कस्टम सार सिंटेक्स पेड़ में एसक्यूएल भाव के लिए एक lexer और पार्सर लिखा था (उस समय) और मैं वास्तव में एसक्यूएल पार्सिंग का आनंद नहीं लिया था।
वाक्य रचना बस बहुत दोस्ताना पार्स नहीं कर रहा है के रूप में अलग-अलग संदर्भ के आधार पर है (उदाहरण के NOT IN
बनाम IS NOT
में नहीं), टोकन अतिभारित रहे हैं (एक सूची बनाने के लिए डिफ़ॉल्ट ऑपरेटर पूर्वता बनाम कोष्ठकों ओवरराइड करने के लिए कोष्ठक WHERE x IN (1, 2)
में) और बहुत आगे।
स्पष्ट रूप से अपने स्वयं के लेक्सिंग और पार्सिंग करने के बजाए एक पार्सर जनरेटर का उपयोग करना चीजों को आसान बना देगा, लेकिन मुझे नहीं पता कि एसक्यूएल के लिए और कुछ विशिष्ट है या नहीं।
तो, खुद को लिखना निश्चित रूप से संभव है, यद्यपि थकाऊ।
स्रोत
2012-07-12 23:49:45
क्या आपको इस प्रश्न के लिए कोई समाधान मिला। मुझे C# – Saravanan