Wave + Whale एकीकृत विकास रोडमैप v2
यह दस्तावेज Wave भाषा और Whale कंपाइलर टूलचेन के एकीकृत विकास प्रक्रिया का चरण-दर-चरण रोडमैप है। Wave और Whale शुरू में अलग घटक के रूप में शुरू होते हैं लेकिन अंततः एक स्वतंत्र भाषा पारिस्थितिकी तंत्र में पूरी तरह से एकीकृत होने का लक्ष्य रखते हैं।
पूरी विकास प्रक्रिया निम्नलिखित प्रवाह का अनुसरण करती है।
pre-alpha → pre-beta → alpha → beta → rc → release
प्रत्येक चरण पिछले चरण के परिणामों पर आधारित होता है और एक बार एक चरण पूरा हो जाने के बाद पहले की संरचना में नहीं लौटने वाली एक-तरफा विकास को यथार्थ मानता है।
Pre-Beta चरण
Pre-Beta चरण का लक्ष्य Wave भाषा के फ्रंटएंड को पूरा करना और LLVM बैकएंड के आधार पर भाषा की सभी सुविधाओं को लागू करना है। इस चरण में Whale का उपयोग नहीं किया जाता है, और संकलन और निष्पादन पूरी तरह से LLVM के माध्यम से किया जाता है।
इस चरण में व्याकरण का विस्तार नहीं किया जाएगा। पहले से परिभाषित विनिर्देशों के आधार पर सभी व्याकरण तत्वों को वास्तव में कार्यशील बनाना यह चरण का मुख्य लक्ष्य है। त्रुटि संदेश की गुणवत्ता, प्रकार निरीक्षण, चर स्कोप प्रसंस्करण आदि के माध्यम से फ्रंटएंड संरचना की स्थिरता पर ध्यान केंद्रित किया जाता है।
कार्यान्वयन दायरे में चर घोषणा और आउटपुट, मौलिक संचालन शामिल हैं, और साथ ही फ़ंक्शन परिभाषा और कॉल, शर्त कथन (if / else if / else), लूप (while / break / continue) भी इस चरण में पूरे होते हैं।
साथ ही, स्वरूपित आउटपुट, स्पष्ट प्रकार निर्दिष्ट, ptr<T> प्रकार के संकेतक डिज़ाइन, array<T, N> प्रकार की सरणियों का डिज़ाइन भी शामिल है।
इस चरण में Wave कंपाइलर पूरी तरह से Rust में लिखा गया है और LLVM IR उत्पादन और AOT निष्पादन के लिए inkwell और llvm-sys का उपयोग करता है।
