Next: struct x1f4_eelookup_type, Previous: struct x1f4_deprefix_type, Up: Types [Index]
typedef struct x1f4_e4_type {
    int completion, terminator;
    struct {
        int (*fix)(const void *, const struct x1f4_function_type *, void **),
            (*get)(const char *, unsigned, const void *,
                   const struct x1f4_function_type **);
        const void *context;
    } function_set;
    struct {
        int (*get)(const char *, unsigned, const void *,
                   const struct x1f4_variable_type **, void **);
        const void *context;
    } variable_set;
    struct {
	int (*get)(void *, int, int, const struct x1f4_operator_type **);
	void *context;
    } implicit_set;
    struct x1f4_composer_type composer_set;
    struct {
        struct x1f4_eerecord_type *eerecord_data;
    } bcollect_set;
    struct {
        void *fine;
    } transfer_set;
    struct {
        int (*free)(void *, void *), (*link)(void *, void **, unsigned),
            (*mode)(void *, void **, unsigned);
        void *context;
    } resource_set;
    struct {
        unsigned *s1st, *s2nd;
    } internal_set;
    struct {
        void *v1st, *v2nd;
    } datalink_set;
    struct {
	int type;
    } sequence_set;
    struct {
	void *fine;
    } deprefix_set;
    struct {
	struct x1f4_linetext_type **linetext;
	struct x1f4_variable_type *variable_data;
    } casecall_set;
    const struct x1f4_operator_type *const *operator1s, *const *operator2s;
} x1f4_e4_type;
The struct x1f4_e4_type record describes the expression
interpretation context.
The fields that are always interpreted by the expression parsing functions are:
function_setspecifies the functions set as:
fixthe function specific execution context retriever method
getthe function look up method
contextthe function look up context
See Functions.
variable_setspecifies the variables set as:
getthe variable look up method
See Defining Variables.
contextthe variable look up context
See Variables.
operator1sspecifies the prefix unary operators set
operator2sspecifies the infix binary operators set
The fields that are interpreted only if so requested are:
completionspecifies textual expression completion syntax
See Completions.
See Expression Syntax.
terminatorindicates the character whose first occurence marks the textual expression completion
See Completions.
See Expression Syntax.
bcollect_setspecifies some parsing error collector as:
eerecord_datathe very error collector
See struct x1f4_eerecord_type.
See Error Reporting.
resource_setspecifies an alternate memory manager as:
freea memory deallocation method
linka memory allocation method
modea memory reallocation method
contextthe memory management context
implicit_setspecifies the prefix unary operator converters set as:
getthe converter look up method
contextthe converter look up context
composer_setspecifies the single parameter function converters set
internal_setspecifies the maximum already recorded stack sizes that needs to be updated if exceeded as:
s1stthe first stack size maximum size record address
s2ndthe second stack size maximum size record address
See Managing Stacks.
datalink_setspecifies the addresses of the stack to be used as:
v1stthe first stack address
v2ndthe second stack address
See Managing Stacks.
transfer_setspecifies a function type mapper to be used as:
finethe mapper object
See Function Pointers.
sequence_setspecifies the usable expression type as:
typethe type id
See Intrinsic Types.
See Application Defined Types.
See x1f4_type_expression.
The expression parser will transform the expression by means of implicit conversions so that it evaluates to the specified type. If the type conversion is not possible the expression parsing is failed.
See Implicit Conversions.
deprefix_setspecifies the strippable function prefixes collection as:
finea type id to list of prefixes associative array.
The prefixes are introduced in the struct x1f4_deprefix_type record
definition, with one null terminated array per type (the last record in the
array has its name and size fields set as NULL and
0 respectively).
See Strippable Prefixes.
casecall_setspecifies the ‘object’ data caller as:
linetextthe address where a pointer to the struct x1f4_linetext_type definition
of the ‘object’ caller function is stored.
See struct x1f4_linetext_type.
The described function calls the function described by its first ‘object’ argument with its remaining arguments, the same way the ‘call’ function of the trap library does.
See Trap Library.
variable_datathe address of the struct x1f4_variable_type record describing a
matching call variable (its type field is not used).  The
variable value is the one at linetext.
The memory locations pointed to by both ‘linetext’ and ‘variable_data’ are expected accessible and meaningfully set during the constructed expression use and destruction.
Next: struct x1f4_eelookup_type, Previous: struct x1f4_deprefix_type, Up: Types [Index]