Skip to main content

Whale கம்பைலர் டூல்செயின்

கண்ணோட்டம்

Whale என்பது Wave நிரலாக்க மொழிக்கான பிரத்யேக கம்பைலர் டூல்செயின் ஆகும். Wave உடன் எழுதப்பட்ட மூலக் குறியீட்டை பகுப்பாய்வு, மேம்படுத்துதல் மற்றும் இலக்கு தளத்திற்கான பைனரிகளாக மாற்றுவதற்கான முழு செயல்முறைக்கும் Whale பொறுப்பாகும். இந்த கருவித்தொகுப்பு Wave மொழிக்காக பிரத்தியேகமாக வடிவமைக்கப்பட்டுள்ளது மற்றும் பிற மொழிகளுக்கான ஆதரவையோ அல்லது வெளிப்புற கருவித்தொகுப்புகளுடன் ஒருங்கிணைப்பதையோ கருத்தில் கொள்ளாது.

வடிவமைப்பு இலக்குகள்

Whale இன் முக்கிய வடிவமைப்பு இலக்குகள்:

  • Wave-மட்டும் ஆதரவு: Whale Wave மொழியை மட்டுமே ஆதரிக்கிறது மற்றும் பிற மொழிகளுடன் ஒருங்கிணைப்பதைக் கருத்தில் கொள்ளாது.
  • மட்டு அமைப்பு: ஒவ்வொரு செயல்பாடும் ஒரு சுயாதீன தொகுதியைக் கொண்டுள்ளது, இது தேவைக்கேற்ப சேர்க்கப்படலாம் அல்லது அகற்றப்படலாம்.
  • சுயாதீனமான IR ஐப் பயன்படுத்தவும்: LLVM போன்ற தற்போதைய வெளிப்புற IR ஐப் பயன்படுத்துவதை விட, Whale அதன் சொந்த இடைநிலை பிரதிநிதித்துவத்தை வரையறுக்கிறது,
  • பல இலக்கு இயங்குதள ஆதரவு: இயக்க முறைமை மற்றும் வன்பொருள் கட்டமைப்பைப் பொருட்படுத்தாமல் பல்வேறு சூழல்களுக்கு எதிராக உருவாக்கவும்.
  • துல்லியமான கட்டுப்பாடு: டெவலப்பர்கள் முழு தொகுப்பு செயல்முறையையும் விரிவாகக் கட்டுப்படுத்தும் வகையில் இது கட்டமைக்கப்பட்டுள்ளது.
  • வெளிப்புற சார்புகளை அகற்றுதல்: Whale வெளிப்புற C/C++ இயக்க நேரங்கள் அல்லது கம்பைலர்களைப் பொறுத்தது அல்ல.

இலக்கு ஆதரவு

Whale பின்வரும் இலக்கு சூழல்களை ஆதரிப்பதை நோக்கமாகக் கொண்டுள்ளது:

  • இயக்க முறைமை:
    • Linux
    • Windows
    • macOS
    • UEFI (BIOS தவிர)
    • WaveOS (சுய-OS)
  • கட்டிடக்கலை:
    • x86_64 (AMD64)
    • ARM64
    • மற்றவற்றை தொகுதிகளைச் சேர்ப்பதன் மூலம் விரிவாக்கலாம்

வெளிப்புற இணைப்பு (FFI)

Whale தொழில்நுட்ப ரீதியாக FFI (வெளிநாட்டு செயல்பாட்டு இடைமுகம்) ஆதரிக்க வடிவமைக்கப்பட்டுள்ளது. Wave இன் தத்துவத்தின் காரணமாக, வெளிப்புற மொழிகளுடன் ஒருங்கிணைப்பு பரிந்துரைக்கப்படவில்லை மற்றும் தரநிலையாக வழங்கப்படவில்லை. Wave அனைத்து செயல்பாடுகளையும் அதன் சொந்த மொழியில் செயல்படுத்தும் வகையில் வடிவமைக்கப்பட்டுள்ளது.

அளவிடுதல்

Whale பின்வரும் வழிகளில் நீட்டிக்கப்படலாம்:

  • புதிய இயக்க முறைமைகள் அல்லது கட்டமைப்புகளுக்கான தொகுதிகளைச் சேர்க்கவும்
  • தனிப்பயன் தேர்வுமுறை அல்காரிதங்களைச் செருகுகிறது
  • உருவாக்க சுயவிவரங்கள் மற்றும் இணைப்பான் அமைப்புகளைத் தனிப்பயனாக்குதல்
  • உங்கள் சொந்த இயங்கக்கூடிய வடிவமைப்பை வரையறுக்கவும்