Next: , Previous: Printing, Up: Expression Evaluator

2.16 Application Defined Types

The expression evaluator supports application defined opaque data types. They are somehow similar to the intrinsic data types, especially the string data type. There is no special way to introduce them, simply setting the type member in the variable, operator and function definitions or the corresponding element of the args array in operator and function definition should do it.

See struct x1f4_variable_type.

See struct x1f4_operator_type.

See struct x1f4_function_type.

The application defined data types are supported via references, thus all the data interpretation is performed by the application.

The expression evaluator does not interpret values of application defined data types.

Constants of application defined data types are not permitted (this is the only significant difference between the application defined data types and the string type).

The C type for application defined data type values is X1f4_E4_C_USER, the good old void pointer.

See C Types.

The application defined data type codes (the values through which they are identified) should be greater than X1f4_E4_LAST.

See Symbolic Types.

As for the string type, there are no implicit conversions.

There are no conversions between two different application defined data types.

There are no conversion between any of the intrinsic types and an application defined data type.