MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fxPatternParserNext

Function fxPatternParserNext

xs/sources/xsre.c:2414–2437  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2412}
2413
2414void fxPatternParserNext(txPatternParser* parser)
2415{
2416 txString p = parser->pattern + parser->offset;
2417 txInteger character;
2418
2419 if (parser->surrogate) {
2420 parser->character = parser->surrogate;
2421 parser->surrogate = 0;
2422 }
2423 else {
2424 p = mxStringByteDecode(p, &character);
2425 if (character != C_EOF) {
2426 parser->offset = mxPtrDiff(p - parser->pattern);
2427 if (!(parser->flags & (XS_REGEXP_UV | XS_REGEXP_NAME)) && (character > 0xFFFF)) {
2428 character -= 0x10000;
2429 parser->surrogate = 0xDC00 | (character & 0x3FF);
2430 character = 0xD800 | (character >> 10);
2431 }
2432 parser->character = (txInteger)character;
2433 }
2434 else
2435 parser->character = C_EOF;
2436 }
2437}
2438
2439void fxPatternParserTerminate(txPatternParser* parser)
2440{

Callers 15

fxCharSetExpressionFunction · 0.85
fxCharSetOperandFunction · 0.85
fxCharSetParseEscapeFunction · 0.85
fxCharSetParseItemFunction · 0.85
fxCharSetParseListFunction · 0.85
fxCharSetStringsFunction · 0.85
fxCaptureNameEscapeFunction · 0.85
fxCaptureNameParseFunction · 0.85
fxDisjunctionParseFunction · 0.85
fxModifiersParseFunction · 0.85
fxQuantifierParseFunction · 0.85
fxQuantifierParseBraceFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected