All pastes #208512 Raw Edit

Unnamed

public text v1 · immutable
#208512 ·published 2006-10-18 17:45 UTC
rendered paste body
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

Crypto's Comments:
Do you really source file as a layer of abstraction? Doesn't it just immediately get turned into an AST? Unless you are planning to make this also a preprocessor, and it's probably still better to handle that at the AST level. And for decompilation you could just have a printer on the AST