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
829 B
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
CodeGeneratortrait, parallel compilation, IRRT, and type layouts. - Developer Guide - Building, debugging, extending codegen/types, running nac3artiq locally, and common pitfalls.