A Guide to the TDF Specification
- i. Introduction
- 1. Portability
- 1.1. Portable Programs
- 1.2. Portability Problems
- 1.3. APIs and Portability
- 2. Introduction to TDF
- 2.1. Features of TDF
- 2.2. TDF Compilation Phases
- 2.3. Aspects of the TDF System
- 2.4. TDF and APIs
- 2.5. TDF and Conditional Compilation
- 3. SORTs and TOKENs
- 3.1. Token applications and first-class SORTs
- 3.2. Token definitions and declarations
- 3.3. A simple use of a TOKEN
- 3.4. Second class SORTs
- 4. CAPSULEs and UNITs
- 4.1. make_capsule and name-spaces
- 4.2. Definitions and declarations
- 5. SHAPEs, ALIGNMENTs and OFFSETs.
- 5.1. Shapes
- 5.2. Alignments
- 5.3. Pointer and offset SHAPEs
- 5.4. Compound SHAPEs
- 5.5. BITFIELD alignments
- 6. Procedures and Locals
- 6.1. make_proc and apply_proc
- 6.2. make_general_proc and apply_general_proc
- 6.3. Defining and using locals
- 6.4. Heap storage
- 7. Control Flow within procedures
- 7.1. Unconditional flow
- 7.2. Conditional flow
- 7.3. Exceptional flow
- 8. Values, variables and assignments.
- 8.1. contents
- 8.2. assign
- 8.3. TRANSFER_MODE operations
- 8.4. Assigning and extracting bitfields
- 9. Operations
- 9.1. VARIETY and overflow
- 9.2. ERROR_TREATMENT
- 9.3. Division and remainder
- 9.4. change_variety
- 9.5. and, or, not, xor
- 9.6. Floating-point operations, ROUNDING_MODE
- 9.7. change_bitfield_to_int, change_int_to_bitfield
- 9.8. make_compound, make_nof, n_copies
- 10. Constants
- 10.1. _cond constructors
- 10.2. Primitive constant constructors
- 11. Tokens and APIs
- 11.1. Application programming interfaces
- 11.2. Linking to APIs
- 11.3. Target independent headers, unique_extern
- 11.4. Language programming interfaces
- 11.5. Namespaces and APIs
- 12. TDF transformations
- 12.1. Transformations as definitions
- 12.2. Examples of transformations
- 12.3. Programs with undefined values
- 13. TDF expansions of offsets
- 13.1. Offsets within compound types
- 13.2. Bitfield offsets
- 14. Models of the TDF algebra
- 14.1. Model for a 32-bit standard architecture
- 14.2. Model for machines like the iAPX-432
- cxxxv. Conclusion