Next Generation Compiler Collection
Data types:
Source File
AST (Abstract Syntax Tree)
Intermediary (See: NgccIntermediary)
Machine code
Object File
C Flow:
C Source
AST
Intermediary
Assembler Source
Machine Code
Object File
Python Flow:
Python Source
AST
Intermediary
C Source
C Decompilation Flow:
Object File
Machine Code
Intermediary
C Source
Goals:
Become a viable replacement for the existing GCC (Gnu Compiler Collection)
Allow quick turnaround on new optimizations, even project-specific
Promote experimentation with new compilation and decompilation methods
Emphasize better output and ignore speed of compilation
Become faster both in compile-time and run-time than competing compilers through self-hosting and optimizing