22 for (
int i = 0; text[i]; i++)
CT_NODISCARD CT_PUREFN CT_SCAN_API const char * scan_path(const scan_t *scan)
get the path of a scanner
STA_DECL CT_NOALIAS size_t scan_read(scan_t *scan, void *dst, size_t size)
STA_DECL void flex_update(where_t *where, const where_t *offsets, int steps)
STA_DECL void flex_init(where_t *where)
STA_DECL int flex_input(scan_t *scan, char *out, int size)
STA_DECL void flex_action(where_t *where, const char *text)
#define STA_DECL
sal2 annotation on function implementations to copy annotations from the declaration
#define CTASSERT(expr)
assert a condition, prints the condition as a message
#define CTASSERTF(expr,...)
assert a condition with a message and optional format arguments
a location inside a scanner locations are inclusive and 0-based
ctu_column_t first_column
the first column of the location
ctu_column_t last_column
the last column of the location
ctu_line_t last_line
the last line of the location
ctu_line_t first_line
the first line of the location