• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
        • Syntax-for-tools
        • Atc
        • Language
        • Representation
        • Transformation-tools
          • Simpadd0
          • Deftrans
          • Splitgso
          • Constant-propagation
          • Split-fn
          • Copy-fn
          • Specialize
          • Split-all-gso
          • Rename
          • Utilities
            • Free-vars
              • Free-vars-fundef
              • Free-vars-typequal/attribspec-list-list
              • Free-vars-typequal/attribspec-list
              • Free-vars-structdeclor-list
              • Free-vars-structdecl-list
              • Free-vars-param-declor
              • Free-vars-param-declon-list
              • Free-vars-initdeclor-list
              • Free-vars-typequal/attribspec
              • Free-vars-structdeclor
              • Free-vars-structdecl
              • Free-vars-param-declon
              • Free-vars-initdeclor
              • Free-vars-enumer-list
              • Free-vars-dirdeclor
              • Free-vars-dirabsdeclor-option
              • Free-vars-desiniter-list
              • Free-vars-declor-option
              • Free-vars-decl-list
              • Free-vars-block-item-list
              • Free-vars-attrib-spec-list
              • Free-vars-asm-output-list
              • Free-vars-strunispec
              • Free-vars-statassert
              • Free-vars-spec/qual-list
              • Free-vars-spec/qual
              • Free-vars-initer-option
              • Free-vars-genassoc-list
              • Free-vars-enumspec
              • Free-vars-enumer
              • Free-vars-dirabsdeclor
              • Free-vars-desiniter
              • Free-vars-designor-list
              • Free-vars-declor
              • Free-vars-decl-spec-list
              • Free-vars-decl-spec
              • Free-vars-decl
              • Free-vars-block-item
              • Free-vars-attrib-spec
              • Free-vars-attrib-list
              • Free-vars-asm-stmt
              • Free-vars-asm-output
              • Free-vars-asm-input-list
              • Free-vars-asm-input
              • Free-vars-align-spec
              • Free-vars-absdeclor-option
              • Free-vars-absdeclor
              • Free-vars-type-spec
              • Free-vars-stmt
              • Free-vars-label
              • Free-vars-initer
              • Free-vars-genassoc
              • Free-vars-expr-option
              • Free-vars-expr-list
              • Free-vars-expr
              • Free-vars-designor
              • Free-vars-const-expr
              • Free-vars-attrib
            • Call-graphs
            • Fresh-ident-utility
            • Collect-idents
        • Insertion-sort
        • Pack
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Bitcoin
      • Riscv
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
      • Zcash
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Bigmems
      • Builtins
      • Execloader
      • Aleo
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Utilities

Free-vars

A utility to collect free variables over a C AST.

This returns a set of all ordinary identifiers used as variables within the AST, excluding those variables which have first been declared, i.e. in a statement declaration or as a function parameter.

Note that ordinary identifiers do not include label names, the tags of structure, union, and enumeration type names, or the members of structures or unions.

Subtopics

Free-vars-fundef
Collect free variables appearing in a function function definition.
Free-vars-typequal/attribspec-list-list
Collect free variables appearing in a list of lists of type qualifiers and attribute specifiers.
Free-vars-typequal/attribspec-list
Collect free variables appearing in a list of type qualifiers and attribute specifiers.
Free-vars-structdeclor-list
Collect free variables appearing in a list of structure declarators.
Free-vars-structdecl-list
Collect free variables appearing in a list of structure declarations.
Free-vars-param-declor
Collect free variables appearing in a list of parameter declarations.
Free-vars-param-declon-list
Collect free variables appearing in a list of parameter declarations.
Free-vars-initdeclor-list
Collect free variables appearing in a list of initializer declarators.
Free-vars-typequal/attribspec
Collect free variables appearing in a type qualifiers or attribute specifiers.
Free-vars-structdeclor
Collect free variables appearing in a structure declarator.
Free-vars-structdecl
Collect free variables appearing in a structure declaration.
Free-vars-param-declon
Collect free variables appearing in a parameter declaration.
Free-vars-initdeclor
Collect free variables appearing in an initializer declarator.
Free-vars-enumer-list
Collect free variables appearing in a list of enumerators.
Free-vars-dirdeclor
Collect free variables appearing in a direct declarator.
Free-vars-dirabsdeclor-option
Collect free variables appearing in an optional direct abstract declarator.
Free-vars-desiniter-list
Collect free variables appearing in a list of initializers with optional designations.
Free-vars-declor-option
Collect free variables appearing in an optional declarator.
Free-vars-decl-list
Collect free variables appearing in a list of declarations.
Free-vars-block-item-list
Collect free variables appearing in a list of block item.
Free-vars-attrib-spec-list
Collect free variables appearing in a list of GCC attribute specifiers.
Free-vars-asm-output-list
Collect free variables appearing in a list of assembler output operands.
Free-vars-strunispec
Collect free variables appearing in a structure or union specifier.
Free-vars-statassert
Collect free variables appearing in a static assertion declaration.
Free-vars-spec/qual-list
Collect free variables appearing in a list of specifiers or qualifiers.
Free-vars-spec/qual
Collect free variables appearing in a specifier or qualifier.
Free-vars-initer-option
Collect free variables appearing in an optional initializer.
Free-vars-genassoc-list
Collect free variables appearing in a generic association list.
Free-vars-enumspec
Collect free variables appearing in a enumeration specifier.
Free-vars-enumer
Collect free variables appearing in a enumerator.
Free-vars-dirabsdeclor
Collect free variables appearing in a direct abstract declarator.
Free-vars-desiniter
Collect free variables appearing in an initializer with optional designations.
Free-vars-designor-list
Collect free variables appearing in a list of designators.
Free-vars-declor
Collect free variables appearing in a declarator.
Free-vars-decl-spec-list
Collect free variables appearing in a list of declaration specifiers.
Free-vars-decl-spec
Collect free variables appearing in a declaration specifier.
Free-vars-decl
Collect free variables appearing in a declaration.
Free-vars-block-item
Collect free variables appearing in a block item.
Free-vars-attrib-spec
Collect free variables appearing in a GCC attribute specifier.
Free-vars-attrib-list
Collect free variables appearing in a list of GCC attribute.
Free-vars-asm-stmt
Collect free variables appearing in an assembler statement.
Free-vars-asm-output
Collect free variables appearing in an assembler output operand.
Free-vars-asm-input-list
Collect free variables appearing in a list of assembler input operands.
Free-vars-asm-input
Collect free variables appearing in an assembler input operand.
Free-vars-align-spec
Collect free variables appearing in a alignment specifier.
Free-vars-absdeclor-option
Collect free variables appearing in an optional abstract declarator.
Free-vars-absdeclor
Collect free variables appearing in an abstract declarator.
Free-vars-type-spec
Collect free variables appearing in a type specifier.
Free-vars-stmt
Collect free variables appearing in a statement.
Free-vars-label
Collect free variables appearing in a label.
Free-vars-initer
Collect free variables appearing in an initializer.
Free-vars-genassoc
Collect free variables appearing in a generic association.
Free-vars-expr-option
Collect free variables appearing in an optional expression.
Free-vars-expr-list
Collect free variables appearing in an expression list.
Free-vars-expr
Collect free variables appearing in an expression.
Free-vars-designor
Collect free variables appearing in a designator.
Free-vars-const-expr
Collect free variables appearing in a constant expression.
Free-vars-attrib
Collect free variables appearing in a GCC attribute.