- The Shackle Almanac
- 1. Roadmap
- 2. The compilation process
❱
- 2.1. Parsing
- 2.2. Abstract syntax tree
❱
- 2.2.1. Include resolution
- 2.3. High-level intermediate representation
❱
- 2.3.1. Scope collection
- 2.3.2. Type checking
- 2.4. Typed high-level intermediate representation
❱
- 2.4.1. Model transformations
- 2.4.2. Output item removal
- 2.4.3. Generating constraints for domains
- 2.4.4. Top-down typing
- 2.4.5. Type specialisation
- 2.4.6. Generation of function dispatch preambles
- 2.4.7. Erasure of records
- 2.4.8. Erasure of enums
- 2.4.9. Desugaring of comprehensions
- 2.4.10. Erasure of option types
- 2.4.11. Removal of overloading
- 2.4.12. Desugaring of capturing
- 2.5. Mid-level intermediate representation
❱
- 2.5.1. Totalisation
- 2.5.2. Context analysis
- 2.6. Bytecode generation
- 2.7. Bytecode interpretation
- 3. MicroZinc specification
❱
- 3.1. Typing Rules
- 3.2. Operational Semantics
- 4. The MicroZinc Interpreter
- 5. MiniZinc Syntax Changes
- 6. Error handling