webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Member Functions | Static Public Member Functions | List of all members
JSC::Yarr::Interpreter< CharType > Class Template Reference

Classes

struct  BackTrackInfoAlternative
 
struct  BackTrackInfoBackReference
 
struct  BackTrackInfoCharacterClass
 
struct  BackTrackInfoParentheses
 
struct  BackTrackInfoParenthesesOnce
 
struct  BackTrackInfoParenthesesTerminal
 
struct  BackTrackInfoParentheticalAssertion
 
struct  BackTrackInfoPatternCharacter
 
struct  DisjunctionContext
 
class  InputStream
 
struct  ParenthesesDisjunctionContext
 

Public Member Functions

DisjunctionContext * allocDisjunctionContext (ByteDisjunction *disjunction)
 
void freeDisjunctionContext (DisjunctionContext *context)
 
ParenthesesDisjunctionContext * allocParenthesesDisjunctionContext (ByteDisjunction *disjunction, unsigned *output, ByteTerm &term)
 
void freeParenthesesDisjunctionContext (ParenthesesDisjunctionContext *context)
 
bool testCharacterClass (CharacterClass *characterClass, int ch)
 
bool checkCharacter (int testChar, unsigned negativeInputOffset)
 
bool checkSurrogatePair (int testUnicodeChar, unsigned negativeInputOffset)
 
bool checkCasedCharacter (int loChar, int hiChar, unsigned negativeInputOffset)
 
bool checkCharacterClass (CharacterClass *characterClass, bool invert, unsigned negativeInputOffset)
 
bool tryConsumeBackReference (int matchBegin, int matchEnd, unsigned negativeInputOffset)
 
bool matchAssertionBOL (ByteTerm &term)
 
bool matchAssertionEOL (ByteTerm &term)
 
bool matchAssertionWordBoundary (ByteTerm &term)
 
