webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Member Functions | List of all members
JSC::Yarr::ByteCompiler Class Reference

Public Member Functions

 ByteCompiler (YarrPattern &pattern)
 
std::unique_ptr< BytecodePatterncompile (BumpPointerAllocator *allocator, ConcurrentJSLock *lock)
 
void checkInput (unsigned count)
 
void uncheckInput (unsigned count)
 
void assertionBOL (unsigned inputPosition)
 
void assertionEOL (unsigned inputPosition)
 
void assertionWordBoundary (bool invert, unsigned inputPosition)
 
void atomPatternCharacter (UChar32 ch, unsigned inputPosition, unsigned frameLocation, Checked< unsigned > quantityMaxCount, QuantifierType quantityType)
 
void atomCharacterClass (CharacterClass *characterClass, bool invert, unsigned inputPosition, unsigned frameLocation, Checked< unsigned > quantityMaxCount, QuantifierType quantityType)
 
void atomBackReference (unsigned subpatternId, unsigned inputPosition, unsigned frameLocation, Checked< unsigned > quantityMaxCount, QuantifierType quantityType)
 
void atomParenthesesOnceBegin (unsigned subpatternId, bool capture, unsigned inputPosition, unsigned frameLocation, unsigned alternativeFrameLocation)
 
void atomParenthesesTerminalBegin (unsigned subpatternId, bool capture, unsigned inputPosition, unsigned frameLocation, unsigned alternativeFrameLocation)
 
void atomParenthesesSubpatternBegin (unsigned subpatternId, bool capture, unsigned inputPosition, unsigned frameLocation, unsigned alternativeFrameLocation)
 
void atomParentheticalAssertionBegin (unsigned subpatternId, bool invert, unsigned frameLocation, unsigned alternativeFrameLocation)
 
void atomParentheticalAssertionEnd (unsigned inputPosition, unsigned frameLocation, Checked< unsigned > quantityMaxCount, QuantifierType quantityType)
 
void assertionDotStarEnclosure (bool bolAnchored, bool eolAnchored)
 
unsigned popParenthesesStack ()
 
void dumpDisjunction (ByteDisjunction *disjunction)
 
void closeAlternative (int beginTerm)
 
void closeBodyAlternative ()
 
void atomParenthesesSubpatternEnd (unsigned lastSubpatternId, unsigned inputPosition, unsigned frameLocation, Checked< unsigned > quantityMinCount, Checked< unsigned > quantityMaxCount, QuantifierType quantityType, unsigned callFrameSize=0)
 
void atomParenthesesOnceEnd (unsigned inputPosition, unsigned frameLocation, Checked< unsigned > quantityMinCount, Checked< unsigned > quantityMaxCount, QuantifierType quantityType)
 
void atomParenthesesTerminalEnd (unsigned inputPosition, unsigned frameLocation, Checked< unsigned > quantityMinCount, Checked< unsigned > quantityMaxCount, QuantifierType quantityType)
 
void regexBegin (unsigned numSubpatterns, unsigned callFrameSize, bool onceThrough)
 
void regexEnd ()
 
void alternativeBodyDisjunction (bool onceThrough)
 
void alternativeDisjunction ()
 
void emitDisjunction (PatternDisjunction *disjunction, unsigned inputCountAlreadyChecked=0, unsigned parenthesesInputCountAlreadyChecked=0)
 

Constructor & Destructor Documentation

◆ ByteCompiler()

JSC::Yarr::ByteCompiler::ByteCompiler ( YarrPattern pattern)
inline

Member Function Documentation

◆ alternativeBodyDisjunction()

void JSC::Yarr::ByteCompiler::alternativeBodyDisjunction ( bool  onceThrough)
inline

◆ alternativeDisjunction()

void JSC::Yarr::ByteCompiler::alternativeDisjunction ( )
inline

◆ assertionBOL()

void JSC::Yarr::ByteCompiler::assertionBOL ( unsigned  inputPosition)
inline

◆ assertionDotStarEnclosure()

void JSC::Yarr::ByteCompiler::assertionDotStarEnclosure ( bool  bolAnchored,
bool  eolAnchored 
)
inline

◆ assertionEOL()

void JSC::Yarr::ByteCompiler::assertionEOL ( unsigned  inputPosition)
inline

◆ assertionWordBoundary()

void JSC::Yarr::ByteCompiler::assertionWordBoundary ( bool  invert,
unsigned  inputPosition 
)
inline

◆ atomBackReference()

