Next: , Up: Imperative Language Interpreter Types


4.8.2.1 struct x1f4_c1_type

typedef struct x1f4_c1_type {
    int completion, detail;
    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 {
	const void *context;
    } variable_set;
    struct {
	struct x1f4_c1record_type *c1record_data;
    } bcollect_set;
    struct {
	int (*free) (void *, void *), (*link) (void *, void **, unsigned),
	    (*mode) (void *, void **, unsigned);
	void *context;
    } resource_set;
    struct {
	int (*free) (void *, void *);
	void *data;
    } flattext_set;
    struct {
	void *context;
	const void *miss;
    } datatype_set;
    const struct x1f4_operator_type **operator1s, **operator2s;
    void *context;
} x1f4_c1_type;

The struct x1f4_c1_type describes the program parsing context.

The fields that are always interpreted by the program parsing functions are:

function_set
specifies the functions set as:
fix
the function specific execution context retriever method

See Per Function Execution Contexts.

get
the function look up method
context
the function look up context

See Functions.

variable_set
specifies the variables set as:
context
the variables collection to observe

See Variables Collections.

See Variables.

operator1s
specifies the prefix unary operators set

See Prefix Unary Operators.

operator2s
specifies the infix binary operators set

See Infix Binary Operators.

The fields that are interpreted only if so requested are:

See Imperative Language Interpreter Generation Flags.

bcollect_set
specifies some parsing error collector as:
c1record_data
the very error collector

See struct x1f4_c1record_type.

See Imperative Program Parsing Error Reporting.


context
specifies the expression optimization context. It is passed as argument to the expression optimization routine and it is otherwise unused.

See x1f4_line_expression.

See Optimizing Expressions.

datatype_set
specifies the application defined declarable types as:
context
some general application defined declarable types context, a pointer passed to various methods in the application defined declarable type definitions and not used otherwise.

See struct x1f4_datatype_type.

miss
the null terminated struct x1f4_datatype_type application defined declarable type definitions array. Here the null terminated means the last struct x1f4_datatype_type record in the array has its name field set to NULL.

See Data Type Definition.

See Application Defined Types.


flattext_set
specifies the string deallocation context as:
free
the method to employ for free deallocation, passed the string deallocation context (the data field in the flattext_set record) and the string to deallocate. Its return value is interpreted as a processing status, 0 for success, non zero for failure.
data
the string deallocation context, passed as the first argument to the string deallocation method (the free field in the flattext_set record), not interpreted otherwise.

See Execution Completion Cleanup.

The string data to deallocate making the object of current string deallocation topic is string data allocated during program execution, by the application supplied functions and operators. No string data is allocated by the program interpreter itself. This data is referred by string (`text') variables.

See Imperative Language Syntax.

See Intrinsic Types.

resource_set
specifies an alternate memory manager as:
free
a memory deallocater method
link
a memory allocator method
mode
a memory reallocator method
context
the memory management context

See Memory Allocator Construct.