रोसलिन (संकलक)

.NET कम्पाइलर प्लेटफॉर्म, जिसे इसके कोडनेम Roslyn से भी जाना जाता है, सी शार्प (प्रोग्रामिंग लैंग्वेज) | सी# और माइक्रोसॉफ्ट की विजुअल बेसिक (.NET) (VB.NET) भाषाओं के लिए खुला स्रोत सॉफ्टवेयर  | ओपन-सोर्स  संकलक  और  कोड विश्लेषण  एपीआई का एक सेट है। परियोजना में विशेष रूप से स्व-होस्टिंग (संकलक)कंपाइलर) शामिल हैं। C# और VB.NET कंपाइलर्स के सेल्फ-होस्टिंग संस्करण - स्वयं भाषाओं में लिखे गए कंपाइलर। कंपाइलर पारंपरिक कमांड-लाइन प्रोग्राम के माध्यम से उपलब्ध हैं, लेकिन एपीआई के रूप में भी .NET कोड के भीतर मूल रूप से उपलब्ध हैं। रोसलिन कोड के सिंटैक्टिक ( शाब्दिक विश्लेषण ) विश्लेषण, सिमेंटिक एनालिसिस, सामान्य मध्यवर्ती भाषा  के डायनामिक कंपाइलेशन और कोड एमिशन के लिए मॉड्यूल को उजागर करता है।

विशेषताएं
रोज़लिन की विशेषताओं में शामिल हैं:
 * सी शार्प (प्रोग्रामिंग लैंग्वेज) के लिए कंपाइलर | सी # और विजुअल बेसिक (.NET) भाषाओं को एपीआई के माध्यम से सेवाओं के रूप में उजागर किया गया।
 * कोड विश्लेषण और पुनर्रचना के लिए एपीआई।

इतिहास
रोसलिन का कोड नाम सबसे पहले एरिक लिपर्ट (एक पूर्व माइक्रोसॉफ्ट इंजीनियर) द्वारा लिखा गया था ) पोस्ट में जिसे उन्होंने 2010 में एक नई परियोजना के लिए डेवलपर्स को नियुक्त करने के लिए प्रकाशित किया था। उन्होंने पहले कहा कि नाम की उत्पत्ति रोसलिन, वाशिंगटन के कारण हुई थी, लेकिन बाद में पोस्ट में उन्होंने अपने कार्यालय के उत्तरी प्रदर्शन के बारे में विडंबना की बात की; रोसलिन शहर उन जगहों में से एक था जहां टेलीविजन श्रृंखला नॉर्दर्न एक्सपोज़र  को फिल्माया गया था। Microsoft ने अक्टूबर 2011 में सामुदायिक प्रौद्योगिकी पूर्वावलोकन#बीटा (CTP) को सार्वजनिक डाउनलोड के लिए उपलब्ध कराया। इसे Visual Studio 2010 SP1 के विस्तार के रूप में स्थापित किया गया। CTP को सितंबर 2012 में अपडेट किया गया था जून 2012 और अक्टूबर 2011 में पेश किए गए रोसलिन एपीआई में कई अपडेट शामिल करने के लिए सीटीपी, जिसमें :wikt:ब्रेकिंग चेंज भी शामिल है। जबकि जून 2012 सीटीपी एपीआई कंपाइलर्स के लिए पूर्ण है, सी # और वीबी.नेट भाषाओं के लिए सभी सुविधाओं को लागू नहीं किया गया था। अप्रैल 2014 में सैन फ्रांसिस्को में बिल्ड (डेवलपर सम्मेलन)  सम्मेलन में, माइक्रोसॉफ्ट ने रोसलिन प्रोजेक्ट को ओपन-सोर्स बनाया और विजुअल स्टूडियो 2013 के लिए भाषा एकीकरण का पूर्वावलोकन जारी किया। 3 अप्रैल 2014 तक, रोसलिन अपाचे लाइसेंस 2.0 के तहत है। परियोजना को नए स्थापित .NET फाउंडेशन के नेतृत्व में प्रभावी रूप से स्थानांतरित किया गया था। उसी सम्मेलन में, Xamarin ने घोषणा की कि वे Xamarin स्टूडियो में नए कंपाइलर्स और टूल्स को एकीकृत करने पर काम कर रहे हैं। इस रिलीज में कंपाइलर फीचर-पूर्ण नहीं थे। प्रत्येक कंपाइलर में ऐसी विशेषताएं हैं जो आने वाले भाषा संस्करणों (C# 6 और Visual Basic.NET 14) के लिए नियोजित हैं। एपीआई NuGet  पैकेज मैनेजर के माध्यम से भी उपलब्ध हैं।

