|
- #ifndef JEGER_H
- #define JEGER_H
-
- #include <stdbool.h>
-
- #include "vector.h"
-
- extern bool is_case_on;
-
- typedef struct {
- int accepting_state;
- char * str;
- vector_t delta_table; // <delta_t>
- vector_t catch_table; // <offshoot_t>
- } regex_t;
-
- typedef struct {
- union {
- int position;
- const char * _pos_ptr;
- };
- int width;
- } match_t;
-
- extern regex_t * regex_compile(const char * const pattern);
- extern int regex_free(regex_t * const regex);
- extern bool regex_search(const regex_t * const regex, const char * const string);
- extern match_t * regex_match(const regex_t * const regex, const char * const string, const bool start_of_string);
-
- extern bool is_magic(const char c);
- extern bool is_sentinel(const match_t * const match);
-
- #endif
|