Fixtype of expression values.
This is a product type introduced by fty::defprod.
An expression may yield a value or designate an object [C:6.5/1]
(unless the expression has
Thus, we introduce a notion of expression value as the things returned by evaluating an expression in our dynamic semantics. An expression value consists of a value and an optional object designator: an expression that returns just a value in C returns an expression value without object designator in our model; an expression that designates an object in C returns an expression value with an object designator in our model, along with the value of the object. Having the value, in addition to the object designator, makes it convenient to access the value, without having to read it from the computation state.
[C] does not provide a specific term to denote something returned by an expression, i.e. something that is either a value or an object designator. In our model, we formalize that as an expression value, which is essentially an extended notion of value as it pertains to expressions, which includes values proper and object designators.