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

DisjunctionContextallocDisjunctionContext (ByteDisjunction *disjunction)
 
void freeDisjunctionContext (DisjunctionContext *context)
 
ParenthesesDisjunctionContextallocParenthesesDisjunctionContext (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: