Skip to content
/ arocc Public
forked from Vexu/arocc

A C compiler written in Zig.

License

Notifications You must be signed in to change notification settings

ehaas/arocc

This branch is 1 commit ahead of, 313 commits behind Vexu/arocc:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7957a5f · Dec 2, 2023
Sep 30, 2023
Nov 23, 2023
Nov 14, 2023
Nov 26, 2023
Dec 2, 2023
Nov 27, 2023
Jan 16, 2023
Nov 9, 2021
Feb 21, 2021
Nov 8, 2023
Nov 26, 2023
Nov 23, 2023

Repository files navigation

Aro

Aro

A C compiler with the goal of providing fast compilation and low memory usage with good diagnostics.

Aro is included as an alternative C frontend in the Zig compiler for translate-c and eventually compiling C files by translating them to Zig first. Aro is developed in https://github.com/Vexu/arocc and the Zig dependency is updated from there when needed.

Currently most of standard C is supported up to C23 and as are many of the common extensions from GNU, MSVC, and Clang

Basic code generation is supported for x86-64 linux and can produce a valid hello world:

$ cat hello.c
extern int printf(const char *restrict fmt, ...);
int main(void) {
    printf("Hello, world!\n");
    return 0;
}
$ zig build && ./zig-out/bin/arocc hello.c -o hello
$ ./hello
Hello, world!

About

A C compiler written in Zig.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Zig 83.8%
  • C 15.0%
  • Other 1.2%