bool backtrackPatternCharacter (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackPatternCasedCharacter (ByteTerm &term, DisjunctionContext *context)
 
bool matchCharacterClass (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackCharacterClass (ByteTerm &term, DisjunctionContext *context)
 
bool matchBackReference (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackBackReference (ByteTerm &term, DisjunctionContext *context)
 
void recordParenthesesMatch (ByteTerm &term, ParenthesesDisjunctionContext *context)
 
void resetMatches (ByteTerm &term, ParenthesesDisjunctionContext *context)
 
JSRegExpResult parenthesesDoBacktrack (ByteTerm &term, BackTrackInfoParentheses *backTrack)
 
bool matchParenthesesOnceBegin (ByteTerm &term, DisjunctionContext *context)
 
bool matchParenthesesOnceEnd (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackParenthesesOnceBegin (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackParenthesesOnceEnd (ByteTerm &term, DisjunctionContext *context)
 
bool matchParenthesesTerminalBegin (ByteTerm &term, DisjunctionContext *context)
 
bool matchParenthesesTerminalEnd (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackParenthesesTerminalBegin (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackParenthesesTerminalEnd (ByteTerm &, DisjunctionContext *)
 
bool matchParentheticalAssertionBegin (ByteTerm &term, DisjunctionContext *context)
 
bool matchParentheticalAssertionEnd (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackParentheticalAssertionBegin (ByteTerm &term, DisjunctionContext *context)
 
bool backtrackParentheticalAssertionEnd (ByteTerm &term, DisjunctionContext *context)
 
JSRegExpResult matchParentheses (ByteTerm &term, DisjunctionContext *context)
 
JSRegExpResult backtrackParentheses (ByteTerm &term, DisjunctionContext *context)
 
bool matchDotStarEnclosure (ByteTerm &term, DisjunctionContext *context)
 
JSRegExpResult matchDisjunction (ByteDisjunction *disjunction, DisjunctionContext *context, bool btrack=false)
 
JSRegExpResult matchNonZeroDisjunction (ByteDisjunction *disjunction, DisjunctionContext *context, bool btrack=false)
 
unsigned interpret ()
 
 Interpreter (BytecodePattern *pattern, unsigned *output, const CharType *input, unsigned length, unsigned start)
 

Static Public Member Functions

static void appendParenthesesDisjunctionContext (BackTrackInfoParentheses *backTrack, ParenthesesDisjunctionContext *context)
 
static void popParenthesesDisjunctionContext (BackTrackInfoParentheses *backTrack)
 

Constructor & Destructor Documentation

◆ Interpreter()

template<typename CharType >
JSC::Yarr::Interpreter< CharType >::Interpreter ( BytecodePattern *  pattern,
unsigned *  output,
const CharType *  input,
unsigned  length,
unsigned  start 
)
inline

Member Function Documentation

◆ allocDisjunctionContext()

template<typename CharType >
DisjunctionContext* JSC::Yarr::Interpreter< CharType >::allocDisjunctionContext ( ByteDisjunction *  disjunction)
inline

◆ allocParenthesesDisjunctionContext()

template<typename CharType >
ParenthesesDisjunctionContext* JSC::Yarr::Interpreter< CharType >::allocParenthesesDisjunctionContext ( ByteDisjunction *  disjunction,
unsigned *  output,
ByteTerm &  term 
)
inline

◆ appendParenthesesDisjunctionContext()

template<typename CharType >
static void JSC::Yarr::Interpreter< CharType >::appendParenthesesDisjunctionContext ( BackTrackInfoParentheses *  backTrack,
ParenthesesDisjunctionContext *  context 
)
inlinestatic

◆ backtrackBackReference()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackBackReference ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackCharacterClass()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackCharacterClass ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackParentheses()

template<typename CharType >
JSRegExpResult JSC::Yarr::Interpreter< CharType >::backtrackParentheses ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackParenthesesOnceBegin()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackParenthesesOnceBegin ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackParenthesesOnceEnd()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackParenthesesOnceEnd ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackParenthesesTerminalBegin()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackParenthesesTerminalBegin ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackParenthesesTerminalEnd()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackParenthesesTerminalEnd ( ByteTerm &  ,
DisjunctionContext *   
)
inline

◆ backtrackParentheticalAssertionBegin()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackParentheticalAssertionBegin ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackParentheticalAssertionEnd()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackParentheticalAssertionEnd ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackPatternCasedCharacter()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackPatternCasedCharacter ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ backtrackPatternCharacter()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::backtrackPatternCharacter ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ checkCasedCharacter()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::checkCasedCharacter ( int  loChar,
int  hiChar,
unsigned  negativeInputOffset 
)
inline

◆ checkCharacter()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::checkCharacter ( int  testChar,
unsigned  negativeInputOffset 
)
inline

◆ checkCharacterClass()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::checkCharacterClass ( CharacterClass *  characterClass,
bool  invert,
unsigned  negativeInputOffset 
)
inline

◆ checkSurrogatePair()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::checkSurrogatePair ( int  testUnicodeChar,
unsigned  negativeInputOffset 
)
inline

◆ freeDisjunctionContext()

template<typename CharType >
void JSC::Yarr::Interpreter< CharType >::freeDisjunctionContext ( DisjunctionContext *  context)
inline

◆ freeParenthesesDisjunctionContext()

template<typename CharType >
void JSC::Yarr::Interpreter< CharType >::freeParenthesesDisjunctionContext ( ParenthesesDisjunctionContext *  context)
inline

◆ interpret()

template<typename CharType >
unsigned JSC::Yarr::Interpreter< CharType >::interpret ( )
inline

◆ matchAssertionBOL()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchAssertionBOL ( ByteTerm &  term)
inline

◆ matchAssertionEOL()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchAssertionEOL ( ByteTerm &  term)
inline

◆ matchAssertionWordBoundary()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchAssertionWordBoundary ( ByteTerm &  term)
inline

◆ matchBackReference()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchBackReference ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchCharacterClass()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchCharacterClass ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchDisjunction()

template<typename CharType >
JSRegExpResult JSC::Yarr::Interpreter< CharType >::matchDisjunction ( ByteDisjunction *  disjunction,
DisjunctionContext *  context,
bool  btrack = false 
)
inline

◆ matchDotStarEnclosure()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchDotStarEnclosure ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchNonZeroDisjunction()

template<typename CharType >
JSRegExpResult JSC::Yarr::Interpreter< CharType >::matchNonZeroDisjunction ( ByteDisjunction *  disjunction,
DisjunctionContext *  context,
bool  btrack = false 
)
inline

◆ matchParentheses()

template<typename CharType >
JSRegExpResult JSC::Yarr::Interpreter< CharType >::matchParentheses ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchParenthesesOnceBegin()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchParenthesesOnceBegin ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchParenthesesOnceEnd()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchParenthesesOnceEnd ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchParenthesesTerminalBegin()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchParenthesesTerminalBegin ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchParenthesesTerminalEnd()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchParenthesesTerminalEnd ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchParentheticalAssertionBegin()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchParentheticalAssertionBegin ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ matchParentheticalAssertionEnd()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::matchParentheticalAssertionEnd ( ByteTerm &  term,
DisjunctionContext *  context 
)
inline

◆ parenthesesDoBacktrack()

template<typename CharType >
JSRegExpResult JSC::Yarr::Interpreter< CharType >::parenthesesDoBacktrack ( ByteTerm &  term,
BackTrackInfoParentheses *  backTrack 
)
inline

◆ popParenthesesDisjunctionContext()

template<typename CharType >
static void JSC::Yarr::Interpreter< CharType >::popParenthesesDisjunctionContext ( BackTrackInfoParentheses *  backTrack)
inlinestatic

◆ recordParenthesesMatch()

template<typename CharType >
void JSC::Yarr::Interpreter< CharType >::recordParenthesesMatch ( ByteTerm &  term,
ParenthesesDisjunctionContext *  context 
)
inline

◆ resetMatches()

template<typename CharType >
void JSC::Yarr::Interpreter< CharType >::resetMatches ( ByteTerm &  term,
ParenthesesDisjunctionContext *  context 
)
inline

◆ testCharacterClass()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::testCharacterClass ( CharacterClass *  characterClass,
int  ch 
)
inline

◆ tryConsumeBackReference()

template<typename CharType >
bool JSC::Yarr::Interpreter< CharType >::tryConsumeBackReference ( int  matchBegin,
int  matchEnd,
unsigned  negativeInputOffset 
)
inline

The documentation for this class was generated from the following file: