nac3/README.md

21 lines
919 B
Markdown
Raw Normal View History

# NAC3 compiler
2021-06-25 12:28:33 +08:00
This repository contains:
- nac3core: Core compiler library, containing type-checking and code
generation.
- nac3artiq: Integration with ARTIQ and implementation of ARTIQ-specific
extensions to the core language.
- nac3standalone: Standalone compiler tool (core language only).
The core compiler knows nothing about symbol resolution, host variables
etc. nac3artiq and nac3standalone provide (implement) the
2021-06-25 12:28:33 +08:00
symbol resolver to the core compiler for resolving the type and value for
unknown symbols. The core compiler only type checks classes and functions
requested by nac3artiq/nac3standalone (the API should allow the
2021-06-25 12:28:33 +08:00
caller to specify which methods should be compiled). After type checking, the
compiler analyses the set of functions/classes that are used and performs
2021-06-25 12:28:33 +08:00
code generation.
value could be integer values, boolean values, bytes (for memcpy), function ID
(full name + concrete type)