Lines Matching refs:parser

35 #define PHP_JSON_DEPTH_DEC --parser->depth
37 if (parser->max_depth && parser->depth >= parser->max_depth) { \
38 parser->scanner.errcode = PHP_JSON_ERROR_DEPTH; \
41 ++parser->depth
47 %lex-param { php_json_parser *parser }
48 %parse-param { php_json_parser *parser }
77 static int php_json_yylex(union YYSTYPE *value, php_json_parser *parser);
78 static void php_json_yyerror(php_json_parser *parser, char const *msg);
79 static int php_json_parser_array_create(php_json_parser *parser, zval *array);
80 static int php_json_parser_object_create(php_json_parser *parser, zval *array);
90 ZVAL_COPY_VALUE(parser->return_value, &$1);
99 if (parser->methods.object_start && FAILURE == parser->methods.object_start(parser)) {
107 if (parser->methods.object_end && FAILURE == parser->methods.object_end(parser, &$$)) {
117 parser->scanner.errcode = PHP_JSON_ERROR_STATE_MISMATCH;
125 …if ((parser->scanner.options & PHP_JSON_OBJECT_AS_ARRAY) && parser->methods.object_create == php_j…
128 parser->methods.object_create(parser, &$$);
137 parser->methods.object_create(parser, &$$);
138 if (parser->methods.object_update(parser, &$$, $1.key, &$1.val) == FAILURE) {
144 if (parser->methods.object_update(parser, &$1, $3.key, &$3.val) == FAILURE) {
163 if (parser->methods.array_start && FAILURE == parser->methods.array_start(parser)) {
171 if (parser->methods.array_end && FAILURE == parser->methods.array_end(parser, &$$)) {
181 parser->scanner.errcode = PHP_JSON_ERROR_STATE_MISMATCH;
189 if (parser->methods.array_create == php_json_parser_array_create) {
192 parser->methods.array_create(parser, &$$);
201 parser->methods.array_create(parser, &$$);
202 parser->methods.array_append(parser, &$$, &$1);
206 parser->methods.array_append(parser, &$1, &$3);
230 static int php_json_parser_array_create(php_json_parser *parser, zval *array)
236 static int php_json_parser_array_append(php_json_parser *parser, zval *array, zval *zvalue) in php_json_parser_array_append() argument
242 static int php_json_parser_object_create(php_json_parser *parser, zval *object) in php_json_parser_object_create() argument
244 if (parser->scanner.options & PHP_JSON_OBJECT_AS_ARRAY) { in php_json_parser_object_create()
252 static int php_json_parser_object_update(php_json_parser *parser, zval *object, zend_string *key, z… in php_json_parser_object_update() argument
260 parser->scanner.errcode = PHP_JSON_ERROR_INVALID_PROPERTY_NAME; in php_json_parser_object_update()
275 static int php_json_yylex(union YYSTYPE *value, php_json_parser *parser) in php_json_yylex() argument
277 int token = php_json_scan(&parser->scanner); in php_json_yylex()
278 value->value = parser->scanner.value; in php_json_yylex()
282 static void php_json_yyerror(php_json_parser *parser, char const *msg) in php_json_yyerror() argument
284 if (!parser->scanner.errcode) { in php_json_yyerror()
285 parser->scanner.errcode = PHP_JSON_ERROR_SYNTAX; in php_json_yyerror()
289 PHP_JSON_API php_json_error_code php_json_parser_error_code(const php_json_parser *parser) in php_json_parser_error_code() argument
291 return parser->scanner.errcode; in php_json_parser_error_code()
306 PHP_JSON_API void php_json_parser_init_ex(php_json_parser *parser, in php_json_parser_init_ex() argument
314 memset(parser, 0, sizeof(php_json_parser)); in php_json_parser_init_ex()
315 php_json_scanner_init(&parser->scanner, str, str_len, options); in php_json_parser_init_ex()
316 parser->depth = 1; in php_json_parser_init_ex()
317 parser->max_depth = max_depth; in php_json_parser_init_ex()
318 parser->return_value = return_value; in php_json_parser_init_ex()
319 memcpy(&parser->methods, parser_methods, sizeof(php_json_parser_methods)); in php_json_parser_init_ex()
322 PHP_JSON_API void php_json_parser_init(php_json_parser *parser, in php_json_parser_init() argument
330 parser, in php_json_parser_init()
339 PHP_JSON_API int php_json_parse(php_json_parser *parser) in php_json_parse() argument
341 return php_json_yyparse(parser); in php_json_parse()