Go to the documentation of this file.
17 #include <type_traits>
19 #include "util/util.h"
20 #include "util/logging.h"
81 int id(
Prog* p) {
return static_cast<int>(
this - p->inst_.data()); }
104 if (
foldcase() &&
'A' <= c && c <=
'Z')
106 return lo_ <= c && c <=
hi_;
114 static const int kMaxInst = (1<<28) - 1;
261 return (
'A' <=
c &&
c <=
'Z') ||
262 (
'a' <=
c &&
c <=
'z') ||
263 (
'0' <=
c &&
c <=
'9') ||
380 std::vector<std::vector<int>>* predvec,
381 SparseSet* reachable, std::vector<int>* stk);
388 std::vector<std::vector<int>>* predvec,
389 SparseSet* reachable, std::vector<int>* stk);
395 std::vector<Inst>* flat,
396 SparseSet* reachable, std::vector<int>* stk);
437 PODArray<Inst>
inst_;
455 #endif // RE2_PROG_H_
std::once_flag dfa_longest_once_
void set_anchor_start(bool b)
std::string DumpUnanchored()
void InitCapture(int cap, uint32_t out)
bool SearchOnePass(const StringPiece &text, const StringPiece &context, Anchor anchor, MatchKind kind, StringPiece *match, int nmatch)
int BuildEntireDFA(MatchKind kind, const DFAStateCallback &cb)
Prog & operator=(const Prog &)=delete
unsigned char match[65280+2]
void MarkSuccessors(SparseArray< int > *rootmap, SparseArray< int > *predmap, std::vector< std::vector< int >> *predvec, SparseSet *reachable, std::vector< int > *stk)
void ComputeHints(std::vector< Inst > *flat, int begin, int end)
void set_out_opcode(int out, InstOp opcode)
static bool IsWordChar(uint8_t c)
int inst_count(InstOp op)
DFA * GetDFA(MatchKind kind)
void InitAlt(uint32_t out, uint32_t out1)
std::string DumpByteMap()
void InitEmptyWidth(EmptyOp empty, uint32_t out)
RefCountedPtr< grpc_tls_certificate_provider > root
void set_anchor_end(bool b)
bool SearchBitState(const StringPiece &text, const StringPiece &context, Anchor anchor, MatchKind kind, StringPiece *match, int nmatch)
void set_reversed(bool reversed)
unsigned __int64 uint64_t
void EmitList(int root, SparseArray< int > *rootmap, std::vector< Inst > *flat, SparseSet *reachable, std::vector< int > *stk)
int inst_count_[kNumInst]
const void * PrefixAccel_ShiftDFA(const void *data, size_t size)
void InitNop(uint32_t out)
void set_dfa_mem(int64_t dfa_mem)
void set_start_unanchored(int start)
static const int kMaxInst
void set_start(int start)
bool PossibleMatchRange(std::string *min, std::string *max, int maxlen)
const uint8_t * bytemap()
bool SearchDFA(const StringPiece &text, const StringPiece &context, Anchor anchor, MatchKind kind, StringPiece *match0, bool *failed, SparseSet *matches)
void ConfigurePrefixAccel(const std::string &prefix, bool prefix_foldcase)
void MarkDominator(int root, SparseArray< int > *rootmap, SparseArray< int > *predmap, std::vector< std::vector< int >> *predvec, SparseSet *reachable, std::vector< int > *stk)
void Fanout(SparseArray< int > *fanout)
static const int kMaxOnePassCapture
void set_opcode(InstOp opcode)
const void * PrefixAccel_FrontAndBack(const void *data, size_t size)
#define DCHECK_EQ(val1, val2)
AllocList * next[kMaxLevel]
static Prog * CompileSet(Regexp *re, RE2::Anchor anchor, int64_t max_mem)
static const char prefix[]
Inst & operator=(const Inst &)=default
const void * PrefixAccel(const void *data, size_t size)
PODArray< uint16_t > list_heads_
bool UnsafeSearchBacktrack(const StringPiece &text, const StringPiece &context, Anchor anchor, MatchKind kind, StringPiece *match, int nmatch)
grpc::ClientContext context
std::function< void(const int *next, bool match)> DFAStateCallback
#define DCHECK(condition)
static void TESTING_ONLY_set_dfa_should_bail_when_slow(bool b)
std::once_flag dfa_first_once_
PODArray< uint8_t > onepass_nodes_
void InitByteRange(int lo, int hi, int foldcase, uint32_t out)
static uint32_t EmptyFlags(const StringPiece &context, const char *p)
OPENSSL_EXPORT pem_password_cb * cb
bool SearchNFA(const StringPiece &text, const StringPiece &context, Anchor anchor, MatchKind kind, StringPiece *match, int nmatch)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:55