• 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
              • Abstract-syntax-irrelevants
              • Expr-priority
              • Expr-priority-<=
              • Combine-dirabsdeclor-into-dirabsdeclor
              • Check-decl-spec-list-all-typespec/stoclass
              • Binop-expected-priorities
              • Expr->priority
              • Transunit-at-path
              • Check-expr-binary
              • Apply-pre-inc/dec-ops
              • Apply-post-inc/dec-ops
              • Check-spec/qual-list-all-typespec
              • Check-decl-spec-list-all-typespec
              • Check-expr-mul
              • Type-spec-list-signed-long-long-int-p
              • Expr-unary/postfix/primary-p
              • Expr-to-asg-expr-list
              • Transunit-ensemble-paths
              • Type-spec-list-signed-short-int-p
              • Type-spec-list-signed-long-long-p
              • Type-spec-list-signed-long-int-p
              • Expr-postfix/primary-p
              • Dirabsdeclor-declor?-nil-p
              • Check-strunispec-no-members
              • Type-spec-list-signed-short-p
              • Type-spec-list-signed-long-p
              • Type-spec-list-signed-int128-p
              • Type-spec-list-signed-char-p
              • Expr-zerop
              • Type-spec-list-unsigned-long-long-int-p
              • Type-spec-list-signed-int-p
              • Spec/qual-list-to-type-spec-list
              • Expr-priority->=
              • Expr-priority->
              • Expr-priority-<
              • Decl-spec-list-to-type-spec-list
              • Decl-spec-list-to-stor-spec-list
              • Check-enumspec-no-list
              • Type-spec-list-unsigned-short-int-p
              • Type-spec-list-unsigned-long-long-p
              • Type-spec-list-long-double-complex-p
              • Stor-spec-list-static-threadloc-p
              • Stor-spec-list-extern-threadloc-p
              • Binop->priority
              • Type-spec-list-unsigned-short-p
              • Type-spec-list-unsigned-long-int-p
              • Type-spec-list-unsigned-int128-p
              • Type-spec-list-signed-p
              • Type-spec-list-long-long-int-p
              • Type-spec-list-double-complex-p
              • Type-spec-list-unsigned-long-p
              • Type-spec-list-unsigned-int-p
              • Type-spec-list-unsigned-char-p
              • Type-spec-list-long-double-p
              • Type-spec-list-float-complex-p
              • Type-spec-list-short-int-p
              • Type-spec-list-long-long-p
              • Type-spec-list-long-int-p
              • Stringlit-list->prefix?-list
              • Stor-spec-list-typedef-p
              • Stor-spec-list-threadloc-p
              • Stor-spec-list-static-p
              • Stor-spec-list-register-p
              • Stor-spec-list-extern-p
              • Type-spec-list-unsigned-p
              • Type-spec-list-short-p
              • Type-spec-list-long-p
              • Type-spec-list-int128-p
              • Type-spec-list-float-p
              • Type-spec-list-double-p
              • Type-spec-list-char-p
              • Stor-spec-list-auto-p
              • Check-expr-iconst
              • Type-spec-list-int-p
              • Check-expr-ident
              • Declor->ident
              • Type-spec-list-permp
              • Initdeclor->ident
            • Validation-information
            • 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
  • Syntax-for-tools

Abstract-syntax-operations

Operations on the abstract syntax.

Subtopics

