9 #ifndef __AFW_COMPILE_H__
10 #define __AFW_COMPILE_H__
43 afw_compile_residual_check_none,
44 afw_compile_residual_check_to_newline,
45 afw_compile_residual_check_to_full
118 #define afw_compile_and_evaluate_type( \
119 compile_type, string, source_location, p, xctx) \
120 afw_compile_and_evaluate(string, source_location, \
121 afw_compile_type_ ## compile_type, p, xctx)
189 #define afw_compile_to_value(string, source_location, compile_type, \
190 parent, shared, p, xctx) \
191 afw_compile_to_value_with_callback(string, NULL, NULL, \
192 source_location, compile_type, afw_compile_residual_check_to_full, \
193 parent, shared, p, xctx)
210 #define afw_compile_expression(string, source_location, parent, shared, \
212 afw_compile_to_value_with_callback(string, NULL, NULL, \
213 source_location, afw_compile_type_expression, \
214 afw_compile_residual_check_to_full, \
215 parent, shared, p, xctx)
256 #define afw_compile_hybrid_source(string, source_location, parent, shared, \
258 afw_compile_to_value_with_callback(string, NULL, NULL, \
259 source_location, afw_compile_type_hybrid, \
260 afw_compile_residual_check_to_full, \
261 parent, shared, p, xctx)
278 #define afw_compile_template(string, source_location, parent, shared, \
280 afw_compile_to_value_with_callback(string, NULL, NULL, \
281 source_location, afw_compile_type_template, \
282 afw_compile_residual_check_to_full, \
283 parent, shared, p, xctx)
#define AFW_BEGIN_DECLARES
#define AFW_DECLARE(type)
Declare a public afw function.
Interfaceafw_interface header.
int(* afw_utf8_octet_get_cb_t)(afw_utf8_octet_t *octet, void *data, afw_xctx_t *xctx)
Get an utf-8 octet (8 bits).
enum afw_compile_type_e afw_compile_type_t
Compile type enum.
enum afw_compile_residual_check_e afw_compile_residual_check_t
Residual checking options.
void afw_compile_expressions_templates_and_hybrids(const afw_object_t *object, const afw_utf8_t *source_location, afw_boolean_t recursive, const afw_compile_shared_t *shared, afw_xctx_t *xctx)
Compile object's expressions, templates, and hybrids.
const afw_object_t * afw_compile_object_all_hybrid_properties(const afw_object_t *object, const afw_utf8_t *source_location, const afw_compile_shared_t *shared, const afw_pool_t *p, afw_xctx_t *xctx)
Compile an object with all hybrid properties.
const afw_compile_type_info_t * afw_compile_type_get_info(afw_compile_type_t compile_type, const afw_xctx_t *xctx)
Return info for a afw_compile_type_t.
const afw_compile_shared_t * afw_compile_shared_create(const afw_pool_t *p, afw_xctx_t *xctx)
Created a struct for sharing resources by multiple compiles.
const afw_value_t * afw_compile_to_value_with_callback(const afw_utf8_t *string, afw_utf8_octet_get_cb_t callback, void *callback_data, const afw_utf8_t *source_location, afw_compile_type_t compile_type, afw_compile_residual_check_t residual_check, const afw_value_compiled_value_t *parent, const afw_compile_shared_t *shared, const afw_pool_t *p, afw_xctx_t *xctx)
Compile string to adaptive value with callback.
const afw_value_t * afw_compile_and_evaluate(const afw_utf8_t *string, const afw_utf8_t *source_location, afw_compile_type_t compile_type, const afw_pool_t *p, afw_xctx_t *xctx)
Compile and evaluate a string.
const afw_utf8_t * afw_compile_source_location_of_value(const afw_value_t *value, const afw_pool_t *p, afw_xctx_t *xctx)
Return the source location of a value.
const afw_compile_type_info_t * afw_compile_type_get_info_by_pneumonic(const afw_utf8_t *pneumonic, const afw_xctx_t *xctx)
Return compile type info for a pneumonic.
const afw_object_t * afw_compile_to_object(const afw_utf8_t *string, const afw_utf8_t *source_location, const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, afw_boolean_t cede_p, const afw_pool_t *p, afw_xctx_t *xctx)
Compile string to adaptive object.
afw_compile_residual_check_e
Residual checking options.
void afw_compile_split_qualified_name(const afw_utf8_t *qualified_name, afw_utf8_t *qualifier, afw_utf8_t *name, afw_xctx_t *xctx)
Split name with optional qualifier.
const afw_value_t * afw_compile_hybrid(const afw_value_t *value, const afw_utf8_t *source_location, const afw_value_compiled_value_t *parent, const afw_compile_shared_t *shared, const afw_pool_t *p, afw_xctx_t *xctx)
Compile hybrid.
Resources that can be shared by multiple compiles.
Struc for afw_compile_type_info_t.
Interface afw_data_type public struct.
Interface afw_object public struct.
Interface afw_pool public struct.
NFC normalized UTF-8 string.
Struct for function value.
Struct for compiled value value.
Interface afw_value public struct.
Interface afw_xctx public struct.