Amb-declor/absdeclor
Fixtype of ambiguous declarators or abstract declarators.
This is a product type introduced by fty::defprod.
Fields
- declor — declor
- absdeclor — absdeclor
A parameter declaration may include, after the declaration specifiers,
either a declarator or an abstract declarator (or also nothing).
Syntactically,
there is a complex overlap between declarators and abstract declarators.
For instance, if I is an identifier, (I) could be
either a direct declarator for the parenthesized identifier
or a function abstract declarator
where I is a type specifier for the (one) parameter.
But this is just a simple example:
there are infinite overlapping constructs,
e.g. obtained by adding array and function declarator parts to (I),
but not only those.
So here, analogously to amb-expr/tyname,
we introduce a fixtype to capture constructs that, syntactically,
are both declarators and abstract declarators.
The two components of this fixtype should be the same in concrete syntax,
but we do not enforce that in the fixtype.
Subtopics
- Amb-declor/absdeclor-equiv
- Basic equivalence relation for amb-declor/absdeclor structures.
- Make-amb-declor/absdeclor
- Basic constructor macro for amb-declor/absdeclor structures.
- Amb-declor/absdeclor->absdeclor
- Get the absdeclor field from a amb-declor/absdeclor.
- Amb-declor/absdeclor->declor
- Get the declor field from a amb-declor/absdeclor.
- Change-amb-declor/absdeclor
- Modifying constructor for amb-declor/absdeclor structures.
- Amb-declor/absdeclor-p
- Recognizer for amb-declor/absdeclor structures.
- Amb-declor/absdeclor-fix
- Fixing function for amb-declor/absdeclor structures.
- Amb-declor/absdeclor-count
- Measure for recurring over amb-declor/absdeclor structures.