#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <ctype.h>
#include "regex_impl.h"
#include "regutils.h"
#include "regex2.h"
#include "regengine.inc"
Go to the source code of this file.
|
#define | states1 long /* for later use in llvm_regexec() decision */ |
#define | states states1 |
#define | CLEAR(v) |
#define | SET0(v, n) |
#define | SET1(v, n) |
#define | ISSET(v, n) |
#define | ASSIGN(d, s) |
#define | EQ(a, b) |
#define | STATEVARS long dummy /* dummy version */ |
#define | STATESETUP(m, n) |
#define | STATETEARDOWN(m) |
#define | SETUP(v) |
#define | onestate long |
#define | INIT(o, n) |
#define | INC(o) |
#define | ISSTATEIN(v, o) |
#define | FWD(dst, src, n) |
#define | BACK(dst, src, n) |
#define | ISSETBACK(v, n) |
#define | SNAMES /* engine.inc looks after details */ |
#define | states char * |
#define | CLEAR(v) |
#define | SET0(v, n) |
#define | SET1(v, n) |
#define | ISSET(v, n) |
#define | ASSIGN(d, s) |
#define | EQ(a, b) |
#define | STATEVARS long vn; char *space |
#define | STATESETUP(m, nv) |
#define | STATETEARDOWN(m) |
#define | SETUP(v) |
#define | onestate long |
#define | INIT(o, n) |
#define | INC(o) |
#define | ISSTATEIN(v, o) |
#define | FWD(dst, src, n) |
#define | BACK(dst, src, n) |
#define | ISSETBACK(v, n) |
#define | LNAMES /* flag */ |
#define | GOODFLAGS(f) |
◆ ASSIGN [1/2]
◆ ASSIGN [2/2]
Value:memmove(d, s, m->g->nstates)
Definition at line 64 of file regexec.c.
◆ BACK [1/2]
#define BACK |
( |
| dst, |
|
|
| src, |
|
|
| n ) |
Value:((dst) |= ((unsigned long)(src)&(here)) >> (n))
Definition at line 77 of file regexec.c.
◆ BACK [2/2]
#define BACK |
( |
| dst, |
|
|
| src, |
|
|
| n ) |
Value:((dst)[here-(n)] |= (src)[here])
Definition at line 77 of file regexec.c.
◆ CLEAR [1/2]
◆ CLEAR [2/2]
Value:memset(v, 0, m->g->nstates)
Definition at line 60 of file regexec.c.
◆ EQ [1/2]
◆ EQ [2/2]
Value:(
memcmp(a, b, m->g->nstates) == 0)
Merge contiguous icmps into a memcmp
Definition at line 65 of file regexec.c.
◆ FWD [1/2]
#define FWD |
( |
| dst, |
|
|
| src, |
|
|
| n ) |
Value:((dst) |= ((unsigned long)(src)&(here)) << (n))
Definition at line 76 of file regexec.c.
◆ FWD [2/2]
#define FWD |
( |
| dst, |
|
|
| src, |
|
|
| n ) |
Value:((dst)[here+(n)] |= (src)[here])
Definition at line 76 of file regexec.c.
◆ GOODFLAGS
◆ INC [1/2]
Value:((o) = (unsigned long)(o) << 1)
Definition at line 72 of file regexec.c.
◆ INC [2/2]
◆ INIT [1/2]
◆ INIT [2/2]
◆ ISSET [1/2]
Value:(((v) & ((unsigned long)1 << (n))) != 0)
Definition at line 63 of file regexec.c.
◆ ISSET [2/2]
◆ ISSETBACK [1/2]
#define ISSETBACK |
( |
| v, |
|
|
| n ) |
Value:(((v) & ((unsigned long)here >> (n))) != 0)
Definition at line 78 of file regexec.c.
◆ ISSETBACK [2/2]
#define ISSETBACK |
( |
| v, |
|
|
| n ) |
◆ ISSTATEIN [1/2]
#define ISSTATEIN |
( |
| v, |
|
|
| o ) |
◆ ISSTATEIN [2/2]
#define ISSTATEIN |
( |
| v, |
|
|
| o ) |
◆ LNAMES
#define LNAMES /* flag */ |
◆ onestate [1/2]
◆ onestate [2/2]
◆ SET0 [1/2]
Value:((v) &= ~((unsigned long)1 << (n)))
Definition at line 61 of file regexec.c.
◆ SET0 [2/2]
◆ SET1 [1/2]
Value:((v) |= (unsigned long)1 << (n))
Definition at line 62 of file regexec.c.
◆ SET1 [2/2]
◆ SETUP [1/2]
◆ SETUP [2/2]
Value:((v) = &m->space[m->vn++ * m->g->nstates])
Definition at line 69 of file regexec.c.
◆ SNAMES
#define SNAMES /* engine.inc looks after details */ |
◆ states [1/2]
◆ states [2/2]
◆ states1
◆ STATESETUP [1/2]
#define STATESETUP |
( |
| m, |
|
|
| n ) |
◆ STATESETUP [2/2]
#define STATESETUP |
( |
| m, |
|
|
| nv ) |
Value: { (m)->space = malloc((nv)*(m)->
g->nstates); \
(m)->vn = 0; }
INLINE void g(uint32_t *state, size_t a, size_t b, size_t c, size_t d, uint32_t x, uint32_t y)
Definition at line 67 of file regexec.c.
◆ STATETEARDOWN [1/2]
#define STATETEARDOWN |
( |
| m | ) |
|
◆ STATETEARDOWN [2/2]
#define STATETEARDOWN |
( |
| m | ) |
|
◆ STATEVARS [1/2]
#define STATEVARS long dummy /* dummy version */ |
◆ STATEVARS [2/2]
#define STATEVARS long vn; char *space |
◆ llvm_regexec()
Definition at line 141 of file regexec.c.
References assert(), g(), GOODFLAGS, MAGIC1, MAGIC2, llvm_regex::re_g, llvm_regex::re_magic, REG_BADPAT, REG_LARGE, REGEX_BAD, and states1.
Referenced by llvm::Regex::match().