I made a Linux C Compiler. It is a software compiler, it compiles C code into GAS assembly language.
I followed ISO C17 standard to make the compiler following the rules of the standard.
I also followed system V ABI calling conventions. You can call other libraries compiled with other compilers and call them in your code.
I also followed Intel x64 ISA for writing assembly code.
It has dynamic memory allocation. You can use malloc, free, calloc, realloc in your programs and the compiler will handle void pointers and void types.
The compiler supports static memory allocation, automatic memory allocation and dynamic memory allocation.
I tested my compiler against C tests for making sure it works, the testing is incremental so it works with past tests as well.
No comments:
Post a Comment