How edgcpp/compiler works
EDG is primarily a configurable C/C++ compiler front end, with source-to-source back ends, template prelinking, IL utilities, a demangler, and a minimal C++ runtime. The principal workflow is source input through front-end analysis to generated C or C++; the prelinker and IL tools are additional product capabilities. The source excerpts mainly expose interfaces, so internal front-end call relationships are not asserted; documented capabilities are cited to the README.
Main entry points: cfe.c Front-End Driver · il.h Intermediate Language · edg_prelink.c Template Prelinker · il_read.c IL Reader
Components 16
C/C++ Front End
- Front-End Driver
src/cfe.c - Lexical Analysis
src/lexical.c - Preprocessing
src/preproc.c - Declarations
src/decls.c - Expressions
src/expr.c - Types and Symbols
src/symbol_tbl.h - Intermediate Language
src/il.h
Translation Back Ends
- C Generator
src/c_gen_be.c - C++ Generator
src/cp_gen_be.c
Compiler Utilities
- Template Prelinker
util/edg_prelink.c - IL Writer
src/il_write.c - IL Reader
src/il_read.c - IL Display
src/il_display.c - Name Demangler
util/decode.c
Runtime Support
- C++ Runtime
lib_src/runtime.h
Other components
- Source Author
Connections 7
- Source Author → Front-End Driver: compiles source
README.md - Front-End Driver → C Generator: can generate C
README.md - Front-End Driver → C++ Generator: can generate C++
README.md - Template Prelinker → Front-End Driver: handles instantiation
README.md - Intermediate Language → IL Writer: can be serialized
README.md - IL Reader → Intermediate Language: reconstructs
README.md - IL Display → Intermediate Language: displays
README.md