Unop
Fixtype of unary operators [C:6.5.3].
This is a tagged union type, introduced by fty::deftagsum.
Member Tags → Types
- :address → unop-address
- :indir → unop-indir
- :plus → unop-plus
- :minus → unop-minus
- :bitnot → unop-bitnot
- :lognot → unop-lognot
We capture all of them:
address,
indirection,
unary plus,
unary minus,
bitwise negation/complement,
and logical negation/complement.
Note that preincrement ++ and predecrement --
are not considered unary operators in the C grammar [C:6.5.3/1],
even though preincrement and predecrement expressions
are considered unary expressions,
along with others with the sizeof and _Alignof operators,
and even though the title of [C:6.5.3] is `Unary Operators'.
We may include all those operators into this fixtype in the future,
since it makes sense from the point of view of the abstract syntax.
Subtopics
- Unop-case
- Case macro for the different kinds of unop structures.
- Unop-fix
- Fixing function for unop structures.
- Unopp
- Recognizer for unop structures.
- Unop-equiv
- Basic equivalence relation for unop structures.
- Unop-plus
- Unop-minus
- Unop-lognot
- Unop-kind
- Get the kind (tag) of a unop structure.
- Unop-indir
- Unop-bitnot
- Unop-address