neural/trident/src.md

Source Architecture

The compiler is organized as a pipeline. Source text enters at the syntax layer, flows through type checking and optional analysis passes, and exits as Triton VM assembly (TASM).

source.tri
    |
    v
 syntax/       lexer -> parser -> AST
    |
    v
 typecheck/    type checking, borrow checking, generics
    |
    +----> tir/       Trident IR: instruction selection + stack lowering
    |        +----> triton.rs  (Triton VM TASM output)
    |
    v
 output.tasm

Parallel to the main pipeline, several modules provide analysis, tooling, and package management:

 cost/         static cost analysis (trace height estimation)
 verify/       formal verification (symbolic execution, SMT, equivalence)
 tools/        LSP, scaffolding, module resolution, introspection
 package/     content-addressed package management, store, registry

Module Map

Module LOC What it does
syntax/ 4,392 Lexer, parser, token definitions, formatter
typecheck/ 3,007 Type checker with borrow analysis, generics, and builtin registration
tir/ 3,678 Trident IR: opcode definitions, AST→TIR builder, Triton lowering, stack manager
cost/ 2,335 Static cost analyzer, per-function breakdown, optimization hints and reports, target cost models
verify/ 5,570 Symbolic execution, constraint solving, SMT encoding, equivalence checking, invariant synthesis, JSON reports
package/ 6,494 BLAKE3 hashing, Poseidon2, definitions store, registry server/client, dependency manifests, compilation cache
tools/ 5,004 Language Server, code scaffolding, definition viewer, project config, module resolution, target configuration, artifact packaging

Top-Level Files

File LOC Role
ast.rs 371 AST node definitions shared by every stage
lib.rs 2,700 Public API, re-exports, and orchestration functions (compile, analyze_costs, check_file)
main.rs 2,650 CLI entry point: argument parsing and command dispatch
linker.rs 134 Multi-module linker for cross-module calls

Total: ~36,700 lines across 57 Rust files, 5 runtime dependencies.

Compilation Pipeline

Syntax (syntax/). The lexer tokenizes source into the token types defined in lexeme.rs. The parser produces a typed AST (ast.rs). The formatter can pretty-print any AST back to canonical source.

Type Checking (typecheck/). The type checker validates types, resolves generics via monomorphization, performs borrow/move analysis, and registers builtin function signatures (builtins.rs). Diagnostics are emitted for type mismatches, undefined variables, unused bindings, and borrow violations.

TIR Pipeline (tir/). The TIR builder translates the typed AST into a flat sequence of TIROp instructions. The Triton lowering produces TASM assembly. The stack manager tracks operand positions with automatic RAM spill/reload. The linker resolves cross-module calls.

Cost Analysis (cost/). The analyzer walks the AST and sums per-instruction costs using a target-specific CostModel. The report module formats results, generates optimization hints, and provides JSON serialization for --compare workflows.

Formal Verification (verify/). The symbolic executor builds path constraints over the AST. The solver uses Schwartz-Zippel randomized testing and bounded model checking. The SMT module encodes constraints in SMT-LIB2 for external solvers. The equivalence checker proves two functions compute the same result. The synthesizer infers loop invariants automatically.

Package Management (package/). Content-addressed storage using BLAKE3 hashing with Poseidon2 for in-proof verification. The definitions store manages a local codebase of named, versioned definitions. The registry provides an HTTP server and client for publishing and pulling definitions.

Design Principles

Direct mapping. Every language construct maps to a known instruction pattern. The compiler is a thin translation layer, not an optimization engine. This makes proving costs predictable and the compiler auditable.

Target abstraction. The StackLowering trait and CostModel trait isolate all target-specific knowledge. Adding a new backend means implementing these two traits — the rest of the compiler is shared.

Re-exports for stability. lib.rs re-exports every module at the crate root so that internal reorganization does not break downstream code or the binary crate.

Folder

Homonyms

