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_set
specifies the functions set as:
fix
the function specific execution context retriever method
get
the function look up method
context
the function look up context
See Functions.
variable_set
specifies the variables set as:
get
the variable look up method
See Defining Variables.
context
the variable look up context
See Variables.
operator1s
specifies the prefix unary operators set
operator2s
specifies the infix binary operators set
The fields that are interpreted only if so requested are:
completion
specifies textual expression completion syntax
See Completions.
See Expression Syntax.
terminator
indicates the character whose first occurence marks the textual expression completion
See Completions.
See Expression Syntax.
bcollect_set
specifies some parsing error collector as:
eerecord_data
the very error collector
See struct x1f4_eerecord_type.
See Error Reporting.
resource_set
specifies an alternate memory manager as:
free
a memory deallocation method
link
a memory allocation method
mode
a memory reallocation method
context
the memory management context
implicit_set
specifies the prefix unary operator converters set as:
get
the converter look up method
context
the converter look up context
composer_set
specifies the single parameter function converters set
internal_set
specifies the maximum already recorded stack sizes that needs to be updated if exceeded as:
s1st
the first stack size maximum size record address
s2nd
the second stack size maximum size record address
See Managing Stacks.
datalink_set
specifies the addresses of the stack to be used as:
v1st
the first stack address
v2nd
the second stack address
See Managing Stacks.
transfer_set
specifies a function type mapper to be used as:
fine
the mapper object
See Function Pointers.
sequence_set
specifies the usable expression type as:
type
the 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_set
specifies the strippable function prefixes collection as:
fine
a 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_set
specifies the ‘object’ data caller as:
linetext
the 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_data
the 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]