Subfunctions are initiated by two bits for the type of subfunction:
If the subfunction is a value (Introduction:
), the value is directly following after the introduction
. The number of bits of the value is determined by the appropriate domain for subfunctions "subfunction" (see section 21.2.4 on page
).
If the subfunction is a variable (Introduction:
), the variable identifier /name, of a variable defined above the function element, is directly following after the introduction
. The number of bits of the variable identifier is determined by the appropriate domain for variables "variable" (see section 21.2.4 on page
).
If the subfunction has an arity of one (introduction:
), a (at least 2 bits) bit field follows directly the introduction
, which indicates the type of subfunction. Immediately after the bit field follows another subfunction (initiated by the 2 bits for its type), which is the subfunction of the subfunction with arity of one.
Values for the type of a subfunction with an arity of one:
If the subfunction has an arity of two (introduction:
), a (at least 3 bits) bit field follows directly the introduction
, which indicates the type of subfunction. Immediately after the bit field follow two other subfunctions (initiated each by the 2 bits for their type), which are the subfunctions of the subfunction with arity of two.
Values for the type of a subfunction with an arity of two:
Example:
, mult( sin( 5 ),
), ... )
bit natural number): 00 0101
(the first variable in the part object branch, introduction for "variable" and the 4 bit variable identifier): 01 0001