cyberia/src
src
cyb/src
src
soft3/mir/src
src
cyb/src-tauri/src
src
bootloader/bostrom/src
src
cyb/cyb-boot/src
src
soft3/lens/src
src
soft3/mudra/src
src
soft3/cybergraph/src
src
soft3/foculus/src
src
cyb/optica/src
src
soft3/strata/src
src
cyb/honeycrisp/src
src
soft3/lens/porphyry/src
src
soft3/radio/iroh/src
src
soft3/radio/iroh-blobs/src
src
soft3/cybergraph/cli/src
src
cyb/honeycrisp/rane/src
src
soft3/hemera/wgsl/src
src
neural/rs/cli/src
src
neural/rs/dialect/src
src
cyb/honeycrisp/acpu/src
src
neural/eidos/rs/src
src
soft3/lens/cli/src
src
soft3/lens/ikat/src
src
soft3/bbg/cli/src
src
soft3/radio/iroh-ffi/src
src
neural/rs/rsc/src
src
soft3/radio/iroh-willow/src
src
soft3/bbg/rs/src
src
bootloader/go-cyber/js/src
src
soft3/radio/cyber-bao/src
src
neural/rs/macros/src
src
bootloader/space-pussy/meme/src
src
soft3/zheng/rs/src
src
soft3/hemera/cli/src
src
cyb/cyb/cyb-portal/src
src
neural/rs/mir-format/src
src
soft3/radio/radio-cli/src
src
bootloader/space-pussy/ts/src
src
cyb/cyb/cyb-shell/src
src
soft3/radio/iroh-base/src
src
neural/rs/macho-linker/src
src
soft3/lens/brakedown/src
src
neural/rs/codegen/src
src
cyb/honeycrisp/unimem/src
src
soft3/lens/core/src
src
soft3/strata/core/src
src
soft3/hemera/rs/src
src
cyb/cyb/cyb-services/src
src
neural/rs/sigil/src
src
neural/rs/pure-rust-check/src
src
neural/rs/core/src
src
soft3/radio/iroh-gossip/src
src
bootloader/space-pussy/landing/src
src
soft3/strata/ext/src
src
cyb/cyb/cyb-ui/src
src
soft3/radio/particle/src
src
soft3/lens/assayer/src
src
soft3/strata/proof/src
src
bootloader/go-cyber/mcp/src
src
soft3/radio/iroh-relay/src
src
soft3/radio/iroh-docs/src
src
neural/rs/darwin-sys/src
src
cyb/honeycrisp/aruminium/src
src/ core library. zero external dependencies — only macOS system frameworks via FFI. | file | purpose | |------|---------| | `lib.rs` | public API surface: re-exports, error types | | `device.rs` | `Gpu` — GPU discovery, properties, factory methods | | `buffer.rs` | `Buffer` — zero-copy shared…
soft3/radio/iroh-dns-server/src
src
neural/eidos/cli/src
src
soft3/lens/binius/src
src
soft3/zheng/cli/src
src
soft3/strata/compute/src
src
soft3/radio/iroh-car/src
src
neural/rs/link/src
src
cyb/evy/crates/evy_ecs_storage/src
src
soft3/strata/kuro/cli/src
src
soft3/strata/nebu/wgsl/src
src
soft3/strata/jali/cli/src
src
cyb/evy/forks/bevy_mesh/src
src
cyb/evy/forks/bevy_post_process/src
src
cyb/evy/crates/evy_diagnostic/src
src
cyb/evy/forks/bevy_diagnostic/src
src
cyb/wysm/crates/ir/src
src
soft3/radio/iroh/bench/src
src
soft3/radio/tests/integration/src
src
cyb/evy/forks/bevy_sprite_render/src
src
neural/inf/rs/lex/src
src
cyb/wysm/crates/core/src
src
cyb/evy/forks/bevy_core_pipeline/src
src
neural/inf/rs/value/src
src
cyb/evy/forks/bevy_render/src
src
soft3/radio/iroh-ffi/iroh-js/src
src
cyb/wysm/crates/collections/src
src
cyb/evy/forks/bevy_gizmos/src
src
soft3/strata/genies/rs/src
src
soft3/strata/genies/cli/src
src
cyb/wysm/crates/wast/src
src
cyb/wysm/crates/wasmi/src
src
soft3/strata/trop/wgsl/src
src
cyb/evy/forks/bevy_gizmos_render/src
src
cyb/evy/forks/bevy_tasks/src
src
soft3/strata/trop/cli/src
src
cyb/evy/forks/bevy_ecs/src
src
soft3/strata/trop/rs/src
src
neural/rs/tests/macro-integration/src
src
cyb/evy/forks/naga/src
src
soft3/strata/jali/wgsl/src
src
cyb/wysm/crates/cli/src
src
cyb/evy/forks/bevy_sprite/src
src
cyb/evy/crates/evy_prysm_core/src
src
cyb/wysm/crates/c_api/src
src
neural/trident/editor/zed/src
src
cyb/evy/crates/evy_dialect/src
src
soft3/strata/nebu/cli/src
src
cyb/evy/crates/evy_radio/src
src
neural/inf/rs/cli/src
src
cyb/wysm/crates/fuzz/src
src
soft3/tape/impl/rust/src
src
cyb/evy/crates/evy_engine_dispatch/src
src
cyb/evy/forks/bevy_pbr/src
src
neural/inf/rs/eval/src
src
cyb/wysm/crates/wasi/src
src
soft3/strata/jali/rs/src
src
cyb/evy/crates/evy_engine_core/src
src
cyb/evy/forks/bevy_animation/src
src
neural/inf/rs/lower/src
src
soft3/strata/genies/wgsl/src
src
cyb/evy/forks/bevy_image/src
src
bootloader/go-cyber/mcp/rust/src
src
cyb/evy/forks/bevy_anti_alias/src
src
neural/inf/rs/source/src
src
cyb/evy/crates/evy_engine_tasks/src
src
neural/inf/rs/oracle/src
src
cyb/evy/crates/evy_platform_caps/src
src
soft3/strata/kuro/wgsl/src
src
neural/inf/rs/parse/src
src
neural/inf/rs/ast/src
src
cyb/evy/forks/bevy_transform/src
src
neural/inf/rs/plan/src
src
bootloader/go-cyber/cw/contracts/graph-filter/src
src
bootloader/go-cyber/cw/contracts/std-test/src
src
cyb/src-tauri/gen/android/app/src
src
bootloader/go-cyber/cw/packages/cyber-std-test/src
src
cyb/honeycrisp/unimem/experiments/iosurface_probe/src
src
bootloader/go-cyber/cw/packages/cyber-std/src
src
cyb/src-tauri/gen/android/buildSrc/src
src
soft3/radio/iroh-ffi/kotlin/lib/src
src
bootloader/go-cyber/ts/packages/cyber-ts/src
src
cyb/honeycrisp/unimem/experiments/hyp_probe/src
src
cyb/honeycrisp/unimem/experiments/dext_contiguous_alloc/client/src
src
cyb/honeycrisp/unimem/experiments/dext_iosurface_pa/client/src
src

Graph