void JSC::Yarr::ByteCompiler::atomBackReference ( unsigned  subpatternId,
unsigned  inputPosition,
unsigned  frameLocation,
Checked< unsigned >  quantityMaxCount,
QuantifierType  quantityType 
)
inline

◆ atomCharacterClass()

void JSC::Yarr::ByteCompiler::atomCharacterClass ( CharacterClass characterClass,
bool  invert,
unsigned  inputPosition,
unsigned  frameLocation,
Checked< unsigned >  quantityMaxCount,
QuantifierType  quantityType 
)
inline

◆ atomParenthesesOnceBegin()

void JSC::Yarr::ByteCompiler::atomParenthesesOnceBegin ( unsigned  subpatternId,
bool  capture,
unsigned  inputPosition,
unsigned  frameLocation,
unsigned  alternativeFrameLocation 
)
inline

◆ atomParenthesesOnceEnd()

void JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd ( unsigned  inputPosition,
unsigned  frameLocation,
Checked< unsigned >  quantityMinCount,
Checked< unsigned >  quantityMaxCount,
QuantifierType  quantityType 
)
inline

◆ atomParenthesesSubpatternBegin()

void JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin ( unsigned  subpatternId,
bool  capture,
unsigned  inputPosition,
unsigned  frameLocation,
unsigned  alternativeFrameLocation 
)
inline

◆ atomParenthesesSubpatternEnd()

void JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd ( unsigned  lastSubpatternId,
unsigned  inputPosition,
unsigned  frameLocation,
Checked< unsigned >  quantityMinCount,
Checked< unsigned >  quantityMaxCount,
QuantifierType  quantityType,
unsigned  callFrameSize = 0 
)
inline

◆ atomParenthesesTerminalBegin()

void JSC::Yarr::ByteCompiler::atomParenthesesTerminalBegin ( unsigned  subpatternId,
bool  capture,
unsigned  inputPosition,
unsigned  frameLocation,
unsigned  alternativeFrameLocation 
)
inline

◆ atomParenthesesTerminalEnd()

void JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd ( unsigned  inputPosition,
unsigned  frameLocation,
Checked< unsigned >  quantityMinCount,
Checked< unsigned >  quantityMaxCount,
QuantifierType  quantityType 
)
inline

◆ atomParentheticalAssertionBegin()

void JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin ( unsigned  subpatternId,
bool  invert,
unsigned  frameLocation,
unsigned  alternativeFrameLocation 
)
inline

◆ atomParentheticalAssertionEnd()

void JSC::Yarr::ByteCompiler::atomParentheticalAssertionEnd ( unsigned  inputPosition,
unsigned  frameLocation,
Checked< unsigned >  quantityMaxCount,
QuantifierType  quantityType 
)
inline

◆ atomPatternCharacter()

void JSC::Yarr::ByteCompiler::atomPatternCharacter ( UChar32  ch,
unsigned  inputPosition,
unsigned  frameLocation,
Checked< unsigned >  quantityMaxCount,
QuantifierType  quantityType 
)
inline

◆ checkInput()

void JSC::Yarr::ByteCompiler::checkInput ( unsigned  count)
inline

◆ closeAlternative()

void JSC::Yarr::ByteCompiler::closeAlternative ( int  beginTerm)
inline

◆ closeBodyAlternative()

void JSC::Yarr::ByteCompiler::closeBodyAlternative ( )
inline

◆ compile()

std::unique_ptr<BytecodePattern> JSC::Yarr::ByteCompiler::compile ( BumpPointerAllocator allocator,
ConcurrentJSLock lock 
)
inline

◆ dumpDisjunction()

void JSC::Yarr::ByteCompiler::dumpDisjunction ( ByteDisjunction disjunction)
inline

◆ emitDisjunction()

void JSC::Yarr::ByteCompiler::emitDisjunction ( PatternDisjunction disjunction,
unsigned  inputCountAlreadyChecked = 0,
unsigned  parenthesesInputCountAlreadyChecked = 0 
)
inline

◆ popParenthesesStack()

unsigned JSC::Yarr::ByteCompiler::popParenthesesStack ( )
inline

◆ regexBegin()

void JSC::Yarr::ByteCompiler::regexBegin ( unsigned  numSubpatterns,
unsigned  callFrameSize,
bool  onceThrough 
)
inline

◆ regexEnd()

void JSC::Yarr::ByteCompiler::regexEnd ( )
inline

◆ uncheckInput()

void JSC::Yarr::ByteCompiler::uncheckInput ( unsigned  count)
inline

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