MazuCC adalah kompiler C minimalis dengan pembuatan kode x86_64. Hal ini dimaksudkan untuk mendukung sebagian fitur bahasa C99 sambil menjaga kode sekecil dan sesederhana mungkin.
Jalankan make untuk membangun:
$ make
MazuCC hadir dengan pengujian unit. Untuk menjalankan tes, berikan "centang" sebagai argumen:
$ make check
MazuCC diketahui bekerja pada GNU/Linux dan macOS.
Gunakan MazuCC untuk mengkompilasi sumber C:
$ ./mzcc sample/nqueen.c
Alternatifnya, MazuCC menerima aliran dari input standar. Bentuk yang setara dengan perintah di atas adalah:
$ cat sample/nqueen.c | ./mzcc -
Anda akan mendapatkan rakitan x86_64 yang dihasilkan dalam sintaks AT&T. Outputnya dapat dirakit dan dihubungkan ke dalam executable yang valid:
$ ./mzcc -o sample/nqueen.s sample/nqueen.c
$ gcc -no-pie -o sample/nqueen sample/nqueen.s
Jika MazuCC dikompilasi dan dijalankan di macOS, argumen di atas -no-pie
harus dihilangkan.
Output referensi dari sample/nqueen
yang dikompilasi MazuCC :
Q . . . . . . .
. . . . Q . . .
. . . . . . . Q
. . . . . Q . .
. . Q . . . . .
. . . . . . Q .
. Q . . . . . .
. . . Q . . . .
Alternatifnya, Anda dapat membuang pohon sintaksis abstrak internal:
echo ' struct {int x; char y; struct { int t; } z; } a; ' | ./mzcc --dump-ast -
Output yang diharapkan dalam bentuk ekspresi S:
(decl (struct (int)
(char)
((struct (int)))) a)
MazuCC sangat terinspirasi oleh 8cc.
MazuCC dapat didistribusikan ulang secara bebas di bawah lisensi klausul BSD 2. Penggunaan kode sumber ini diatur oleh lisensi bergaya BSD yang dapat ditemukan di file LICENSE.