4 #include <ctu_interop_api.h>
CT_NODISCARD STA_WRITES(size) void *dst
#define STA_READS(size)
annotate a parameter as reading expr elements
#define IN_STRING
annotate a parameter as being a null terminated string
CT_INTEROP_API int flex_input(INOUT_NOTNULL scan_t *scan, STA_WRITES(size) char *out, int size)
retrevies more input for flex
CT_INTEROP_API void flex_action(INOUT_NOTNULL where_t *where, const char *text)
tracks the current source position
CT_INTEROP_API void flex_init(OUT_NOTNULL where_t *where)
initialize source location tracking
CT_INTEROP_API void flex_update(INOUT_NOTNULL where_t *where, STA_READS(steps) const where_t *offsets, int steps)
update the source location
a location inside a scanner locations are inclusive and 0-based