How uocazizah/tracey works
Tracey is a bootstrap-stage compiler for the .trc language. The intended user journey is to invoke the compiler on source code, which is loaded and processed through lexical, syntactic, and semantic analysis before code generation; assembler and linker components support producing native output. The README identifies these capabilities but does not document the precise runtime call graph, and the sampled source excerpts do not show those calls. Dashed, unevidenced edges mark the inferred workflow; other documented capabilities are represented without speculative connections.
Main entry points: index.cxx Compiler CLI · parser.cxx Parser · semantic.cxx Semantic analysis · assembler.cxx Assembler
Components 17
User interface
- Compiler CLI
index.cxx - Arguments
general/argument/argument.cxx
Compiler front end
- Source loading
general/source/source.cxx - Lexer
general/lexer/lexer.cxx - Parser
general/parser/parser.cxx - Semantic analysis
general/semantic/semantic.cxx - Syntax tree
include/tracey/ast.hxx - Diagnostics
general/diagnostics/diagnostics.cxx
Native toolchain
- Code generation
general/codegen/codegen.cxx - Assembler
general/assembler/assembler.cxx - Assembler driver
tools/tracey-as.cxx - ELF support
general/elf/elf.cxx - Linker
general/linker/linker.cxx - Linker driver
tools/tracey-ld.cxx
Language support
- Standard library
lib - Mini runtime
runtime
Other components
- Programmer
Connections 14
- Programmer → Compiler CLI: invokes
README - Compiler CLI → Arguments: parses options
- Compiler CLI → Source loading: loads input
- Source loading → Lexer: provides source
- Lexer → Parser: tokens
- Parser → Syntax tree: builds tree
- Parser → Semantic analysis: analyzes syntax
- Semantic analysis → Code generation: enables generation
- Semantic analysis → Diagnostics: reports issues
- Code generation → Assembler: emits for
- Assembler driver → Assembler: drives
- Assembler → ELF support: produces objects
- Linker driver → Linker: drives
- Linker → ELF support: handles binaries