Skip to main content

Zana ya muundo ya Whale

Muhtasari

Whale ni zana ya muundo ya kipekee kwa lugha ya programu ya Wave. Whale inasimamia mchakato mzima wa kuchanganua, kuboresha, na kubadili msimbo chanzo ulioandikwa kwa Wave kuwa binari kwa jukwaa lengwa. Zana hii ya muundo imeundwa mahsusi kwa lugha ya Wave na haizingatii msaada wa lugha zingine au ushirikiano wa zana za nje.

Malengo ya muundo

Malengo makuu ya muundo wa Whale ni kama yafuatayo:

  • Msaada wa kipekee wa Wave: Whale inasaidia lugha ya Wave pekee na haizingatii ushirikiano na lugha zingine.
  • Muundo wa kidhibiti: Kila kipengele kinaundwa kama moduli huru, inaweza kuongezwa au kuondolewa inapohitajika.
  • Matumizi ya IR huru: Whale haitumii IR ya nje kama LLVM IR lakini inalenga kufafanua maonyesho ya kati huru.
  • Msaada wa jukwaa lengwa nyingi: Inaruhusu kujenga kwa majukwaa tofauti bila kujali mfumo na usanifu wa vifaa.
  • Udhibiti wa kina: Mchakato mzima wa muundo unapangiliwa ili mtengenezaji aweze kuudhibiti kwa undani.
  • Kuondolewa kwa utegemezi wa nje: Whale hailali kwa wakati wa utekelezaji wa nje wa C/C++ au kiunga.

Msaada wa lengwa

Whale inalenga kutoa msaada wa mazingira yafuatayo ya lengwa:

  • Mfumo wa uendeshaji:
    • Linux
    • Windows
    • macOS
    • UEFI (isipokuwa BIOS)
    • WaveOS (mfumo wa uendeshaji wa pekee)
  • Muundo:
    • x86_64 (AMD64)
    • ARM64
    • Nyingine zinaweza kupanuliwa kupitia kuongeza moduli

Muunganiko wa Nje (FFI)

Whale imeundwa kiufundi kusaidia FFI (Makala ya Kazi ya Kigeni), lakini kwa mujibu wa falsafa ya Wave, kuunganisha na lugha za nje haipendekezwi na haijapewa kimkakati. Wave imeundwa ili kutekeleza kazi zote ndani ya lugha yake yenyewe.

Upanuzi

Whale inaweza kupanuliwa kwa njia zifuatazo:

  • Kuongeza moduli kwa mfumo mpya wa uendeshaji au muundo
  • Kuweka kanuni za uboreshaji za kimteja
  • Kubinafsisha mipangilio ya wasifu wa ujenzi na wasimamizi
  • Kufafanua umbizo la utekelezaji wa ndani