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

Function fxCharSetParseEscape

xs/sources/xsre.c:978–1030  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

976}
977
978void* fxCharSetParseEscape(txPatternParser* parser, txBoolean punctuator, txInteger* kind)
979{
980 void* result = NULL;
981 txInteger flag = 1;
982 switch(parser->character) {
983 case C_EOF:
984 break;
985 // character classes
986 case 'd':
987 result = fxCharSetDigits(parser);
988 fxPatternParserNext(parser);
989 break;
990 case 'D':
991 result = fxCharSetNot(parser, fxCharSetDigits(parser));
992 fxPatternParserNext(parser);
993 break;
994 case 's':
995 result = fxCharSetSpaces(parser);
996 fxPatternParserNext(parser);
997 break;
998 case 'S':
999 result = fxCharSetNot(parser, fxCharSetSpaces(parser));
1000 fxPatternParserNext(parser);
1001 break;
1002 case 'w':
1003 result = fxCharSetWords(parser);
1004 fxPatternParserNext(parser);
1005 break;
1006 case 'W':
1007 result = fxCharSetNot(parser, fxCharSetWords(parser));
1008 fxPatternParserNext(parser);
1009 break;
1010 case 'p':
1011 result = fxCharSetUnicodeProperty(parser);
1012 fxPatternParserNext(parser);
1013 break;
1014 case 'P':
1015 result = fxCharSetNot(parser, fxCharSetUnicodeProperty(parser));
1016 fxPatternParserNext(parser);
1017 break;
1018 default:
1019 fxPatternParserEscape(parser, punctuator);
1020 result = fxCharSetSingle(parser, parser->character);
1021 fxPatternParserNext(parser);
1022 flag = 0;
1023 break;
1024 }
1025 if (result == NULL)
1026 fxPatternParserError(parser, gxErrors[mxInvalidEscape]);
1027 if (kind)
1028 *kind = flag;
1029 return result;
1030}
1031
1032void* fxCharSetParseItem(txPatternParser* parser)
1033{

Callers 3

fxCharSetOperandFunction · 0.85
fxCharSetParseItemFunction · 0.85
fxSequenceParseFunction · 0.85

Calls 9

fxCharSetDigitsFunction · 0.85
fxPatternParserNextFunction · 0.85
fxCharSetNotFunction · 0.85
fxCharSetSpacesFunction · 0.85
fxCharSetWordsFunction · 0.85
fxCharSetUnicodePropertyFunction · 0.85
fxPatternParserEscapeFunction · 0.85
fxCharSetSingleFunction · 0.85
fxPatternParserErrorFunction · 0.85

Tested by

no test coverage detected