• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • 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
            • Disambiguator
            • Abstract-syntax
            • Parser
            • Validator
            • Printer
            • Formalized-subset
            • Mapping-to-language-definition
            • Input-files
            • Defpred
            • Output-files
            • Abstract-syntax-operations
            • Validation-information
              • Abstract-syntax-annop
              • Types
              • Valid-ord-info
                • Valid-ord-info-fix
                • Valid-ord-info-case
                • Valid-ord-info-equiv
                • Valid-ord-infop
                • Valid-ord-info-objfun
                • Valid-ord-info-typedef
                • Valid-ord-info-kind
                • Valid-ord-info-enumconst
              • Lifetime
              • Valid-defstatus
              • Expr-type
              • Valid-table
              • Valid-ord-info-option
              • Linkage-option
              • Linkage
              • Lifetime-option
              • Iconst-info
              • Var-info
              • Valid-scope
              • Stmt-type
              • Expr-null-pointer-constp
              • Transunit-info
              • Const-expr-null-pointer-constp
              • Unary-info
              • Binary-info
              • Block-item-list-type
              • Block-item-type
              • Valid-ord-scope
              • Coerce-transunit-info
              • Coerce-var-info
              • Coerce-unary-info
              • Coerce-iconst-info
              • Coerce-binary-info
              • Irr-transunit-info
              • Irr-iconst-info
              • Irr-binary-info
              • Irr-var-info
              • Irr-valid-table
              • Irr-unary-info
              • Valid-scope-list
              • Irr-linkage
              • Irr-lifetime
            • Implementation-environments
            • Concrete-syntax
            • Ascii-identifiers
            • Unambiguity
            • Preprocessing
            • Abstraction-mapping
          • Atc
          • Language
          • 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
  • Validation-information

Valid-ord-info

Fixtype of validation information about ordinary identifiers.

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

Member Tags → Types
:objfun → valid-ord-info-objfun
:enumconst → valid-ord-info-enumconst
:typedef → valid-ord-info-typedef

Ordinary identifiers [C17:6.2.3/1] denote objects, functions, enumeration constants, and typedef names; Ordinary identifiers form their own name space. The other entities denoted by identifiers [C17:6.2.1/1] are in other name spaces, disjoint from the one of ordinary identifiers.

This fixtype formalizes the information about ordinary identifiers tracked by our current validator. Since our model of types includes both object and function types, the information for both objects and functions includes (different) types; that information also includes the linkage [C17:6.2.2], as well as definition status (see valid-defstatus). For enumeration constants names, for now we only track that they are enumeration constants. For typedef names, we track the type corresponding to its definition.

We will refine this fixtype as we refine our validator.

Subtopics

Valid-ord-info-fix
Fixing function for valid-ord-info structures.
Valid-ord-info-case
Case macro for the different kinds of valid-ord-info structures.
Valid-ord-info-equiv
Basic equivalence relation for valid-ord-info structures.
Valid-ord-infop
Recognizer for valid-ord-info structures.
Valid-ord-info-objfun
Valid-ord-info-typedef
Valid-ord-info-kind
Get the kind (tag) of a valid-ord-info structure.
Valid-ord-info-enumconst