diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-21 12:49:21 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-21 12:49:21 +0000 |
| commit | bb1244aaef910579d829eb1563365479860ae7e1 (patch) | |
| tree | 6e8a95fcbb3942907f5d7229b16a65d1e08dd462 /AGENTS/ARCH/OVERVIEW.md | |
| parent | 97f743a41925e4346aa2c08f23ba432072318eca (diff) | |
docs(agents): collapse duplicated passages into single-home links
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'AGENTS/ARCH/OVERVIEW.md')
| -rw-r--r-- | AGENTS/ARCH/OVERVIEW.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/AGENTS/ARCH/OVERVIEW.md b/AGENTS/ARCH/OVERVIEW.md index 5bb4a86..820c5bb 100644 --- a/AGENTS/ARCH/OVERVIEW.md +++ b/AGENTS/ARCH/OVERVIEW.md @@ -12,7 +12,7 @@ files ──> Lexer ──> Parser ──> vector<unique_ptr<StmtAST>> ──> C ``` Fixed value representation (ABI — much code infers types backwards from these): -INTEGER = `i64`, REAL = `double`, BOOLEAN = `i1`, CHAR = `i8`. STRING is the standard-library class `%record.STRING`, owning a std::string handle; C_STRING is a raw NUL-terminated pointer. User-defined types (§4): enum = `i64` (0-based ordinal), +INTEGER = `i64`, REAL = `double`, BOOLEAN = `i1`, CHAR = `i8`. STRING is the standard-library class `%record.STRING` (not a builtin pointer type), owning a std::string handle; C_STRING is a raw NUL-terminated pointer. User-defined types (§4): enum = `i64` (0-based ordinal), pointer = opaque `ptr`, record = named struct `%record.NAME`. Enums and pointers are LLVM-identical to INTEGER/C_STRING **by design** — their identity lives in the type *name*, enforced upstream (see [CONVENTIONS/TYPES.md](../CONVENTIONS/TYPES.md)). Allocation byte sizes are never computed host-side: the module has no DataLayout string, so every allocation size is a null-GEP |
