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
