QBE 1.3

Izšel je nov QBE - univerzalni backend za ustvarjanje prevajalnikov.

QBE se od najbližjega analoga (LLVM) razlikuje po bistveno preprostejši zbirki kode, višji hitrosti delovanja in zbiranja (sam QBE se izvorno kodira v manj kot sekundi na Core2Duo) ter bolj prijaznem API-ju za razvijalce, vključno z enostavnejšim vmesnim jezika (IL). Kljub temu QBE ni namenjen ustvarjanju industrijskih prevajalnikov z visokimi zahtevami glede kakovosti generirane kode, temveč je dobro primeren za hobistične projekte in prototipe.

Podprta je generacija strojne kode za arhitekture x86_64, AArch64 in RISC-V (rv64). Med projekti, ki uporabljajo QBE, lahko izpostavimo prevajalnike jezika C cproc, SCC, PACC ter prevajalnike jezikov Hare in Antimony. QBE se uporablja tudi v okviru tečaja razvoja prevajalnikov na Inštitutu za sistemsko programiranje RAN po imenu V.P. Ivannikov.

Med spremembami v novi izdaji:

  • Dodana je podpora za Windows ABI;
  • Nove optimizacije, ki pospešujejo generirano kodo. Povprečno, v testih, delovanje kode iz QBE predstavlja približno 63% delovanja kode iz GCC;
  • Izboljšana je podpora za generiranje PIE (koda, neodvisna od položaja).

Koda je napisana v jeziku C (C99) in je na voljo pod MIT licenco.

Izvor: linux.org.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster