जेटब्रेन्स एमपीएस

From Vigyanwiki
Meta Programming System
Stable release
()
Operating systemCross-platform

JetBrains MPS (मेटा प्रोग्रामिंग सिस्टम) JetBrains द्वारा विकसित एक भाषा कार्यक्षेत्र है। एमपीएस डोमेन-विशिष्ट भाषाओं (डीएसएल) को डिजाइन करने का एक उपकरण है। यह प्रक्षेपात्मक संपादन का उपयोग करता है जो उपयोगकर्ताओं को भाषा पार्सर की सीमाओं को पार करने और तालिकाओं और आरेखों जैसे डीएसएल संपादकों का निर्माण करने की अनुमति देता है।[1]
यह भाषा-उन्मुख प्रोग्रामिंग लागू करता है[citation needed]. एमपीएस ऐसी भाषाओं के लिए भाषा परिभाषा, एक भाषा कार्यक्षेत्र और एकीकृत विकास वातावरण (आईडीई) के लिए एक वातावरण है।[2][3][4]

रचना योग्य भाषाएँ

विभिन्न डोमेन के डेवलपर्स सामान्य प्रयोजन प्रोग्रामिंग भाषाओं में डोमेन-विशिष्ट भाषा एक्सटेंशन से लाभ उठा सकते हैं। उदाहरण के लिए, वित्तीय अनुप्रयोगों के साथ काम करने वाले जावा (प्रोग्रामिंग भाषा) डेवलपर्स को मौद्रिक मूल्यों के अंतर्निहित समर्थन से लाभ हो सकता है। पारंपरिक पाठ-आधारित भाषाएँ पाठ अस्पष्टता समस्याओं के अधीन हैं जो ऐसे एक्सटेंशन को समस्याग्रस्त बनाती हैं।

एमपीएस रचनायोग्य भाषा परिभाषाओं का समर्थन करता है। इसका मतलब है कि भाषाओं को बढ़ाया जा सकता है, और एम्बेड किया जा सकता है, और इन एक्सटेंशन का उपयोग किया जा सकता है, और एमपीएस में एक ही प्रोग्राम में काम करेंगे। उदाहरण के लिए, यदि जावा को संग्रहों के लिए बेहतर सिंटैक्स के साथ बढ़ाया जाता है और फिर तिथियों के लिए बेहतर सिंटैक्स के साथ बढ़ाया जाता है, तो ये एक्सटेंशन एक साथ अच्छी तरह से काम करेंगे।

एमपीएस सीधे अमूर्त सिंटैक्स ट्री के साथ काम करके व्याकरण की अस्पष्टता के मुद्दों को हल करता है। ऐसे पेड़ को संपादित करने के लिए, एक टेक्स्ट-जैसे प्रोजेक्शनल संपादक का उपयोग किया जाता है।[5][6]

पुन: प्रयोज्य भाषा अवसंरचना

एमपीएस एक पुन: प्रयोज्य भाषा अवसंरचना प्रदान करता है जिसे भाषा परिभाषा भाषाओं के साथ कॉन्फ़िगर किया गया है। एमपीएस स्वचालित रूप से कई आईडीई सेवाएँ भी प्रदान करता है: संपादक, स्वत: पूर्ण, उपयोग ढूँढना, आदि।

मौजूदा भाषाएँ

  • बेस लैंग्वेज - 99% जावा (प्रोग्रामिंग लैंग्वेज) को एमपीएस के साथ पुनः कार्यान्वित किया गया। इस भाषा के बहुत सारे विस्तार हैं
    • संग्रह भाषा
    • दिनांक भाषा
    • भाषा को बंद करता है
    • नियमित अभिव्यक्ति भाषा
  • भाषा परिभाषा भाषाएँ - ये भाषाएँ स्वयं के साथ कार्यान्वित की जाती हैं, अर्थात बूटस्ट्रैपिंग

एमपीएस अनुप्रयोग

Mbeddr

mbeddr MPS पर आधारित एक एम्बेडेड विकास प्रणाली है। इसमें एम्बेडेड विकास के अनुरूप भाषाएँ हैं और औपचारिक तरीके:[7]

  • कोर सी भाषा
  • अवयव
  • भौतिक इकाइयाँ
  • राज्य मशीनें

यूट्रैक

अक्टूबर 2009 में, JetBrains ने YouTrack बग ट्रैकिंग सिस्टम जारी किया - MPS के साथ विकसित पहला व्यावसायिक सॉफ़्टवेयर उत्पाद।[8]

Realaxy संपादक

अप्रैल 2010 में, रियलैक्सी एक्शनस्क्रिप्ट संपादक बीटा जारी किया गया था, जो एमपीएस प्लेटफॉर्म पर आधारित पहला वाणिज्यिक आईडीई था।

लोग

PEoPLE एमपीएस में साकार सॉफ्टवेयर उत्पाद लाइन इंजीनियरिंग के लिए एक उपकरण है।[9]

जीडीएफ (गेमिफिकेशन डिजाइन फ्रेमवर्क)

GDF गेमफुल एप्लिकेशन को डिजाइन और तैनात करने के लिए एक रूपरेखा है। जीडीएफ में डोमेन-विशिष्ट भाषाएं शामिल हैं जो एप्लिकेशन परिभाषाओं के चरणबद्ध परिशोधन की अनुमति देती हैं, जो गेमिफ़िकेशन इंजन पर चलने वाले कार्यान्वयन कोड की ओर अमूर्तता के उच्च स्तर से होती हैं।[10] जेटब्रेन्स से जीडीएफ के केस स्टडी के अनुसार,[11] एमपीएस को तीन मुख्य कारणों से चुना गया था: पाठ-आधारित डीएसएल प्रदान करने की आवश्यकता, अमूर्त परतों के बीच स्थिरता प्रबंधन को संदेश देने वाले भाषा विस्तार तंत्र की उपलब्धता, और कार्यान्वयन कोड को स्वचालित रूप से प्राप्त करने के लिए जेनरेटर का प्रावधान।

लाइसेंसिंग

एमपीएस स्रोत कोड अपाचे लाइसेंस के तहत जारी किया गया है।

यह भी देखें

संदर्भ

  1. "What is MPS?". अपने स्वयं के डीएसएल डिज़ाइन करें
  2. Martin Fowler. "Language Workbenches: The Killer-App for Domain Specific Languages?".
  3. Martin Fowler. सॉफ्टवेयर.html "इरादतन सॉफ्टवेयर". {{cite web}}: Check |url= value (help)
  4. Fabien Campagne (2014). "The MPS Language Workbench: Volume I."
  5. Srini Penchikala. "जेटब्रेन मेटा प्रोग्रामिंग सिस्टम भाषा उन्मुख प्रोग्रामिंग और डीएसएल का समर्थन करता है".
  6. Sergey Dmitriev. "Language Oriented Programming: The Next Programming Paradigm".
  7. "mbeddr आधिकारिक साइट".
  8. Charles Humble (2009-10-15). "भाषा बदले बिना जावा का विकास".
  9. "PEoPL | Projectional Editing of Product Lines". peopl.de (in English). Retrieved 2017-06-19.
  10. Bucchiarone, Antonio; Cicchetti, Antonio; Marconi, Annapaola (September 2019). "गेमफुल सिस्टम को डिजाइन और तैनात करने के लिए बहु-स्तरीय मॉडलिंग का उपयोग करना". 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS): 34–44. doi:10.1109/MODELS.2019.00-17. ISBN 978-1-7281-2536-7. S2CID 208206029.
  11. "एमपीएस और जीडीएफ केस स्टडी" (PDF).


बाहरी संबंध