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

Function fxGetNextCode

xs/sources/xsLexical.c:161–186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

159}
160
161txU4 fxGetNextCode(txParser* parser)
162{
163 txU4 code = (txU4)(*(parser->getter))(parser->stream);
164 if ((code & 0x80) && (code != (txU4)C_EOF)) {
165 txUTF8Sequence const *sequence = NULL;
166 for (sequence = gxUTF8Sequences; sequence->size; sequence++) {
167 if ((code & sequence->cmask) == sequence->cval)
168 break;
169 }
170 if (sequence->size == 0) {
171 fxReportParserError(parser, parser->states[2].line, "invalid character %d", code);
172 code = (txU4)C_EOF;
173 }
174 else {
175 txS4 size = sequence->size - 1;
176 while (size) {
177 size--;
178 code = (code << 6) | ((*(parser->getter))(parser->stream) & 0x3F);
179 }
180 code &= sequence->lmask;
181 }
182 if (code == 0x000110000)
183 code = 0;
184 }
185 return code;
186}
187
188txString fxGetNextDigits(txParser* parser, txString (*f)(txParser*, txString, txString), txString p, txString q, int empty)
189{

Callers 1

fxGetNextCharacterFunction · 0.85

Calls 1

fxReportParserErrorFunction · 0.85

Tested by

no test coverage detected