
Разработчики представили новую версию QBE — компактного и универсального бэкенда, предназначенного для создания компиляторов.
Ключевое отличие QBE от широко известного аналога LLVM заключается в лаконичности кодовой базы. Проект демонстрирует впечатляющую скорость компиляции: исходный код самого QBE собирается менее чем за одну секунду на процессоре архитектуры Core2Duo. Инструмент предлагает разработчикам интуитивно понятный API и промежуточный язык (IL) с низким порогом вхождения. Хотя проект не претендует на создание «промышленных» компиляторов с экстремальными требованиями к оптимизации кода, он является отличным решением для прототипирования и реализации авторских языков программирования.
На текущий момент QBE обеспечивает генерацию машинного кода для архитектур x86_64, AArch64 и RISC-V (rv64). Экосистему проекта составляют такие инструменты, как компиляторы языка Си cproc, SCC и PACC, а также реализации языков Hare и Antimony. Кроме того, QBE нашел применение в образовательной сфере: он используется в курсе разработки компиляторов в ИСП РАН им. В.П. Иванникова.
Что нового в версии 1.3
- Реализована полноценная поддержка ABI для операционной системы Windows.
- Внедрен ряд новых оптимизаций, повышающих эффективность работы итогового кода. В бенчмарках производительность скомпилированных с помощью QBE программ достигает 63% от показателей аналогичного кода, собранного GCC.
- Оптимизирована генерация позиционно-независимого кода (PIE).
Инструментарий написан на языке Си (стандарт C99) и распространяется на условиях свободной лицензии MIT.






