Lines Matching refs:token

58                                            JSONToken *token, const char *msg, ...)  in parse_error()  argument
129 static QString *parse_string(JSONParserContext *ctxt, JSONToken *token) in parse_string() argument
131 const char *ptr = token->str; in parse_string()
197 parse_error(ctxt, token, in parse_string()
205 parse_error(ctxt, token, "invalid escape sequence in string"); in parse_string()
212 parse_error(ctxt, token, "can't interpolate into string"); in parse_string()
221 parse_error(ctxt, token, "invalid UTF-8 sequence in string"); in parse_string()
262 JSONToken *peek, *token; in parse_pair() local
277 token = parser_context_pop_token(ctxt); in parse_pair()
278 if (token == NULL) { in parse_pair()
283 if (token->type != JSON_COLON) { in parse_pair()
284 parse_error(ctxt, token, "missing : in object pair"); in parse_pair()
290 parse_error(ctxt, token, "Missing value in dict"); in parse_pair()
295 parse_error(ctxt, token, "duplicate key"); in parse_pair()
312 JSONToken *token, *peek; in parse_object() local
314 token = parser_context_pop_token(ctxt); in parse_object()
315 assert(token && token->type == JSON_LCURLY); in parse_object()
330 token = parser_context_pop_token(ctxt); in parse_object()
331 if (token == NULL) { in parse_object()
336 while (token->type != JSON_RCURLY) { in parse_object()
337 if (token->type != JSON_COMMA) { in parse_object()
338 parse_error(ctxt, token, "expected separator in dict"); in parse_object()
346 token = parser_context_pop_token(ctxt); in parse_object()
347 if (token == NULL) { in parse_object()
366 JSONToken *token, *peek; in parse_array() local
368 token = parser_context_pop_token(ctxt); in parse_array()
369 assert(token && token->type == JSON_LSQUARE); in parse_array()
384 parse_error(ctxt, token, "expecting value"); in parse_array()
390 token = parser_context_pop_token(ctxt); in parse_array()
391 if (token == NULL) { in parse_array()
396 while (token->type != JSON_RSQUARE) { in parse_array()
397 if (token->type != JSON_COMMA) { in parse_array()
398 parse_error(ctxt, token, "expected separator in list"); in parse_array()
404 parse_error(ctxt, token, "expecting value"); in parse_array()
410 token = parser_context_pop_token(ctxt); in parse_array()
411 if (token == NULL) { in parse_array()
429 JSONToken *token; in parse_keyword() local
431 token = parser_context_pop_token(ctxt); in parse_keyword()
432 assert(token && token->type == JSON_KEYWORD); in parse_keyword()
434 if (!strcmp(token->str, "true")) { in parse_keyword()
436 } else if (!strcmp(token->str, "false")) { in parse_keyword()
438 } else if (!strcmp(token->str, "null")) { in parse_keyword()
441 parse_error(ctxt, token, "invalid keyword '%s'", token->str); in parse_keyword()
447 JSONToken *token; in parse_interpolation() local
449 token = parser_context_pop_token(ctxt); in parse_interpolation()
450 assert(token && token->type == JSON_INTERP); in parse_interpolation()
452 if (!strcmp(token->str, "%p")) { in parse_interpolation()
454 } else if (!strcmp(token->str, "%i")) { in parse_interpolation()
456 } else if (!strcmp(token->str, "%d")) { in parse_interpolation()
458 } else if (!strcmp(token->str, "%ld")) { in parse_interpolation()
460 } else if (!strcmp(token->str, "%lld")) { in parse_interpolation()
462 } else if (!strcmp(token->str, "%" PRId64)) { in parse_interpolation()
464 } else if (!strcmp(token->str, "%u")) { in parse_interpolation()
466 } else if (!strcmp(token->str, "%lu")) { in parse_interpolation()
468 } else if (!strcmp(token->str, "%llu")) { in parse_interpolation()
470 } else if (!strcmp(token->str, "%" PRIu64)) { in parse_interpolation()
472 } else if (!strcmp(token->str, "%s")) { in parse_interpolation()
474 } else if (!strcmp(token->str, "%f")) { in parse_interpolation()
477 parse_error(ctxt, token, "invalid interpolation '%s'", token->str); in parse_interpolation()
483 JSONToken *token; in parse_literal() local
485 token = parser_context_pop_token(ctxt); in parse_literal()
486 assert(token); in parse_literal()
488 switch (token->type) { in parse_literal()
490 return QOBJECT(parse_string(ctxt, token)); in parse_literal()
508 ret = qemu_strtoi64(token->str, NULL, 10, &value); in parse_literal()
514 if (token->str[0] != '-') { in parse_literal()
515 ret = qemu_strtou64(token->str, NULL, 10, &uvalue); in parse_literal()
527 return QOBJECT(qnum_from_double(strtod(token->str, NULL))); in parse_literal()
535 JSONToken *token; in parse_value() local
537 token = parser_context_peek_token(ctxt); in parse_value()
538 if (token == NULL) { in parse_value()
543 switch (token->type) { in parse_value()
557 parse_error(ctxt, token, "expecting value"); in parse_value()
564 JSONToken *token = g_malloc(sizeof(JSONToken) + tokstr->len + 1); in json_token() local
566 token->type = type; in json_token()
567 memcpy(token->str, tokstr->str, tokstr->len); in json_token()
568 token->str[tokstr->len] = 0; in json_token()
569 token->x = x; in json_token()
570 token->y = y; in json_token()
571 return token; in json_token()