- The Shackle Almanac
- 1. The compilation process
❱
- 1.1. Parsing
- 1.2. Abstract syntax tree
❱
- 1.2.1. Include resolution
- 1.3. High-level intermediate representation
❱
- 1.3.1. Scope collection
- 1.3.2. Type checking
- 1.4. Typed high-level intermediate representation
❱
- 1.4.1. Model transformations
- 1.4.2. Output item removal
- 1.4.3. Generating constraints for domains
- 1.4.4. Top-down typing
- 1.4.5. Type specialisation
- 1.4.6. Generation of function dispatch preambles
- 1.4.7. Erasure of records
- 1.4.8. Erasure of enums
- 1.4.9. Desugaring of comprehensions
- 1.4.10. Erasure of option types
- 1.4.11. Removal of overloading
- 1.4.12. Desugaring of capturing
- 1.5. Mid-level intermediate representation
❱
- 1.5.1. Totalisation
- 1.5.2. Context analysis
- 1.6. Bytecode generation
- 1.7. Bytecode interpretation
- 2. MicroZinc specification
❱
- 2.1. Typing Rules
- 2.2. Operational Semantics
- 3. The MicroZinc Interpreter
- 4. MiniZinc Syntax Changes
- 5. Error handling