NCBI C++ ToolKit
|
Search Toolkit Book for CRegExFSA
#include "multipattern_search_impl.hpp"
(Private to src/util
.)
Classes | |
struct | CRegExState |
struct | THasher |
Public Types | |
typedef vector< unique_ptr< CRegExState > > | TStates |
typedef pair< size_t, CRegEx::EType > | TNode |
typedef vector< TNode > | TNodeSet |
typedef map< TNodeSet, size_t > | TNodeSetMap |
typedef vector< TNodeSet > | TNodeSetList |
typedef array< vector< size_t >, 4 > | TScratch |
Public Member Functions | |
CRegExFSA () | |
size_t | AddState (unsigned char t=CRegEx::eTypePass) |
void | Trans (size_t x, unsigned char c, size_t y) |
void | Short (size_t x, size_t y) |
void | Emit (size_t x, size_t n) |
void | Create (const CRegEx &rx, size_t emit) |
void | Add (const CRegEx &rx) |
void | Add (const vector< unique_ptr< CRegEx >> &v) |
void | Merge (unique_ptr< CRegExFSA > fsa) |
void | GenerateDotGraph (ostream &out) const |
void | GenerateSourceCode (ostream &out) const |
void | GenerateArrayMapData (ostream &out) const |
void | Refine () |
Static Public Member Functions | |
static size_t | Collect (TScratch &VV, CRegEx::EType t, TStates &src, TStates &dest, TNodeSetMap &NM, TNodeSetList &NL, TNodeSet &NS, TScratch &HH) |
static void | Extend (size_t x, unsigned char c, TStates &src, TStates &dest, TNodeSetMap &NM, TNodeSetList &NL, TNodeSet &NS, TScratch &VV, TScratch &HH) |
static void | Push (size_t x, vector< size_t > &v, vector< size_t > &h) |
static bool | In (size_t x, vector< size_t > &h) |
Public Attributes | |
TStates | m_States |
vector< string > | m_Str |
Definition at line 205 of file multipattern_search_impl.hpp.
typedef pair<size_t, CRegEx::EType> CRegExFSA::TNode |
Definition at line 247 of file multipattern_search_impl.hpp.
typedef vector<TNode> CRegExFSA::TNodeSet |
Definition at line 248 of file multipattern_search_impl.hpp.
typedef vector<TNodeSet> CRegExFSA::TNodeSetList |
Definition at line 250 of file multipattern_search_impl.hpp.
typedef map<TNodeSet, size_t> CRegExFSA::TNodeSetMap |
Definition at line 249 of file multipattern_search_impl.hpp.
typedef array<vector<size_t>, 4> CRegExFSA::TScratch |
Definition at line 251 of file multipattern_search_impl.hpp.
typedef vector<unique_ptr<CRegExState> > CRegExFSA::TStates |
Definition at line 246 of file multipattern_search_impl.hpp.
CRegExFSA::CRegExFSA | ( | ) |
Definition at line 1159 of file multipattern_search.cpp.
References CRegEx::eTypeStart.
Definition at line 1166 of file multipattern_search.cpp.
References CRegEx::m_Str.
Definition at line 1173 of file multipattern_search.cpp.
References i, CRegEx::m_Str, and Merge().
|
inline |
Definition at line 254 of file multipattern_search_impl.hpp.
References m_States, n, and t.
Referenced by CRegEx::CRegX::DummyTrans(), CRegEx::CRegXChar::Render(), CRegEx::CRegXTerm::Render(), CRegEx::CRegXConcat::Render(), CRegEx::CRegXSelect::Render(), and CRegEx::CRegXAssert::Render().
|
static |
Definition at line 1263 of file multipattern_search.cpp.
References map_checker< Container >::end(), CRegEx::eTypeCheck, CRegEx::eTypeNone, CRegEx::eTypeNoWord, CRegEx::eTypeStop, CRegEx::eTypeToNoWord, CRegEx::eTypeToStop, CRegEx::eTypeToWord, CRegEx::eTypeWord, map_checker< Container >::find(), HH, i, map_checker< Container >::insert(), n, and t.
Definition at line 1213 of file multipattern_search.cpp.
References CRegEx::eTypeStop, CRegEx::m_Err, CRegEx::m_RegX, and CRegEx::m_Str.
|
inline |
Definition at line 257 of file multipattern_search_impl.hpp.
|
static |
Definition at line 1373 of file multipattern_search.cpp.
References a, CRegEx::eTypeNoWord, CRegEx::eTypeStop, CRegEx::eTypeWord, HH, and CRegEx::IsWordCharacter().
void CRegExFSA::GenerateArrayMapData | ( | ostream & | out | ) | const |
Definition at line 1651 of file multipattern_search.cpp.
References count, C64MaskOut::Final64(), i, CRegEx::m_Str, max(), n, out(), C64MaskOut::Out1(), and C64MaskOut::Out64().
void CRegExFSA::GenerateDotGraph | ( | ostream & | out | ) | const |
Definition at line 1490 of file multipattern_search.cpp.
References A, CRegEx::eTypeCheck, CRegEx::eTypeNoWord, CRegEx::eTypePass, CRegEx::eTypeStart, CRegEx::eTypeStop, CRegEx::eTypeToNoWord, CRegEx::eTypeToStop, CRegEx::eTypeToWord, CRegEx::eTypeWord, first(), label, CRegEx::m_Str, n, out(), Pack(), QuoteDot(), and t.
void CRegExFSA::GenerateSourceCode | ( | ostream & | out | ) | const |
Definition at line 1564 of file multipattern_search.cpp.
References A, map_checker< Container >::begin(), map_checker< Container >::end(), CRegEx::eTypeStop, CRegEx::m_Str, n, and out().
Definition at line 279 of file multipattern_search_impl.hpp.
References i.
void CRegExFSA::Merge | ( | unique_ptr< CRegExFSA > | fsa | ) |
Definition at line 1196 of file multipattern_search.cpp.
|
inlinestatic |
Definition at line 268 of file multipattern_search_impl.hpp.
References i.
void CRegExFSA::Refine | ( | ) |
Definition at line 1235 of file multipattern_search.cpp.
References CRegEx::eTypePass, CRegEx::eTypeStart, CRegEx::eTypeStop, HH, n, and Queue().
|
inline |
Definition at line 256 of file multipattern_search_impl.hpp.
References m_States.
Referenced by CRegEx::CRegXEmpty::Render(), CRegEx::CRegXChar::Render(), CRegEx::CRegXTerm::Render(), CRegEx::CRegXConcat::Render(), CRegEx::CRegXSelect::Render(), and CRegEx::CRegXAssert::Render().
|
inline |
Definition at line 255 of file multipattern_search_impl.hpp.
References m_States.
Referenced by CRegEx::CRegX::DummyTrans(), and CRegEx::CRegXChar::Render().
TStates CRegExFSA::m_States |
Definition at line 287 of file multipattern_search_impl.hpp.
Referenced by AddState(), Emit(), Short(), Trans(), and xMultiPatternSearch().
vector<string> CRegExFSA::m_Str |
Definition at line 288 of file multipattern_search_impl.hpp.