जेटब्रेन्स एमपीएस: Difference between revisions
Line 1: | Line 1: | ||
{{Infobox software | {{Infobox software | ||
| name = | | name = मेटा प्रोग्रामिंग सिस्टम | ||
| logo = File:MPS logo.svg | | logo = File:MPS logo.svg | ||
| logo size = 200px | | logo size = 200px | ||
Line 10: | Line 10: | ||
| latest preview version = | | latest preview version = | ||
| latest preview date = | | latest preview date = | ||
| operating system = [[ | | operating system = [[क्रॉस-प्लेटफॉर्म]] | ||
| programming language = | | programming language = | ||
| genre = | | genre = | ||
Line 26: | Line 26: | ||
एमपीएस सीधे अमूर्त सिंटैक्स ट्री के साथ काम करके व्याकरण की अस्पष्टता के मुद्दों को हल करता है। ऐसे पेड़ को संपादित करने के लिए, एक टेक्स्ट-जैसे प्रोजेक्शनल संपादक का उपयोग किया जाता है।<ref>{{cite web|title=जेटब्रेन मेटा प्रोग्रामिंग सिस्टम भाषा उन्मुख प्रोग्रामिंग और डीएसएल का समर्थन करता है|url=http://www.infoq.com/news/2008/12/jetbrains-mps|author=Srini Penchikala}}</ref><ref>{{cite web|title=Language Oriented Programming: The Next Programming Paradigm|url=http://www.onboard.jetbrains.com/is1/articles/04/10/lop/|author=Sergey Dmitriev}}</ref> | एमपीएस सीधे अमूर्त सिंटैक्स ट्री के साथ काम करके व्याकरण की अस्पष्टता के मुद्दों को हल करता है। ऐसे पेड़ को संपादित करने के लिए, एक टेक्स्ट-जैसे प्रोजेक्शनल संपादक का उपयोग किया जाता है।<ref>{{cite web|title=जेटब्रेन मेटा प्रोग्रामिंग सिस्टम भाषा उन्मुख प्रोग्रामिंग और डीएसएल का समर्थन करता है|url=http://www.infoq.com/news/2008/12/jetbrains-mps|author=Srini Penchikala}}</ref><ref>{{cite web|title=Language Oriented Programming: The Next Programming Paradigm|url=http://www.onboard.jetbrains.com/is1/articles/04/10/lop/|author=Sergey Dmitriev}}</ref> | ||
==पुन: प्रयोज्य भाषा अवसंरचना== | ==पुन: प्रयोज्य भाषा अवसंरचना== | ||
एमपीएस एक पुन: प्रयोज्य भाषा अवसंरचना प्रदान करता है जिसे भाषा परिभाषा भाषाओं के साथ कॉन्फ़िगर किया गया है। एमपीएस | एमपीएस एक पुन: प्रयोज्य भाषा अवसंरचना प्रदान करता है जिसे भाषा परिभाषा भाषाओं के साथ कॉन्फ़िगर किया गया है। एमपीएस अनेक आईडीई सेवाएं स्वतः संपादक, कोड समापन, उपयोग खोजना आदि भी प्रदान करता है। | ||
==उपस्थित भाषाएँ== | ==उपस्थित भाषाएँ== | ||
Line 56: | Line 56: | ||
===पीईओपीएल=== | ===पीईओपीएल=== | ||
पीईओपीएल एमपीएस में संपादित सॉफ्टवेयर उत्पाद लाइन अभियान्त्रिकी के लिए एक उपकरण है।<ref>{{Cite web|url=https://peopl.de/|title=PEoPL {{!}} Projectional Editing of Product Lines|website=peopl.de|language=en-US|access-date=2017-06-19}}</ref> | |||
===जीडीएफ (गेमिफिकेशन डिजाइन फ्रेमवर्क)=== | ===जीडीएफ (गेमिफिकेशन डिजाइन फ्रेमवर्क)=== | ||
[https://github.com/antbucc/GDF GDF] गेमफुल एप्लिकेशन को | [https://github.com/antbucc/GDF GDF] गेमफुल एप्लिकेशन को रूपित और परिनियोजित करने के लिए एक रूपरेखा है। जीडीएफ में डोमेन-विशिष्ट भाषाएं सम्मिलित हैं जो गेमिफिकेशन इंजन पर चलने वाले कार्यान्वयन कोड की दिशा में अमूर्तता के उच्च स्तर से एप्लिकेशन परिभाषाओं के चरणबद्ध परिशोधन की अनुमति देती हैं।<ref>{{Cite journal |last1=Bucchiarone |first1=Antonio |last2=Cicchetti |first2=Antonio |last3=Marconi |first3=Annapaola |date=September 2019 |title=गेमफुल सिस्टम को डिजाइन और तैनात करने के लिए बहु-स्तरीय मॉडलिंग का उपयोग करना|url=https://ieeexplore.ieee.org/document/8906924 |journal=2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS) |pages=34–44 |doi=10.1109/MODELS.2019.00-17|isbn=978-1-7281-2536-7 |s2cid=208206029 }}</ref> | ||
जेटब्रेन्स से जीडीएफ के केस स्टडी के अनुसार,<ref>{{Cite web |title=एमपीएस और जीडीएफ केस स्टडी|url=https://resources.jetbrains.com/storage/products/mps/docs/MPS-GDF-Case-Study.pdf}}</ref> एमपीएस को तीन मुख्य कारणों से चुना गया था: पाठ-आधारित डीएसएल प्रदान करने की आवश्यकता, अमूर्त परतों के बीच स्थिरता प्रबंधन को संदेश देने वाले भाषा विस्तार तंत्र की उपलब्धता, और कार्यान्वयन कोड को स्वचालित रूप से प्राप्त करने के लिए जेनरेटर का प्रावधान। | |||
'''जेटब्रेन्स से जीडीएफ के केस स्टडी के अनुसार,<ref>{{Cite web |title=एमपीएस और जीडीएफ केस स्टडी|url=https://resources.jetbrains.com/storage/products/mps/docs/MPS-GDF-Case-Study.pdf}}</ref> एमपीएस को तीन मुख्य कारणों से चुना गया था: पाठ-आधारित डीएसएल प्रदान करने की आवश्यकता, अमूर्त परतों के बीच स्थिरता प्रबंधन को संदेश देने वाले भाषा विस्तार तंत्र की उपलब्धता, और कार्यान्वयन कोड को स्वचालित रूप से प्राप्त करने के लिए जेनरेटर का प्रावधान।''' | |||
==लाइसेंसिंग== | ==लाइसेंसिंग== | ||
एमपीएस स्रोत कोड [[अपाचे लाइसेंस]] के | एमपीएस स्रोत कोड [[अपाचे लाइसेंस]] के अंतर्गत प्रस्तुत किया गया है। | ||
==यह भी देखें== | ==यह भी देखें== | ||
* [[जानबूझकर प्रोग्रामिंग]] | * [[जानबूझकर प्रोग्रामिंग|सुविचारित प्रोग्रामिंग]] | ||
* [[ Xtext ]] | * [[ Xtext | Xटेक्स्ट]] | ||
==संदर्भ== | ==संदर्भ== |
Revision as of 20:18, 3 July 2023
Stable release | ()
|
---|---|
Operating system | क्रॉस-प्लेटफॉर्म |
JetBrains MPS (मेटा प्रोग्रामिंग सिस्टम) JetBrains द्वारा विकसित एक भाषा कार्यक्षेत्र है। एमपीएस डोमेन-विशिष्ट भाषाओं (डीएसएल) को डिजाइन करने का एक उपकरण है। यह प्रक्षेपात्मक संपादन का उपयोग करता है जो उपयोगकर्ताओं को भाषा पार्सर की सीमाओं को पार करने और तालिकाओं और आरेखों जैसे डीएसएल संपादकों का निर्माण करने की अनुमति देता है।[1]
यह भाषा-उन्मुख प्रोग्रामिंग लागू करता है[citation needed]. एमपीएस ऐसी भाषाओं के लिए भाषा परिभाषा, एक भाषा कार्यक्षेत्र और एकीकृत विकास वातावरण (आईडीई) के लिए एक वातावरण है।[2][3][4]
रचना योग्य भाषाएँ
विभिन्न डोमेन के डेवलपर्स सामान्य प्रयोजन प्रोग्रामिंग भाषाओं में डोमेन-विशिष्ट भाषा एक्सटेंशन से लाभ उठा सकते हैं। उदाहरण के लिए, वित्तीय अनुप्रयोगों के साथ काम करने वाले जावा (प्रोग्रामिंग भाषा) डेवलपर्स को मौद्रिक मूल्यों के अंतर्निहित समर्थन से लाभ हो सकता है। पारंपरिक पाठ-आधारित भाषाएँ पाठ अस्पष्टता समस्याओं के अधीन हैं जो ऐसे एक्सटेंशन को समस्याग्रस्त बनाती हैं।
एमपीएस रचनायोग्य भाषा परिभाषाओं का समर्थन करता है। इसका मतलब है कि भाषाओं को बढ़ाया जा सकता है, और एम्बेड किया जा सकता है, और इन एक्सटेंशन का उपयोग किया जा सकता है, और एमपीएस में एक ही प्रोग्राम में काम करेंगे। उदाहरण के लिए, यदि जावा को संग्रहों के लिए बेहतर सिंटैक्स के साथ बढ़ाया जाता है और फिर तिथियों के लिए बेहतर सिंटैक्स के साथ बढ़ाया जाता है, तो ये एक्सटेंशन एक साथ अच्छी तरह से काम करेंगे।
एमपीएस सीधे अमूर्त सिंटैक्स ट्री के साथ काम करके व्याकरण की अस्पष्टता के मुद्दों को हल करता है। ऐसे पेड़ को संपादित करने के लिए, एक टेक्स्ट-जैसे प्रोजेक्शनल संपादक का उपयोग किया जाता है।[5][6]
पुन: प्रयोज्य भाषा अवसंरचना
एमपीएस एक पुन: प्रयोज्य भाषा अवसंरचना प्रदान करता है जिसे भाषा परिभाषा भाषाओं के साथ कॉन्फ़िगर किया गया है। एमपीएस अनेक आईडीई सेवाएं स्वतः संपादक, कोड समापन, उपयोग खोजना आदि भी प्रदान करता है।
उपस्थित भाषाएँ
- आधार भाषा - 99% जावा (प्रोग्रामिंग लैंग्वेज) को एमपीएस के साथ पुन: कार्यान्वित किया गया। इस भाषा के अधिक विस्तार (एक्स्टेन्सन) हैं
- संग्रह भाषा
- दिनांकित भाषा
- क्लोजर भाषा
- नियमित व्यंजक भाषा (रेगुलर एक्सप्रेशन लैंग्वेज)
- भाषा परिभाषा भाषाएँ - ये भाषाएँ स्वयं के साथ कार्यान्वित की जाती हैं, अर्थात बूटस्ट्रैप
- संरचना भाषा
- संपादक भाषा
- कॉन्सट्रेंट भाषा
- टाइप सिस्टम भाषा
- कोड जनरेशन (कंपाइलर) भाषा
एमपीएस अनुप्रयोग
एमबीईडीडीआर
एमबीईडीडीआर एमपीएस पर आधारित एक एम्बेडेड विकास प्रणाली है। इसमें एम्बेडेड विकास और औपचारिक विधियों के अनुरूप भाषाएँ हैं:[7]
- कोर सी भाषा
- अवयव
- भौतिक इकाइयाँ
- निर्दिष्ट मशीनें (स्टेट मशीन)
यूट्रैक
अक्टूबर वर्ष 2009 में, जेटब्रेन्स ने यूट्रैक बग ट्रैकिंग सिस्टम प्रस्तुत किया, जो एमपीएस के साथ विकसित प्रथम वाणिज्यिक सॉफ्टवेयर उत्पाद था।[8]
रियलैक्सी संपादक
अप्रैल वर्ष 2010 में, रीयलैक्सी एक्शनस्क्रिप्ट एडिटर बीटा प्रस्तुत किया गया था, जो एमपीएस प्लेटफॉर्म पर आधारित प्रथम वाणिज्यिक आईडीई था।
पीईओपीएल
पीईओपीएल एमपीएस में संपादित सॉफ्टवेयर उत्पाद लाइन अभियान्त्रिकी के लिए एक उपकरण है।[9]
जीडीएफ (गेमिफिकेशन डिजाइन फ्रेमवर्क)
GDF गेमफुल एप्लिकेशन को रूपित और परिनियोजित करने के लिए एक रूपरेखा है। जीडीएफ में डोमेन-विशिष्ट भाषाएं सम्मिलित हैं जो गेमिफिकेशन इंजन पर चलने वाले कार्यान्वयन कोड की दिशा में अमूर्तता के उच्च स्तर से एप्लिकेशन परिभाषाओं के चरणबद्ध परिशोधन की अनुमति देती हैं।[10]
जेटब्रेन्स से जीडीएफ के केस स्टडी के अनुसार,[11] एमपीएस को तीन मुख्य कारणों से चुना गया था: पाठ-आधारित डीएसएल प्रदान करने की आवश्यकता, अमूर्त परतों के बीच स्थिरता प्रबंधन को संदेश देने वाले भाषा विस्तार तंत्र की उपलब्धता, और कार्यान्वयन कोड को स्वचालित रूप से प्राप्त करने के लिए जेनरेटर का प्रावधान।
लाइसेंसिंग
एमपीएस स्रोत कोड अपाचे लाइसेंस के अंतर्गत प्रस्तुत किया गया है।
यह भी देखें
संदर्भ
- ↑ "What is MPS?".
अपने स्वयं के डीएसएल डिज़ाइन करें
- ↑ Martin Fowler. "Language Workbenches: The Killer-App for Domain Specific Languages?".
- ↑ Martin Fowler. सॉफ्टवेयर.html "इरादतन सॉफ्टवेयर".
{{cite web}}
: Check|url=
value (help) - ↑ Fabien Campagne (2014). "The MPS Language Workbench: Volume I."
- ↑ Srini Penchikala. "जेटब्रेन मेटा प्रोग्रामिंग सिस्टम भाषा उन्मुख प्रोग्रामिंग और डीएसएल का समर्थन करता है".
- ↑ Sergey Dmitriev. "Language Oriented Programming: The Next Programming Paradigm".
- ↑ "mbeddr आधिकारिक साइट".
- ↑ Charles Humble (2009-10-15). "भाषा बदले बिना जावा का विकास".
- ↑ "PEoPL | Projectional Editing of Product Lines". peopl.de (in English). Retrieved 2017-06-19.
- ↑ 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.
- ↑ "एमपीएस और जीडीएफ केस स्टडी" (PDF).