Next: , Up: Expression Evaluator Types


2.20.2.1 struct x1f4_attributes_type

typedef struct x1f4_attributes_type {
    int completion, terminator;
    struct {
        int (*get) (const char *, unsigned, const void *,
                    const struct x1f4_function_type **);
        const void *context;
    } function_set;
    struct {
        int (*fix) (const void *, const struct x1f4_function_type *, void **),
            (*get) (const char *, unsigned, const void *,
                    const struct x1f4_variable_type **, void **);
        const void *context;
    } variable_set;
    struct {
	struct x1f4_eerecord_type *eerecord_data;
    } bcollect_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;
    const struct x1f4_operator_type **operator1s, **operator2s;
} x1f4_attributes_type;

The struct x1f4_attributes_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

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:
get
the variable look up method
context
the variable look up context

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 by default or if so requested are:

terminator
indicates the character whose first occurence marks the textual expression completion

See Completions.

See Syntax.

The fields that are interpreted only if so requested are:

completion
specifies textual expression completion syntax

See Completions.

See 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 deallocater method
link
a memory allocator method
mode
a memory reallocator method
context
the memory management context

See Memory Allocator Construct.

See Replacing Default Memory Manager.

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.