रोज़लिन का पहला सॉफ़्टवेयर रिलीज़ जीवन चक्र #RTM (RTM) विजुअल स्टूडियो 2015 के साथ था। Roslyn वर्तमान में केवल VB और C# का समर्थन करता है, और संकलक उनकी संबंधित भाषाओं में लिखे गए थे। जनवरी 2015 में, Microsoft ने Roslyn स्रोत कोड को CodePlex से GitHub में स्थानांतरित कर दिया।

आर्किटेक्चर
परंपरागत रूप से .NET कंपाइलर एप्लिकेशन डेवलपर्स के लिए एक ब्लैक बॉक्स रहे हैं। आधुनिक एकीकृत विकास वातावरण में स्रोत कोड विश्लेषण की बढ़ती जटिलता और मांगों के साथ, हालांकि, कंपाइलर्स को अप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई) को उजागर करने की आवश्यकता है जो डेवलपर्स को स्रोत कोड के शाब्दिक और वाक्यात्मक संरचना विश्लेषण जैसे संकलन के चरणों को सीधे करने में मदद करेगा। रोजलिन को शुरू से ही इसी इरादे से डिजाइन किया गया था। यह विशेष रूप से स्रोत कोड विश्लेषण के लिए डिज़ाइन किए गए उपकरणों के विकास में बाधा को कम करता है। रोसलिन के एपीआई तीन प्रकार के होते हैं: फीचर एपीआई, वर्क-स्पेस एपीआई और कंपाइलर एपीआई। फ़ीचर एपीआई स्रोत कोड टूल डेवलपर्स को कोड रीफैक्टरिंग और फिक्स करने की अनुमति देते हैं। वर्क-स्पेस एपीआई प्लगइन डेवलपर्स को विशेष रूप से एकीकृत विकास वातावरण (आईडीई) जैसे विजुअल स्टूडियो जैसे एक चर या कोड स्वरूपण के संदर्भों को खोजने के लिए आवश्यक कार्य करने की अनुमति देता है। कंपाइलर एपीआई सिंटैक्स ट्री और बाइंडिंग फ्लो विश्लेषण करने के लिए प्रत्यक्ष कॉल को उजागर करके स्रोत कोड के और भी अधिक परिष्कृत विश्लेषण की अनुमति देते हैं। सामान्य भाषा अवसंरचना (सीएलआई) जैसे .NET कोर के ओपन-सोर्स कार्यान्वयन का उपयोग करते हुए, रोसलिन लिनक्स, ओएस एक्स और खिड़कियाँ  में सीएलआई कोड चलाने में सक्षम प्लेटफॉर्म-एग्नोस्टिक तरीके से संकलन करने में सक्षम होगा।

यह भी देखें

 * कंपाइलर्स की सूची
 * माइक्रोसॉफ्ट फीनिक्स

बाहरी संबंध

 * Introducing the Microsoft “Roslyn” CTP on the C# Frequently Asked Questions MSDN blog
 * Throwing the Big Switch on Roslyn on the C# Frequently Asked Questions MSDN blog
 * Throwing the Big Switch on Roslyn on the C# Frequently Asked Questions MSDN blog