From caa88a9b36d9e1dfae40ecb31aee05bc2891fa17 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Tue, 27 Oct 2026 14:07:24 +0000 Subject: docs(preprocessor): document switches and library regions Add manuals and aliases for all five PP directives, replace the retired #LIB page, and update compiler and shared-editor architecture notes. Co-Authored-By: Claude Opus 5.5 --- AGENTS/ARCH/OVERVIEW.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'AGENTS/ARCH/OVERVIEW.md') diff --git a/AGENTS/ARCH/OVERVIEW.md b/AGENTS/ARCH/OVERVIEW.md index 820c5bb..ee3fc12 100644 --- a/AGENTS/ARCH/OVERVIEW.md +++ b/AGENTS/ARCH/OVERVIEW.md @@ -1,14 +1,14 @@ # Overview and value representation -`cpsc` compiles CIE A-Level 9618 pseudocode to native executables or LLVM IR. Classic three-stage -Kaleidoscope-style design, C++17, built with LLVM 23 and Clang 23. CMake rejects +`cpsc` compiles CIE A-Level 9618 pseudocode to native executables or LLVM IR. A line preprocessor feeds a +Kaleidoscope-style lexer/parser/codegen pipeline, C++17, built with LLVM 23 and Clang 23. CMake rejects other major versions and non-Clang compilers. Execution is selected at build time: external lli, an embedded static LLVM engine, or disabled. ``` -files ──> Lexer ──> Parser ──> vector> ──> CodeGen ──> LLVM IR ──> NativeCompiler (object emission + embedded LLD) - (istream) (recursive (flat program list; (one llvm::Module "cps_module", - descent) FunctionDefAST mixed in) entry code inside i32 main()) +files -> Preprocessor -> Lexer -> Parser -> AST statements -> CodeGen -> LLVM IR -> NativeCompiler + (per-file (istream) (recursive descent) (one module) (object + embedded LLD) + switches and source-line library metadata) ``` Fixed value representation (ABI — much code infers types backwards from these): -- cgit v1.3.1-4-g156e