• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • Soft
        • C
          • Syntax-for-tools
          • Atc
          • Language
            • Abstract-syntax
            • Integer-ranges
            • Implementation-environments
            • Dynamic-semantics
            • Static-semantics
            • Grammar
            • Integer-formats
            • Types
            • Portable-ascii-identifiers
            • Values
            • Integer-operations
            • Computation-states
            • Object-designators
              • Objdesign
                • Objdesign-fix
                • Objdesign-case
                • Objdesignp
                • Objdesign-count
                • Objdesign-equiv
                • Objdesign-auto
                • Objdesign-member
                • Objdesign-element
                • Objdesign-static
                • Objdesign-alloc
                • Objdesign-kind
              • Address
              • Object-disjointp
              • Objdesign-option
            • Operations
            • Errors
            • Tag-environments
            • Function-environments
            • Character-sets
            • Flexible-array-member-removal
            • Arithmetic-operations
            • Pointer-operations
            • Bytes
            • Keywords
            • Real-operations
            • Array-operations
            • Scalar-operations
            • Structure-operations
          • Representation
          • Transformation-tools
          • Insertion-sort
          • Pack
        • Bv
        • Imp-language
        • Event-macros
        • Java
        • Bitcoin
        • Ethereum
        • Yul
        • Zcash
        • ACL2-programming-language
        • Prime-fields
        • Json
        • Syntheto
        • File-io-light
        • Cryptography
        • Number-theory
        • Lists-light
        • Axe
        • Builtins
        • Solidity
        • Helpers
        • Htclient
        • Typed-lists-light
        • Arithmetic-light
      • X86isa
      • Axe
      • Execloader
    • Math
    • Testing-utilities
  • Object-designators

Objdesign

Fixtype of object designators.

This is a tagged union type, introduced by fty::deftagsum.

Member Tags → Types
:static → objdesign-static
:auto → objdesign-auto
:alloc → objdesign-alloc
:element → objdesign-element
:member → objdesign-member

An object designator is a named variable in static storage, or a named variable in automatic storage, or an address in allocated storage (i.e. the heap), or a (structure) member of an object designator, or an (array) element of an object designator. For a variable in automatic storage, we need not only the name, but also an indication of which scope in which frame the variable is in: we use natural numbers for this purpose, meant to be indices in the frame stack and scope stack. For both frames and scopes, index 0 refers to the bottom of the stack; this is the opposite order in which the stacks of frames and scopes are indexed as ACL2 lists (via nth), but we need this opposite order in order for the indices to be stable against frames and scopes being pushed and popped.

Also see object-designators.

Subtopics

Objdesign-fix
Fixing function for objdesign structures.
Objdesign-case
Case macro for the different kinds of objdesign structures.
Objdesignp
Recognizer for objdesign structures.
Objdesign-count
Measure for recurring over objdesign structures.
Objdesign-equiv
Basic equivalence relation for objdesign structures.
Objdesign-auto
Objdesign-member
Objdesign-element
Objdesign-static
Objdesign-alloc
Objdesign-kind
Get the kind (tag) of a objdesign structure.