Whale የማጠናከሪያ መሣሪያ ሰንሰለት
አጠቃላይ እይታ
Whale ለWave ፕሮግራሚንግ ቋንቋ ራሱን የቻለ የማጠናከሪያ መሣሪያ ሰንሰለት ነው። Whale በWave የተፃፈውን የምንጭ ኮድን ለዒ ላማው መድረክ የመተንተን፣ የማሻሻል እና የመቀየር ሂደት ለጠቅላላው ሂደት ሃላፊ ነው። ይህ የመሳሪያ ሰንሰለት የተነደፈው ለWave ቋንቋ ብቻ ነው እና ለሌሎች ቋንቋዎች ድጋፍን ወይም ከውጭ የመሳሪያ ሰንሰለት ጋር መቀላቀልን ግምት ውስጥ አያስገባም።
የንድፍ ግቦች
የWhale ዋና ዲዛይን ግቦች፡-
- የWave-ብቻ ድጋፍ፡ Whale Wave ቋንቋን ብቻ ነው የሚደግፈው እና ከሌሎች ቋንቋዎች ጋር መቀላቀልን አያስብም።
- ሞጁል መዋቅር፡ እያንዳንዱ ተግባር ራሱን የቻለ ሞጁል አለው፣ እንደ አስፈላጊነቱ ሊጨመር ወይም ሊወገድ ይችላል።
- ነፃ IR ይጠቀሙ፡ Whale እንደ LLVM ያሉ ውጫዊ IR ከመጠቀም ይልቅ የራሱን መካከለኛ ውክልና ይገልጻል።
- ባለብዙ ዒላማ መድረክ ድጋፍ፡ ስርዓተ ክወና እና የሃርድዌር አርክቴክቸር ምንም ይሁን ምን ከተለያዩ አካባቢዎች ጋር ይገንቡ።
- ትክክለኛ ቁጥጥር፡ ገንቢዎች አጠቃላይ የማጠናቀር ሂደቱን በዝርዝር መቆጣጠር እንዲችሉ የተዋቀረ ነው።
- ውጫዊ ጥገኞችን ማስወገድ፡ Whale በውጫዊ C/C++ runtimes ወይም compiler ላይ የተመካ አይደለም።
የዒላማ ድጋፍ
Whale የሚከተሉትን ኢላማ አካባቢዎችን ለመደገፍ ያለመ ነው።
- ስርዓተ ክወና፡-
- Linux
- Windows
- macOS
- UEFI (BIOS ሳይጨምር)
- WaveOS (ራስ-OS)
- አርክቴክቸር፡
- x86_64 (AMD64)
- ARM64
- ሌሎች ሞጁሎችን በማከል ሊሰፉ ይችላሉ
ውጫዊ ትስስር (FFI)
Whale FFI (የውጭ ተግባር በይነገጽ)ን ለመደገፍ በቴክኒካል የተነደፈ ነው። በWave ፍልስፍና ምክንያት ከውጭ ቋንቋዎች ጋር መቀላቀል አይመከርም እና እንደ መደበኛ አልቀረበም። Wave የተነደፈው ሁሉም ተግባራት በራሱ ቋንቋ እንዲተገበሩ ነው።
መስፋፋት
Whale በሚከተሉት መንገዶች ሊራዘም ይችላል፡
- ለአዳዲስ ስርዓተ ክወናዎች ወይም አርክቴክቸር ሞጁሎችን ያክሉ
- ብጁ የማመቻቸት ስልተ ቀመሮችን ማስገባት
- የግንባታ መገለጫዎችን እና የአገናኝ ቅንብሮችን ማበጀት።
- የእራስዎን ሊተገበር የሚችል ቅርጸት ይግለጹ
