मैं केवल सादे C # / .net का उपयोग कर एक टेम्पलेटिंग इंजन को लागू करने के बारे में सोच रहा हूं 4 वाक्यरचना स्थिर टाइपिंग के लाभ के साथ
फिर उस टेम्पलेटिंग भाषा के शीर्ष पर हम डोमेन विशिष्ट भाषाएँ बना सकते हैं (हम कहते हैं HTML4, XHTML, HTML5, आरएसएस, एटम, मल्टीपार्ट ईमेल आदि)।
सबसे अच्छा DSLs में से एक। NET 4 (यदि न केवल एक) है। यह एचटीएमएल-विशिष्ट डीएसएल लागू करता है।
SharpDOM को देखते हुए, मैं वास्तव में प्रभावित हूँ कि आप .NET (4) का उपयोग करके क्या कर सकते हैं।
इसलिए मेरा मानना है कि कुछ नहीं हैं कस्टम डीएसएल को लागू करने के लिए अच्छी तरह से ज्ञात तरीके 4. नेट में संभवत: रूबी में भी नहीं, लेकिन फिर भी।
तो मेरा सवाल होगा: सी # (4) विशिष्ट सिंटैक्स क्या हैं कस्टम डीएसएल को कार्यान्वित करने के लिए इस्तेमाल किया जा सकता है?
उदाहरण मैं अभी के बारे में सोच सकता हूँ:
// HTML - बहुत भी पठनीय नहीं दिखता है: (Div: "head", ul (clas: "menu", id: "main-menu", () = & gt; {foreach (allItems में var आइटम) {li (item.Name)}}) // देखें कि यह सभी समापन कोष्ठकों के साथ कितना शोर है?) // सादा पाठ (ईमेल या कुछ और) - शायद बहुत सरल पंक्ति ("प्रिय {0}", user.Name); रेखा ("आपको इस साइट से हटा दिया गया है");
मेरे लिए, कम से कम शोर
के साथ वाक्यविन्यास के साथ आने के लिए वास्तव में कठिन है कृपया ध्यान दें कि मैं बात नहीं कर रहा हूँ किसी अन्य भाषा के बारे में (बू, आयरनरीबी आदि), न तो मैं विभिन्न टेम्पलिंग इंजन (एनएचएएमएल, स्पार्क, स्ट्रिंग टेम्पलेट इत्यादि) के बारे में बात नहीं कर रहा हूं।
मुझे लगता है कि आप मार्टिन फोलेर्स डीएसएल की पुस्तक से परिचित हैं, लेकिन अगर निश्चित रूप से इसे न देख लें इसमें सी # 4.0 के लिए कुछ खास नहीं है, लेकिन आंतरिक डीएसएल के लिए कुछ सामान्य प्रतिमान हैं जिनका उपयोग आप कर सकते हैं। यह भी देखें कि सामान्य प्रकार और प्रकार अनुमान सी # में कैसे काम करता है, LINQ एक DSL को लागू करने के लिए उन्नत भाषा सुविधाओं का उपयोग करने का एक अच्छा उदाहरण हो सकता है LINQ सामग्री में कुछ एएसटी हेरफेर भी होनी चाहिए, जो आपको भी रूचि दे सकती है।
Comments
Post a Comment