view src/ploki/re.h @ 10131:bbbdb09e6365

<boily> le/rn mate//Mat\xc3\xa9 is a southern hemisphere shamanist beverage that opens your inner self to the Sacred World. Its enlightened users become friendly, wishing \xe2\x80\x9cG\'day, mat\xc3\xa9!\xe2\x80\x9d to one another.
author HackBot
date Sat, 14 Jan 2017 14:02:22 +0000
parents ac0403686959
children
line wrap: on
line source

#ifndef RE_H_
#define RE_H_

#include "config.h"
#include "IO.h"
#include "Str.h"

#include <stddef.h>
#include <stdio.h>

typedef struct my_regex t_regex;

void re_init(void);
void re_end(void);

t_regex *re_compile(const String *);
void re_free(t_regex *);
t_regex *re_dup(t_regex *);

ATTR_PURE
int re_match(t_regex *, const String *, size_t *, size_t *);
int re_iomatch(t_regex *, IO *, size_t *, size_t *);

ATTR_PURE
size_t re_cabra(const t_regex *);
int re_backref(const t_regex *, size_t, size_t *, size_t *);

void re_dump(const t_regex *, FILE *);
void re_decompile(const t_regex *, String *);

#endif /* RE_H_ */