typedef struct x1f4_c1_type {
int completion, detail;
struct x1f4_track_type textflat_set;
struct {
struct x1f4_eelookup_type *eelookup_data;
} eelookup_set;
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 {
int (*get)(void *, int, int, const struct x1f4_operator_type **);
void *context;
} implicit_set;
struct x1f4_composer_type composer_set;
struct {
struct x1f4_c1record_type *c1record_data;
} bcollect_set;
struct {
void *fine;
} transfer_set;
struct x1f4_trans_type resource_set;
struct {
int (*link)(void *, void **, unsigned),
(*pick)(void *, void ***, int (*)(void *), unsigned, void **);
void *context;
} autolead_set;
struct {
const void *miss;
} datatype_set;
struct {
const void *miss;
} sidetype_set;
struct {
struct x1f4_progress_type *progress_data;
} traverse_set;
struct x1f4_trans_type codelink_set;
const struct x1f4_operator_type *const *operator1s, *const *operator2s;
} x1f4_c1_type;
The struct x1f4_c1_type record describes the program parsing context.
The fields that are always interpreted by the program 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:
contextthe variables collection to observe
See Variables.
operator1sspecifies the prefix unary operators set
operator2sspecifies the infix binary operators set
The fields that are interpreted only if so requested are:
See Imperative Language Interpreter Generation Flags.
completionspecifies textual program completion syntax
See Program Completions.
detailindicates the type that the first ‘return’ introduced expression must
match if one such expression is expected (i.e. if completion is
X1f4_C1_TURN_COMPLETION).
See Program Completions.
bcollect_setspecifies some parsing error collector as:
c1record_datathe very error collector
datatype_setspecifies the application defined declarable types as:
missthe 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.
sidetype_setspecifies the application defined non declarable types as:
missthe 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.
The non declarable data types are allowed for function returns and parameters, but not for variable declarations.
resource_setspecifies an alternate memory manager.
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
autolead_setspecifies the return expression result recorder as:
linkthe memory allocation method
pickthe temporary collection routine registering method
contextthe temporaries collection context
See Non Scalar Function Returns.
See Temporaries Allocator Construct.
The expression is introduced via the ‘return’ keyword.
See Program Completions.
transfer_setspecifies a function type mapper to be used as:
finethe mapper object
See Function Pointers.
See Function Pointer Type Alloter.
If no mapper is specified (either X1f4_C1_TRANSFER is missing in the
flags argument of the program parser function or fine is nil) a function
type mapper is constructed and used instead.
textflat_setspecifies the error reporter.
eelookup_setspecifies a name lookup context as:
eelookup_datathe data type name lookup context, used for error reporting
codelink_setspecifies the program executable allocator (allocates memory for the program
executable representation only, not for program execution and not for program
created data (strings, etc)). If not set and resource_set is, the
latter is used instead.
traverse_setspecifies the collection traversal modes as:
missthe null terminated struct x1f4_progress_type traversal mode definitions
array. Here the null terminated means the last struct
x1f4_progress_type record in the array has its count field set to
0.