typedef struct x1f4_a1_type {
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_a1record_type *a1record_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 {
const char **argv;
unsigned argc;
} argument_set;
struct x1f4_frame_type autolink_set;
struct x1f4_trans_type codelink_set;
const struct x1f4_operator_type *const *operator1s, *const *operator2s;
} x1f4_a1_type;
The struct x1f4_a1_type 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
autolink_setspecifies the temporaries allocator.
See Temporaries.
The fields that are interpreted only if so requested are:
See Procedural Language Interpreter Generation Flags.
argument_setspecifies the intrinsic string arguments for variadic ‘main’ functions as:
argvthe array of pointers to the strings that are to be used for ‘main’ arguments
argcthe number of arguments
bcollect_setspecifies some parsing error collector as:
a1record_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.
See Application Defined Types.
See struct x1f4_datatype_type.
The array may be accessed throughout program execution.
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.
See Application Defined Types.
See struct x1f4_datatype_type.
The array may be accessed throughout program execution.
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 non scalar function returns recorder as:
linkthe memory allocation method
pickthe temporary collection routine registering method
contextthe temporaries collection context
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_A1_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.