Abstract-syntax-operations
Operations on the abstract syntax.
Subtopics
- 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-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.
- Apply-pre-inc/dec-ops
- Apply a sequence of pre-increment and pre-decrement operators
to an expression.
- 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.
- 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-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.
- Dirabsdeclor-decl?-nil-p
- Check if a direct abstract declarator has
a decl? component that is nil.
- 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-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-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.
- Irr-amb?-declor/absdeclor
- An irrelevant possibly ambiguous declarators or abstract declarators.
- Irr-typequal/attribspec
- An irrelevant type qualifier or attribute specifier.
- Irr-transunit-ensemble
- An irrelevant ensemble of translation units.
- Irr-declor/absdeclor
- An irrelevant declarator or abstract declarator.
- Irr-asm-stmt
- An irrelevant assembler statement.
- Irr-amb?-expr/tyname
- An irrelevant possibly ambiguous expression or type name.
- Irr-amb?-decl/stmt
- An irrelevant possibly ambiguous declaration or statement.
- Irr-strunispec
- An irrelevant structure or union specifier.
- Irr-structdeclor
- An irrelevant structure declarator.
- Irr-structdecl
- An irrelevant structure declaration.
- Irr-stringlit
- An irrelevant string literal.
- Irr-stor-spec
- An irrelevant storage class specifier.
- Irr-statassert
- An irrelevant static assertion declaration.
- Irr-spec/qual
- An irrelevant type specifier or type qualifier.
- Irr-paramdeclor
- An irrelevant parameter declarator.
- Irr-paramdecl
- An irrelevant parameter declaration.
- Irr-member-designor
- An irrelevant member designator.
- Irr-initdeclor
- An irrelevant initializer declarator.
- Irr-hex-quad
- An irrelevant quadruple of hexadecimal digits.
- Irr-fundef
- An irrelevant function definition.
- Irr-expr/tyname
- An irrelevant expression or type name.
- Irr-enumspec
- An irrelevant enumeration specifier.
- Irr-dirdeclor
- An irrelevant direct declarator.
- Irr-dirabsdeclor
- An irrelevant direct abstract declarator.
- Irr-desiniter
- An irrelevant initializer with optional designation.
- Irr-decl/stmt
- An irrelevant declaration or statement.
- Irr-decl-spec
- An irrelevant declaration specifier.
- Irr-dec-expo-prefix
- An irrelevant decimal exponent prefix.
- Irr-dec-expo
- An irrelevant decimal exponent.
- Irr-const-expr
- An irrelevant constant expression.
- Irr-bin-expo-prefix
- An irrelevant binary exponent prefix.
- Irr-bin-expo
- An irrelevant binary exponent.
- Irr-attrib-spec
- An irrelevant attribute specifier.
- Irr-attrib-name
- An irrelevant attribute name.
- Irr-asm-output
- An irrelevant assembler output operand.
- Irr-asm-name-spec
- An irrelevant assembler name specifier.
- Irr-asm-input
- An irrelevant assembler input operand.
- Irr-asm-clobber
- An irrelevant assembler clobber.
- Irr-align-spec
- An irrelevant alignment specifier.
- Irr-absdeclor
- An irrelevant abstract declarator.
- Irr-unop
- An irrelevant unary operator.
- Irr-type-spec
- An irrelevant type specifier.
- Irr-type-qual
- An irrelevant type qualifier.
- Irr-tyname
- An irrelevant type name.
- Irr-transunit
- An irrelevant translation unit.
- Irr-stmt
- An irrelevant statement.
- Irr-label
- An irrelevant label.
- Irr-initer
- An irrelevant initializer.
- Irr-ident
- An irrelevant identifier.
- Irr-genassoc
- An irrelevant generic association.
- Irr-fun-spec
- An irrelevant function specifier.
- Irr-extdecl
- An irrelevant external declaration.
- Irr-expr
- An irrelevant expression.
- Irr-escape
- An irrelevant escape.
- Irr-enumer
- An irrelevant enumerator.
- Irr-designor
- An irrelevant designator.
- Irr-declor
- An irrelevant declarator.
- Irr-decl
- An irrelevant declaration.
- Irr-const
- An irrelevant constant.
- Irr-block-item
- An irrelevant block item.
- Irr-binop
- An irrelevant binary operator.
- Irr-attrib
- An irrelevant attribute.
- Irr-asm-qual
- An irrelevant assembler qualifier.