![]() |
YAP 7.1.0
|
Regular expression compiler. More...
#include "YapInterface.h"
#include <stdio.h>
#include <stdlib.h>
#include "yapregex.h"
#include "collate.h"
#include "regex2.h"
#include "utils.h"
#include "cclass.h"
#include "cname.h"
Go to the source code of this file.
Macros | |
#define | NPAREN 10 /* we need to remember () 1-9 for back refs */ |
#define | PEEK() (*p->next) |
#define | PEEK2() (*(p->next + 1)) |
#define | MORE() (p->next < p->end) |
#define | MORE2() (p->next + 1 < p->end) |
#define | SEE(c) (MORE() && PEEK() == (c)) |
#define | SEETWO(a, b) (MORE() && MORE2() && PEEK() == (a) && PEEK2() == (b)) |
#define | EAT(c) ((SEE(c)) ? (NEXT(), 1) : 0) |
#define | EATTWO(a, b) ((SEETWO(a, b)) ? (NEXT2(), 1) : 0) |
#define | NEXT() (p->next++) |
#define | NEXT2() (p->next += 2) |
#define | NEXTn(n) (p->next += (n)) |
#define | GETNEXT() (*p->next++) |
#define | SETERROR(e) seterr(p, (e)) |
#define | REQUIRE(co, e) ((co) || SETERROR(e)) |
#define | MUSTSEE(c, e) (REQUIRE(MORE() && PEEK() == (c), e)) |
#define | MUSTEAT(c, e) (REQUIRE(MORE() && GETNEXT() == (c), e)) |
#define | MUSTNOTSEE(c, e) (REQUIRE(!MORE() || PEEK() != (c), e)) |
#define | EMIT(op, sopnd) doemit(p, (sop)(op), (size_t)(sopnd)) |
#define | INSERT(op, pos) doinsert(p, (sop)(op), HERE() - (pos) + 1, pos) |
#define | AHEAD(pos) dofwd(p, pos, HERE() - (pos)) |
#define | ASTERN(sop, pos) EMIT(sop, HERE() - pos) |
#define | HERE() (p->slen) |
#define | THERE() (p->slen - 1) |
#define | THERETHERE() (p->slen - 2) |
#define | DROP(n) (p->slen -= (n)) |
#define | never 0 /* some <assert.h>s have bugs too */ |
#define | GOODFLAGS(f) ((f) & ~REG_DUMP) |
#define | BACKSL (1 << CHAR_BIT) |
#define | N 2 |
#define | INF 3 |
#define | REP(f, t) ((f)*8 + (t)) |
#define | MAP(n) (((n) <= 1) ? (n) : ((n) == INFINITY) ? INF : N) |
Functions | |
int | yap_regcomp (regex_t *preg, const char *pattern, int cflags) |
Variables | |
int | collate_load_error |
int | collate_substitute_nontrivial |
char | collate_version [STR_LEN] |
unsigned char | collate_substitute_table [UCHAR_MAX+1][STR_LEN] |
struct collate_st_char_pri | collate_char_pri_table [UCHAR_MAX+1] |
struct collate_st_chain_pri | collate_chain_pri_table [TABLE_SIZE] |
Regular expression compiler.
Definition in file regcomp.c.
#define EATTWO | ( | a, | |
b | |||
) | ((SEETWO(a, b)) ? (NEXT2(), 1) : 0) |
#define EMIT | ( | op, | |
sopnd | |||
) | doemit(p, (sop)(op), (size_t)(sopnd)) |
#define INSERT | ( | op, | |
pos | |||
) | doinsert(p, (sop)(op), HERE() - (pos) + 1, pos) |
#define MUSTEAT | ( | c, | |
e | |||
) | (REQUIRE(MORE() && GETNEXT() == (c), e)) |
#define MUSTNOTSEE | ( | c, | |
e | |||
) | (REQUIRE(!MORE() || PEEK() != (c), e)) |
#define MUSTSEE | ( | c, | |
e | |||
) | (REQUIRE(MORE() && PEEK() == (c), e)) |
#define NPAREN 10 /* we need to remember () 1-9 for back refs */ |
#define SEETWO | ( | a, | |
b | |||
) | (MORE() && MORE2() && PEEK() == (a) && PEEK2() == (b)) |
int yap_regcomp | ( | regex_t * | preg, |
const char * | pattern, | ||
int | cflags | ||
) |
struct collate_st_chain_pri collate_chain_pri_table[TABLE_SIZE] |
struct collate_st_char_pri collate_char_pri_table[UCHAR_MAX+1] |
unsigned char collate_substitute_table[UCHAR_MAX+1][STR_LEN] |