Comprehensive guide to the Chemical compiler's annotation system (`@name`, `@name(args)`) — how annotations are lexed, parsed, registered in the `AnnotationController`, stored and queried centrally, consumed by the compiler and CBI plugins, and how to add a new one. Load when working on annotations, `AnnotationController`, compiler plugins that define/read annotations, or node attribute flags such as `@extern`, `@test`, `@make`, `@deprecated`, `@no_mangle`, `@inline`, and `@volatile`.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
The C++ AST node framework of the Chemical compiler — the ASTAny/ASTNode/Value/BaseType hierarchy, node/value/type kind enums and range predicates, the visitor dispatch framework, the arena allocator, TypeBuilder canonicalization, member containers, and cross-reference resolution. Load when adding or modifying AST nodes, writing compiler passes/codegen visitors, debugging kind mismatches or arena/lifetime issues, or extending the compiler API bindings.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
The Chemical compiler benchmark & release analytics system — how the static GitHub Pages dashboard works, the JSON data model (manifest/daily/release records), the bash collection scripts (bench-*.sh), the GitHub Actions workflows (benchmark-daily/release), and the critical pitfalls (hidden upload dirs, worktree submodules, gh-pages-only data). Load when working on the dashboard, benchmark collection, or analytics workflows.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive deep-dive into the Chemical build pipeline — how chemical.mod is converted to build.lab, how build scripts are JIT-compiled via TinyCC, how jobs are created and executed, and how ASTProcessor orchestrates the parallel compilation passes.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
All documentation related to building and running Project or Tests
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive guide to the C translation backend (2c) — how Chemical AST is translated to C code, key patterns, gotchas, and optimization strategies.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
The compiler-side machinery of the Chemical Compiler Binding Interface (CBI) — the CompilerBinder/CBIData/CBIFunctionIndex model, the full CBIFunctionType hook enum and where each fires, the extern "C" bindings dispatch tables in CBI.cpp, ASTBuilder/ASTCBI/PtrVec/BatchAllocator/SourceProvider/ASTDiagnoser wrappers, the TinyCC JIT bridge and LabBuildCompiler plugin compilation/indexing, the enum-sync rule, and how to add a new CBI binding. Load when modifying the CBI model/bindings layer, adding compiler hooks or bindings, debugging plugin ABI/symbol issues, or trying to understand how the compiler calls into Chemical plugin code.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive guide to the Chemical Compiler Binding Interface (CBI) — how compiler plugins are built, registered, and integrated into the compilation pipeline.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
The syntax and API of chemical.mod file
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Documentation of Syntax and APIs for Chemical Programming Language, A must read before implementing something in chemical programming language.s
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
The Chemical compiler command-line entrypoints (Compiler, TCCCompiler, ChemicalLsp) — argument parsing, LabBuildCompiler wiring, the full CLI flag surface, OutputMode, output-artifact routing, embedded Clang/LLVM/LLD/TinyCC invocation, SelfInvocation, target triples (TargetData), and ModuleOptionRegistry. Load when working on the compiler CLI, adding or changing flags, output modes, target-triple handling, or embedded-tool invocation.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
The Chemical compiler API bindings in lang/libs/compiler/ and the C++ AST node hierarchy — ASTNode, Value, BaseType, ASTAllocator, and their unsafe casting methods.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
How Compiler Bindings work in Chemical, How compiler APIs are exposed for (build system, compilation and lsp)
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
The browser-based end-to-end test suite for the components + universal libraries. Lives in lang/compiled/components-e2e (a standalone Node/TypeScript + Playwright repo, also hosted on GitHub as chemicallang/components-e2e). Covers real-browser verification of SSR → hydration → interaction for every interactive component, plus a runtime error assertion. Use when running, extending, or debugging browser tests, or when a component's generated HTML/CSS/JS passes string tests but misbehaves in a real browser.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
How complex and scalable web apps are designed in chemical using macro plugins
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive guide to the Chemical compiler's diagnostic system — how errors, warnings, and informational messages are collected, reported, and formatted.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive guide to the Chemical generic instantiation system — how generic types, functions, and interfaces are monomorphized, finalized, and optimized for parallel execution.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive guide to Chemical interpretation and comptime evaluation after the MIR migration — the MIR interpreter engine, the comptime driver, the residual AST expression folder, and how to debug `--interpret` and comptime failures.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive guide to Chemical's compiler intrinsic functions and reflection APIs — how GlobalFunctions.cpp provides compile-time implementations, reflection, and metadata access.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Chemical JSON serialization — the `json` runtime library (JsonValue, JsonEncoder/JsonDecoder, TypeDecoder decode dispatch), the `#json(Struct)` compiler-plugin macro (`json_cbi`) that auto-generates `std::Serializer`/`std::Deserializer` impls, the std serialization interfaces in `serialization.ch`, the CBI bindings the macro relies on, and the hard-won codegen/symres pitfalls. Load before touching anything under `lang/libs/json/`, `lang/libs/json_cbi/`, or the `#json` macro.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
The Chemical language's goals and design direction — AI-first + human-readable, Rust-familiar memory safety (borrow checking), strict type safety, module-level no-panic enforcement, dropping compile-time-expensive sugar (Rust-style type inference), and the cross-platform "runs everywhere" ambition (native C/LLVM, WASM, JavaScript/browser, JVM bytecode, Android). Load when making language-design or roadmap decisions, choosing whether a feature fits, working on memory-safety/borrow-checking direction, the no-panic policy, JS/WASM/JVM backends, web/DOM type declarations, or when a task's correctness depends on the language's stated goals.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive guide to the Chemical lexer subsystem — how raw source bytes become a Token stream via Lexer/Lexer.cpp, the TokenType enum, LexUnit, SourceProvider scanning, literals/comments/whitespace handling, lexical diagnostics, the CBI user-lexer hooks, and the critical TokenType↔ChemicalTokenType enum-sync rule. Load when working on tokenization, adding a new token/keyword, debugging lexer errors, touching CBI macro lexing, or fixing enum-mismatch crashes in compiler plugins.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive guide to the LLVM codegen backend — how Chemical AST is lowered to LLVM IR, key patterns, gotchas, debugging, and parallelization strategies.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026
Comprehensive deep-dive into the Chemical language server (`ChemicalLsp`) — the `server/` subsystem, how it is built on `lib/lsp-framework`, its document/state model (`WorkspaceManager`, `ModuleData`), how it drives `SymbolResolver` for incremental analysis, every implemented LSP capability and where it lives, `chemical.mod` handling, diagnostics mapping, CBI analyzer hooks, and how to build and test the server. Load when working on the language server, editor features, semantic tokens, folding ranges, hover, completion, go-to-definition, signature help, inlay hints, formatting, `server/` internals, `LSPHooks`, or the `chemical/*` IDE libraries.
The English summary is being prepared. Showing the original description.
chemicallang/chemical☆ 31Updated Oct 26, 2026