• 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
              • Tyspecseq
              • Expr
              • Binop
              • Fileset
              • Obj-declor
              • Ident
              • Iconst
              • Obj-adeclor
              • Const
              • Fundef
              • Unop
              • File
              • Tag-declon
              • Fun-declor
                • Fun-declor-fix
                • Fun-declor-case
                • Fun-declorp
                • Fun-declor-equiv
                • Fun-declor-count
                • Fun-declor-base
                • Fun-declor-pointer
                • Fun-declor-kind
              • Obj-declon
              • Iconst-length
              • Abstract-syntax-operations
              • Label
              • Struct-declon
              • Initer
              • Ext-declon
              • Fun-adeclor
              • Expr-option
              • Iconst-base
              • Initer-option
              • Iconst-option
              • Tyspecseq-option
              • Stmt-option
              • Scspecseq
              • Param-declon
              • Obj-declon-option
              • File-option
              • Tyname
              • Transunit
              • Fun-declon
              • Transunit-result
              • Param-declon-list
              • Struct-declon-list
              • Expr-list
              • Tyspecseq-list
              • Ident-set
              • Ident-list
              • Ext-declon-list
              • Unop-list
              • Tyname-list
              • Fundef-list
              • Fun-declon-list
              • Binop-list
              • Stmt-fixtypes
              • Expr-fixtypes
            • Integer-ranges
            • Implementation-environments
            • Dynamic-semantics
            • Static-semantics
            • Grammar
            • Integer-formats
            • Types
            • Portable-ascii-identifiers
            • Values
            • Integer-operations
            • Computation-states
            • Object-designators
            • 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
  • Abstract-syntax

Fun-declor

Fixtype of function declarators [C17:6.7.6].

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

Member Tags → Types
:base → fun-declor-base
:pointer → fun-declor-pointer

For now we only model function declarators [C17:6.7.6.3] consisting of an identifier as the direct declarator and a (parenthesized) list of parameter declarations, preceded by zero or more pointer designations (i.e. *). The pointer designations are captured via a recursive structure, which makes this fixtype more extensible in the future.

This is somewhat similar to obj-declor, except that there is an identifier and a list of parameters instead of just an identifier (for the base case of the fixtype), and except that there is no array designation possible. The latter is because functions cannot return array types [C17:6.7.6.3/1].

Subtopics

Fun-declor-fix
Fixing function for fun-declor structures.
Fun-declor-case
Case macro for the different kinds of fun-declor structures.
Fun-declorp
Recognizer for fun-declor structures.
Fun-declor-equiv
Basic equivalence relation for fun-declor structures.
Fun-declor-count
Measure for recurring over fun-declor structures.
Fun-declor-base
Fun-declor-pointer
Fun-declor-kind
Get the kind (tag) of a fun-declor structure.