A Guide to the TDF Specification

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