Files
rclovis 7c4c262ca3
Hydra nac3artiq-msys2 Hydra build #200160 of artiq:nac3:nac3artiq-msys2
Hydra nac3artiq-msys2-pkg Hydra build #200161 of artiq:nac3:nac3artiq-msys2-pkg
Hydra nac3artiq-profile Hydra build #200162 of artiq:nac3:nac3artiq-profile
Hydra nac3artiq Hydra build #200159 of artiq:nac3:nac3artiq
Add documentation
2026-04-29 16:58:02 +08:00

829 B

NAC3 Developer Documentation

NAC3 is a Python-to-machine-code compiler. It compiles a statically-typed subset of Python to LLVM IR, for use in ARTIQ. The compiler is written in Rust and uses inkwell as its LLVM binding.

This documentation is intended for developers working on NAC3 itself. For user-facing language documentation, see the ARTIQ manual.

Contents

  • Architecture - Crate layout, compilation pipeline, and how the pieces fit together.
  • Code Generation - LLVM IR generation, the CodeGenerator trait, parallel compilation, IRRT, and type layouts.
  • Developer Guide - Building, debugging, extending codegen/types, running nac3artiq locally, and common pitfalls.