Lines Matching refs:parser

9 yaml_parser_load(yaml_parser_t *parser, yaml_document_t *document);
16 yaml_parser_set_composer_error(yaml_parser_t *parser,
20 yaml_parser_set_composer_error_context(yaml_parser_t *parser,
30 yaml_parser_register_anchor(yaml_parser_t *parser,
38 yaml_parser_delete_aliases(yaml_parser_t *parser);
45 yaml_parser_load_document(yaml_parser_t *parser, yaml_event_t *first_event);
48 yaml_parser_load_node(yaml_parser_t *parser, yaml_event_t *first_event);
51 yaml_parser_load_alias(yaml_parser_t *parser, yaml_event_t *first_event);
54 yaml_parser_load_scalar(yaml_parser_t *parser, yaml_event_t *first_event);
57 yaml_parser_load_sequence(yaml_parser_t *parser, yaml_event_t *first_event);
60 yaml_parser_load_mapping(yaml_parser_t *parser, yaml_event_t *first_event);
67 yaml_parser_load(yaml_parser_t *parser, yaml_document_t *document) in yaml_parser_load() argument
71 assert(parser); /* Non-NULL parser object is expected. */ in yaml_parser_load()
75 if (!STACK_INIT(parser, document->nodes, INITIAL_STACK_SIZE)) in yaml_parser_load()
78 if (!parser->stream_start_produced) { in yaml_parser_load()
79 if (!yaml_parser_parse(parser, &event)) goto error; in yaml_parser_load()
84 if (parser->stream_end_produced) { in yaml_parser_load()
88 if (!yaml_parser_parse(parser, &event)) goto error; in yaml_parser_load()
93 if (!STACK_INIT(parser, parser->aliases, INITIAL_STACK_SIZE)) in yaml_parser_load()
96 parser->document = document; in yaml_parser_load()
98 if (!yaml_parser_load_document(parser, &event)) goto error; in yaml_parser_load()
100 yaml_parser_delete_aliases(parser); in yaml_parser_load()
101 parser->document = NULL; in yaml_parser_load()
107 yaml_parser_delete_aliases(parser); in yaml_parser_load()
109 parser->document = NULL; in yaml_parser_load()
119 yaml_parser_set_composer_error(yaml_parser_t *parser, in yaml_parser_set_composer_error() argument
122 parser->error = YAML_COMPOSER_ERROR; in yaml_parser_set_composer_error()
123 parser->problem = problem; in yaml_parser_set_composer_error()
124 parser->problem_mark = problem_mark; in yaml_parser_set_composer_error()
134 yaml_parser_set_composer_error_context(yaml_parser_t *parser, in yaml_parser_set_composer_error_context() argument
138 parser->error = YAML_COMPOSER_ERROR; in yaml_parser_set_composer_error_context()
139 parser->context = context; in yaml_parser_set_composer_error_context()
140 parser->context_mark = context_mark; in yaml_parser_set_composer_error_context()
141 parser->problem = problem; in yaml_parser_set_composer_error_context()
142 parser->problem_mark = problem_mark; in yaml_parser_set_composer_error_context()
152 yaml_parser_delete_aliases(yaml_parser_t *parser) in yaml_parser_delete_aliases() argument
154 while (!STACK_EMPTY(parser, parser->aliases)) { in yaml_parser_delete_aliases()
155 yaml_free(POP(parser, parser->aliases).anchor); in yaml_parser_delete_aliases()
157 STACK_DEL(parser, parser->aliases); in yaml_parser_delete_aliases()
165 yaml_parser_load_document(yaml_parser_t *parser, yaml_event_t *first_event) in yaml_parser_load_document() argument
172 parser->document->version_directive in yaml_parser_load_document()
174 parser->document->tag_directives.start in yaml_parser_load_document()
176 parser->document->tag_directives.end in yaml_parser_load_document()
178 parser->document->start_implicit in yaml_parser_load_document()
180 parser->document->start_mark = first_event->start_mark; in yaml_parser_load_document()
182 if (!yaml_parser_parse(parser, &event)) return 0; in yaml_parser_load_document()
184 if (!yaml_parser_load_node(parser, &event)) return 0; in yaml_parser_load_document()
186 if (!yaml_parser_parse(parser, &event)) return 0; in yaml_parser_load_document()
190 parser->document->end_implicit = event.data.document_end.implicit; in yaml_parser_load_document()
191 parser->document->end_mark = event.end_mark; in yaml_parser_load_document()
201 yaml_parser_load_node(yaml_parser_t *parser, yaml_event_t *first_event) in yaml_parser_load_node() argument
205 return yaml_parser_load_alias(parser, first_event); in yaml_parser_load_node()
207 return yaml_parser_load_scalar(parser, first_event); in yaml_parser_load_node()
209 return yaml_parser_load_sequence(parser, first_event); in yaml_parser_load_node()
211 return yaml_parser_load_mapping(parser, first_event); in yaml_parser_load_node()
225 yaml_parser_register_anchor(yaml_parser_t *parser, in yaml_parser_register_anchor() argument
235 data.mark = parser->document->nodes.start[index-1].start_mark; in yaml_parser_register_anchor()
237 for (alias_data = parser->aliases.start; in yaml_parser_register_anchor()
238 alias_data != parser->aliases.top; alias_data ++) { in yaml_parser_register_anchor()
241 return yaml_parser_set_composer_error_context(parser, in yaml_parser_register_anchor()
247 if (!PUSH(parser, parser->aliases, data)) { in yaml_parser_register_anchor()
260 yaml_parser_load_alias(yaml_parser_t *parser, yaml_event_t *first_event) in yaml_parser_load_alias() argument
265 for (alias_data = parser->aliases.start; in yaml_parser_load_alias()
266 alias_data != parser->aliases.top; alias_data ++) { in yaml_parser_load_alias()
274 return yaml_parser_set_composer_error(parser, "found undefined alias", in yaml_parser_load_alias()
283 yaml_parser_load_scalar(yaml_parser_t *parser, yaml_event_t *first_event) in yaml_parser_load_scalar() argument
289 if (!STACK_LIMIT(parser, parser->document->nodes, INT_MAX-1)) goto error; in yaml_parser_load_scalar()
301 if (!PUSH(parser, parser->document->nodes, node)) goto error; in yaml_parser_load_scalar()
303 index = parser->document->nodes.top - parser->document->nodes.start; in yaml_parser_load_scalar()
305 if (!yaml_parser_register_anchor(parser, index, in yaml_parser_load_scalar()
322 yaml_parser_load_sequence(yaml_parser_t *parser, yaml_event_t *first_event) in yaml_parser_load_sequence() argument
334 if (!STACK_LIMIT(parser, parser->document->nodes, INT_MAX-1)) goto error; in yaml_parser_load_sequence()
342 if (!STACK_INIT(parser, items, INITIAL_STACK_SIZE)) goto error; in yaml_parser_load_sequence()
348 if (!PUSH(parser, parser->document->nodes, node)) goto error; in yaml_parser_load_sequence()
350 index = parser->document->nodes.top - parser->document->nodes.start; in yaml_parser_load_sequence()
352 if (!yaml_parser_register_anchor(parser, index, in yaml_parser_load_sequence()
355 if (!yaml_parser_parse(parser, &event)) return 0; in yaml_parser_load_sequence()
358 if (!STACK_LIMIT(parser, in yaml_parser_load_sequence()
359 parser->document->nodes.start[index-1].data.sequence.items, in yaml_parser_load_sequence()
361 item_index = yaml_parser_load_node(parser, &event); in yaml_parser_load_sequence()
363 if (!PUSH(parser, in yaml_parser_load_sequence()
364 parser->document->nodes.start[index-1].data.sequence.items, in yaml_parser_load_sequence()
366 if (!yaml_parser_parse(parser, &event)) return 0; in yaml_parser_load_sequence()
369 parser->document->nodes.start[index-1].end_mark = event.end_mark; in yaml_parser_load_sequence()
384 yaml_parser_load_mapping(yaml_parser_t *parser, yaml_event_t *first_event) in yaml_parser_load_mapping() argument
397 if (!STACK_LIMIT(parser, parser->document->nodes, INT_MAX-1)) goto error; in yaml_parser_load_mapping()
405 if (!STACK_INIT(parser, pairs, INITIAL_STACK_SIZE)) goto error; in yaml_parser_load_mapping()
411 if (!PUSH(parser, parser->document->nodes, node)) goto error; in yaml_parser_load_mapping()
413 index = parser->document->nodes.top - parser->document->nodes.start; in yaml_parser_load_mapping()
415 if (!yaml_parser_register_anchor(parser, index, in yaml_parser_load_mapping()
418 if (!yaml_parser_parse(parser, &event)) return 0; in yaml_parser_load_mapping()
421 if (!STACK_LIMIT(parser, in yaml_parser_load_mapping()
422 parser->document->nodes.start[index-1].data.mapping.pairs, in yaml_parser_load_mapping()
424 pair.key = yaml_parser_load_node(parser, &event); in yaml_parser_load_mapping()
426 if (!yaml_parser_parse(parser, &event)) return 0; in yaml_parser_load_mapping()
427 pair.value = yaml_parser_load_node(parser, &event); in yaml_parser_load_mapping()
429 if (!PUSH(parser, in yaml_parser_load_mapping()
430 parser->document->nodes.start[index-1].data.mapping.pairs, in yaml_parser_load_mapping()
432 if (!yaml_parser_parse(parser, &event)) return 0; in yaml_parser_load_mapping()
435 parser->document->nodes.start[index-1].end_mark = event.end_mark; in yaml_parser_load_mapping()