C API thoughts
This commit is contained in:
parent
aeb6296678
commit
f6b4d29bd0
45
src/jairee.h
Normal file
45
src/jairee.h
Normal file
@ -0,0 +1,45 @@
|
||||
#ifndef JAIREE_H
|
||||
#define JAIREE_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define JAIREE_DECODE_ERROR 0xFEFEFEFFu
|
||||
|
||||
typedef uint32_t jairee_cp_t;
|
||||
|
||||
typedef jairee_cp_t (*jairee_decode_t)(void * str, size_t offset);
|
||||
|
||||
typedef struct jairee_match_s {
|
||||
size_t start;
|
||||
size_t end;
|
||||
struct jairee_match_s * next;
|
||||
} jairee_match_t;
|
||||
|
||||
typedef struct {
|
||||
void * str;
|
||||
size_t len;
|
||||
jairee_decode_t decode;
|
||||
} jairee_string_t;
|
||||
|
||||
typedef struct {
|
||||
size_t todo;
|
||||
} jairee_re_t;
|
||||
|
||||
typedef struct {
|
||||
jairee_re_t * re;
|
||||
} jairee_state_t;
|
||||
|
||||
jairee_re_t * jairee_compile(jairee_string_t * exp);
|
||||
|
||||
jairee_match_t * jairee_match(jairee_string_t * str, size_t start_offset, jairee_string_t * exp);
|
||||
|
||||
jairee_match_t * jairee_matchc(jairee_string_t * str, size_t start_offset, jairee_re_t * re);
|
||||
|
||||
jairee_state_t * jairee_start(jairee_string_t * str, size_t start_offset, jairee_string_t * exp, jairee_match_t ** match);
|
||||
|
||||
jairee_state_t * jairee_startc(jairee_string_t * str, size_t start_offset, jairee_re_t * re, jairee_match_t ** match);
|
||||
|
||||
jairee_status_t jairee_step(jairee_state_t * state, size_t timeout);
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user