{{>head}}
$ git clone https://compilers.ispras.ru/git/qbe.git
$ cd qbe
$ make && make install DESTDIR=/path/to/install
Результатом сборки является исполняемый файл qbe
(qbe.exe
), представляющий интерфейс командной строки
к QBE, а также библиотека libqbe.a
, предоставляющая
программный интерфейс.
$ qbe -h
qbe [OPTIONS] {file.ssa, -}
-h prints this help
-o file output to file
-t <target> generate for a target among:
amd64_sysv, arm64
-G {e,m} generate gas (e) or osx (m) asm
-d <flags> dump debug information
Типичное использование утилиты заключается в компиляции файла
с промежуточным представлением в файл на языке ассемблера:
$ qbe my-loop.il -o my-loop.s
Для компиляции ассемблерного файла в объектный или исполняемый файл
можно использовать компиляторы GCC и Clang:
$ cc my-loop.s
Команды компиляции и запуска можно объединить в одну:
$ qbe my-loop.il | cc -xassembler - -o exe && ./exe
parse
и printfn
для чтения и записи QBE IL в текстовом формате.
Fn
,
содержащий указатель на entry-блок
Fn::start
.
freeall
для освобождения памяти.