Abstract-syntax-irrelevants
Irrelevant values of the abstract syntax fixtypes.
Expr-priority
Fixtype of expression priorities.
Expr-priority-<=
Total order on expression priorities: less than or equal to.
Combine-dirabsdeclor-into-dirabsdeclor
Combine a direct abstract declarator into another.
Check-decl-spec-list-all-typespec/stoclass
Check if all the declaration specifiers in a list are type specifiers or storage class specifiers.
Binop-expected-priorities
Expected expression priorities of the operands of the binary operators.
Expr->priority
Priorities of expressions.
Transunit-at-path
Translation unit at a certain path in a translation unit ensemble.
Check-expr-binary
Check if an expression is a binary expression.
Apply-pre-inc/dec-ops
Apply a sequence of pre-increment and pre-decrement operators to an expression.
Apply-post-inc/dec-ops
Apply a sequence of post-increment and post-decrement operators to an expression.
Check-spec/qual-list-all-typespec
Check if all the specifiers and qualifiers in a list are type specifiers.
Check-decl-spec-list-all-typespec
Check if all the declaration specifiers in a list are type specifiers.
Check-expr-mul
Check if an expression is a multiplication.
Type-spec-list-signed-long-long-int-p
Check if a list of type specifiers has the form signed long long int or any permutation of it, including the GCC underscore variations of signed.
Expr-unary/postfix/primary-p
Check if an expression is unary or postfix or primary.
Expr-to-asg-expr-list
Turn an expression into a list of assignment expressions.
Transunit-ensemble-paths
Set of file paths in a translation unit ensemble.
Type-spec-list-signed-short-int-p
Check if a list of type specifiers has the form signed short int or any permutation of it, including the GCC underscore variations of signed.
Type-spec-list-signed-long-long-p
Check if a list of type specifiers has the form signed long long or any permutation of it, including the GCC underscore variations of signed.
Type-spec-list-signed-long-int-p
Check if a list of type specifiers has the form signed long int or any permutation of it, including the GCC underscore variations of signed.
Expr-postfix/primary-p
Check if an expression is postfix or primary.
Dirabsdeclor-declor?-nil-p
Check if a direct abstract declarator has a declor? component that is nil.
Check-strunispec-no-members
Check if a structure or union specifier has no members, returning the name if the check passes.
Type-spec-list-signed-short-p
Check if a list of type specifiers has the form signed short or short signed, including the GCC underscore variations of signed.
Type-spec-list-signed-long-p
Check if a list of type specifiers has the form signed long or long signed, including the GCC underscore variations of signed.
Type-spec-list-signed-int128-p
Check if a list of type specifiers has the form signed __int128 or __int128 signed, including the GCC underscore variations of signed.
Type-spec-list-signed-char-p
Check if a list of type specifiers has the form signed char or char signed, including the GCC underscore variations of signed.
Expr-zerop
Check if an expression is zero.
Type-spec-list-unsigned-long-long-int-p
Check if a list of type specifiers has the form unsigned long long int or any permutation of it.
Type-spec-list-signed-int-p
Check if a list of type specifiers has the form signed int or int signed, including the GCC underscore variations of signed.
Spec/qual-list-to-type-spec-list
Extract the list of type specifiers from a list of type specifiers and qualifiers, preserving the order.
Expr-priority->=
Total order on expression priorities: greater than or equal to.
Expr-priority->
Total order on expression priorities: greater than.
Expr-priority-<
Total order on expression priorities: less than.
Decl-spec-list-to-type-spec-list
Extract the list of type specifiers from a list of declaration specifiers, preserving the order.
Decl-spec-list-to-stor-spec-list
Extract the list of storage class specifiers from a list of declaration specifiers, preserving the order.
Check-enumspec-no-list
Check if an enumeration union specifier has no enumerators, returning the name if the check passes.
Type-spec-list-unsigned-short-int-p
Check if a list of type specifiers has the form unsigned short int or any permutation of it.
Type-spec-list-unsigned-long-long-p
Check if a list of type specifiers has the form unsigned long long or any permutation of it.
Type-spec-list-long-double-complex-p
Check if a list of type specifiers has the form long double _Complex or any permutation of it.
Stor-spec-list-static-threadloc-p
Check if a list of storage class specifiers has the form static _Thread_local or _Thread_local static.
Stor-spec-list-extern-threadloc-p
Check if a list of storage class specifiers has the form extern _Thread_local or _Thread_local extern.
Binop->priority
Priority of (binary expressions with) operators.
Type-spec-list-unsigned-short-p
Check if a list of type specifiers has the form unsigned short or short unsigned.
Type-spec-list-unsigned-long-int-p
Check if a list of type specifiers has the form unsigned long int or any permutation of it.
Type-spec-list-unsigned-int128-p
Check if a list of type specifiers has the form unsigned __int128 or __int128 unsigned.
Type-spec-list-signed-p
Check if a list of type specifiers has the form signed, including the GCC underscore variations of signed.
Type-spec-list-long-long-int-p
Check if a list of type specifiers has the form long long int or any permutation of it.
Type-spec-list-double-complex-p
Check if a list of type specifiers has the form double _Complex or _Complex double.
Type-spec-list-unsigned-long-p
Check if a list of type specifiers has the form unsigned long or long unsigned.
Type-spec-list-unsigned-int-p
Check if a list of type specifiers has the form unsigned int or int unsigned.
Type-spec-list-unsigned-char-p
Check if a list of type specifiers has the form unsigned char or char unsigned.
Type-spec-list-long-double-p
Check if a list of type specifiers has the form long double or double long.
Type-spec-list-float-complex-p
Check if a list of type specifiers has the form float _Complex or _Complex float.
Type-spec-list-short-int-p
Check if a list of type specifiers has the form short int or int short.
Type-spec-list-long-long-p
Check if a list of type specifiers has the form long long.
Type-spec-list-long-int-p
Check if a list of type specifiers has the form long int or int long.
Stringlit-list->prefix?-list
Lift stringlit->prefix? to lists.
Stor-spec-list-typedef-p
Check if a list of storage class specifiers has the form typedef.
Stor-spec-list-threadloc-p
Check if a list of storage class specifiers has the form _Thread_local.
Stor-spec-list-static-p
Check if a list of storage class specifiers has the form static.
Stor-spec-list-register-p
Check if a list of storage class specifiers has the form register.
Stor-spec-list-extern-p
Check if a list of storage class specifiers has the form extern.
Type-spec-list-unsigned-p
Check if a list of type specifiers has the form unsigned.
Type-spec-list-short-p
Check if a list of type specifiers has the form short.
Type-spec-list-long-p
Check if a list of type specifiers has the form long.
Type-spec-list-int128-p
Check if a list of type specifiers has the form __int128.
Type-spec-list-float-p
Check if a list of type specifiers has the form float.
Type-spec-list-double-p
Check if a list of type specifiers has the form double.
Type-spec-list-char-p
Check if a list of type specifiers has the form char.
Stor-spec-list-auto-p
Check if a list of storage class specifiers has the form auto.
Check-expr-iconst
Check if an expression is an integer constant, returning the integer constant if the check passes.
Type-spec-list-int-p
Check if a list of type specifiers has the form int.
Check-expr-ident
Check if an expression is an identifier, returning the identifier if the check passes.
Declor->ident
Identifier of a declarator.
Type-spec-list-permp
Check if two lists of type specifiers are permutations.
Initdeclor->ident
Identifier of an initializer declarator.