Lines Matching refs:parser

39 #define PHP_JSON_DEPTH_DEC --parser->depth
41 if (parser->max_depth && parser->depth >= parser->max_depth) { \
42 parser->scanner.errcode = PHP_JSON_ERROR_DEPTH; \
45 ++parser->depth
49 %pure-parser
51 %lex-param { php_json_parser *parser }
52 %parse-param { php_json_parser *parser }
81 static int php_json_yylex(union YYSTYPE *value, php_json_parser *parser);
82 static void php_json_yyerror(php_json_parser *parser, char const *msg);
92 ZVAL_COPY_VALUE(parser->return_value, &$1);
105 if (parser->methods.object_start && FAILURE == parser->methods.object_start(parser)) {
113 if (parser->methods.object_end && FAILURE == parser->methods.object_end(parser, &$$)) {
123 parser->scanner.errcode = PHP_JSON_ERROR_STATE_MISMATCH;
131 parser->methods.object_create(parser, &$$);
139 parser->methods.object_create(parser, &$$);
140 if (parser->methods.object_update(parser, &$$, $1.key, &$1.val) == FAILURE) {
146 if (parser->methods.object_update(parser, &$1, $3.key, &$3.val) == FAILURE) {
173 if (parser->methods.array_start && FAILURE == parser->methods.array_start(parser)) {
181 if (parser->methods.array_end && FAILURE == parser->methods.array_end(parser, &$$)) {
191 parser->scanner.errcode = PHP_JSON_ERROR_STATE_MISMATCH;
199 parser->methods.array_create(parser, &$$);
207 parser->methods.array_create(parser, &$$);
208 parser->methods.array_append(parser, &$$, &$1);
212 parser->methods.array_append(parser, &$1, &$3);
249 static int php_json_parser_array_create(php_json_parser *parser, zval *array)
254 static int php_json_parser_array_append(php_json_parser *parser, zval *array, zval *zvalue) in php_json_parser_array_append() argument
260 static int php_json_parser_object_create(php_json_parser *parser, zval *object) in php_json_parser_object_create() argument
262 if (parser->scanner.options & PHP_JSON_OBJECT_AS_ARRAY) { in php_json_parser_object_create()
269 static int php_json_parser_object_update(php_json_parser *parser, zval *object, zend_string *key, z… in php_json_parser_object_update() argument
277 parser->scanner.errcode = PHP_JSON_ERROR_INVALID_PROPERTY_NAME; in php_json_parser_object_update()
295 static int php_json_yylex(union YYSTYPE *value, php_json_parser *parser) in php_json_yylex() argument
297 int token = php_json_scan(&parser->scanner); in php_json_yylex()
298 value->value = parser->scanner.value; in php_json_yylex()
302 static void php_json_yyerror(php_json_parser *parser, char const *msg) in php_json_yyerror() argument
304 if (!parser->scanner.errcode) { in php_json_yyerror()
305 parser->scanner.errcode = PHP_JSON_ERROR_SYNTAX; in php_json_yyerror()
309 PHP_JSON_API php_json_error_code php_json_parser_error_code(const php_json_parser *parser) in php_json_parser_error_code() argument
311 return parser->scanner.errcode; in php_json_parser_error_code()
326 PHP_JSON_API void php_json_parser_init_ex(php_json_parser *parser, in php_json_parser_init_ex() argument
334 memset(parser, 0, sizeof(php_json_parser)); in php_json_parser_init_ex()
335 php_json_scanner_init(&parser->scanner, str, str_len, options); in php_json_parser_init_ex()
336 parser->depth = 1; in php_json_parser_init_ex()
337 parser->max_depth = max_depth; in php_json_parser_init_ex()
338 parser->return_value = return_value; in php_json_parser_init_ex()
339 memcpy(&parser->methods, parser_methods, sizeof(php_json_parser_methods)); in php_json_parser_init_ex()
342 PHP_JSON_API void php_json_parser_init(php_json_parser *parser, in php_json_parser_init() argument
350 parser, in php_json_parser_init()
359 PHP_JSON_API int php_json_parse(php_json_parser *parser) in php_json_parse() argument
361 return php_json_yyparse(parser); in php_json_parse()