Fields can be declared to have a given type by using the %type
special field in a record descriptor. The synopsis is:
%type: field_list type_name_or_description
Where field_list is a list of field names separated by
commas. type_name_or_description can be either a type name
declared with %typedef
, or a type description. Type names are
useful when several fields are declared to be of the same type:
%typedef: Id_t int %type: Id Id_t %type: Product Id_t
Anonymous types can be used by writing a type description instead of a
type name. They help to avoid superfluous type declarations. A
record containing a single Id field, for example, can be defined
without having to use a %typedef
in the following way:
%rec: Task %type: Id int