Next: Procedural Temporaries, Previous: Typeless Anonymous Arguments, Up: Procedural Language Interpreter [Index]
Allowing functions to return non scalar data requires copying or referencing returned data and making arrangements for later collection.
If functions are to be allowed to return non scalar data an abridged
temporaries allocator must be provided for the parser. The later collection
arrangement for the returned non scalar data will be made against the provided
allocator. Also, the X1f4_A1_LEADCAST
bit must be present in the
program parsing flags.
See Temporaries Allocator Construct.
See struct x1f4_a1_type.
See Procedural Language Interpreter Generation Flags.
The program parser will allow (upon X1f4_A1_LEADCAST
) intrinsic string
data returns and referable or copyable data returns. The latter are identified
as belonging to data types that allow multiple data references or that can copy
data, specifically, data types that set the lead
and slip
methods
in their struct x1f4_datatype_type
descriptions.
See struct x1f4_datatype_type.
See Referable Objects.
The object type, though does not fall in any of the enumerated categories, is also allowed for function returns when its type definition is included with the non declarable data type definitions array.
See The Object Type.
Only the intrinsic types and the types described by the datatype_set
and
sidetype_set
arrays in the struct x1f4_a1_type
parsing context
are considered for allowed return types.