Lines Matching refs:parser

88   struct gdb_xml_parser *parser = data;  in gdb_xml_body_text()  local
89 struct scope_level *scope = VEC_last (scope_level_s, parser->scopes); in gdb_xml_body_text()
91 if (parser->error.reason < 0) in gdb_xml_body_text()
106 gdb_xml_debug (struct gdb_xml_parser *parser, const char *format, ...) in gdb_xml_debug() argument
108 int line = XML_GetCurrentLineNumber (parser->expat_parser); in gdb_xml_debug()
119 parser->name, line, message); in gdb_xml_debug()
122 parser->name, message); in gdb_xml_debug()
130 gdb_xml_error (struct gdb_xml_parser *parser, const char *format, ...) in gdb_xml_error() argument
132 int line = XML_GetCurrentLineNumber (parser->expat_parser); in gdb_xml_error()
135 parser->last_line = line; in gdb_xml_error()
178 struct gdb_xml_parser *parser = data; in gdb_xml_start_element() local
190 VEC_reserve (scope_level_s, parser->scopes, 1); in gdb_xml_start_element()
191 scope = VEC_last (scope_level_s, parser->scopes); in gdb_xml_start_element()
193 VEC_quick_push (scope_level_s, parser->scopes, &new_scope); in gdb_xml_start_element()
195 gdb_xml_debug (parser, _("Entering element <%s>"), name); in gdb_xml_start_element()
211 if (parser->is_xinclude) in gdb_xml_start_element()
215 XML_DefaultCurrent (parser->expat_parser); in gdb_xml_start_element()
217 unknown_scope = VEC_last (scope_level_s, parser->scopes); in gdb_xml_start_element()
222 gdb_xml_debug (parser, _("Element <%s> unknown"), name); in gdb_xml_start_element()
227 gdb_xml_error (parser, _("Element <%s> only expected once"), name); in gdb_xml_start_element()
251 gdb_xml_debug (parser, _("Attribute \"%s\" missing a value"), in gdb_xml_start_element()
258 gdb_xml_error (parser, _("Required attribute \"%s\" of " in gdb_xml_start_element()
267 gdb_xml_debug (parser, _("Parsing attribute %s=\"%s\""), in gdb_xml_start_element()
271 parsed_value = attribute->handler (parser, attribute, val); in gdb_xml_start_element()
294 gdb_xml_debug (parser, _("Ignoring unknown attribute %s"), *p); in gdb_xml_start_element()
300 element->start_handler (parser, element, parser->user_data, attributes); in gdb_xml_start_element()
303 scope = VEC_last (scope_level_s, parser->scopes); in gdb_xml_start_element()
317 struct gdb_xml_parser *parser = data; in gdb_xml_start_element_wrapper() local
320 if (parser->error.reason < 0) in gdb_xml_start_element_wrapper()
329 parser->error = ex; in gdb_xml_start_element_wrapper()
331 XML_StopParser (parser->expat_parser, XML_FALSE); in gdb_xml_start_element_wrapper()
342 struct gdb_xml_parser *parser = data; in gdb_xml_end_element() local
343 struct scope_level *scope = VEC_last (scope_level_s, parser->scopes); in gdb_xml_end_element()
347 gdb_xml_debug (parser, _("Leaving element <%s>"), name); in gdb_xml_end_element()
354 gdb_xml_error (parser, _("Required element <%s> is missing"), in gdb_xml_end_element()
379 scope->element->end_handler (parser, scope->element, parser->user_data, in gdb_xml_end_element()
383 XML_DefaultCurrent (parser->expat_parser); in gdb_xml_end_element()
391 VEC_pop (scope_level_s, parser->scopes); in gdb_xml_end_element()
400 struct gdb_xml_parser *parser = data; in gdb_xml_end_element_wrapper() local
403 if (parser->error.reason < 0) in gdb_xml_end_element_wrapper()
412 parser->error = ex; in gdb_xml_end_element_wrapper()
414 XML_StopParser (parser->expat_parser, XML_FALSE); in gdb_xml_end_element_wrapper()
424 struct gdb_xml_parser *parser = arg; in gdb_xml_cleanup() local
428 XML_ParserFree (parser->expat_parser); in gdb_xml_cleanup()
431 for (ix = 0; VEC_iterate (scope_level_s, parser->scopes, ix, scope); ix++) in gdb_xml_cleanup()
437 VEC_free (scope_level_s, parser->scopes); in gdb_xml_cleanup()
439 xfree (parser); in gdb_xml_cleanup()
450 struct gdb_xml_parser *parser; in gdb_xml_create_parser_and_cleanup_1() local
455 parser = XZALLOC (struct gdb_xml_parser); in gdb_xml_create_parser_and_cleanup_1()
456 parser->expat_parser = XML_ParserCreateNS (NULL, '!'); in gdb_xml_create_parser_and_cleanup_1()
457 if (parser->expat_parser == NULL) in gdb_xml_create_parser_and_cleanup_1()
459 xfree (parser); in gdb_xml_create_parser_and_cleanup_1()
463 parser->name = name; in gdb_xml_create_parser_and_cleanup_1()
465 parser->user_data = user_data; in gdb_xml_create_parser_and_cleanup_1()
466 XML_SetUserData (parser->expat_parser, parser); in gdb_xml_create_parser_and_cleanup_1()
469 XML_SetElementHandler (parser->expat_parser, gdb_xml_start_element_wrapper, in gdb_xml_create_parser_and_cleanup_1()
471 XML_SetCharacterDataHandler (parser->expat_parser, gdb_xml_body_text); in gdb_xml_create_parser_and_cleanup_1()
476 VEC_safe_push (scope_level_s, parser->scopes, &start_scope); in gdb_xml_create_parser_and_cleanup_1()
481 *old_chain = make_cleanup (gdb_xml_cleanup, parser); in gdb_xml_create_parser_and_cleanup_1()
482 return parser; in gdb_xml_create_parser_and_cleanup_1()
510 struct gdb_xml_parser *parser = XML_GetUserData (expat_parser); in gdb_xml_fetch_external_entity() local
517 text = fetch_xml_builtin (parser->dtd_name); in gdb_xml_fetch_external_entity()
521 parser->dtd_name); in gdb_xml_fetch_external_entity()
550 gdb_xml_use_dtd (struct gdb_xml_parser *parser, const char *dtd_name) in gdb_xml_use_dtd() argument
554 parser->dtd_name = dtd_name; in gdb_xml_use_dtd()
556 XML_SetParamEntityParsing (parser->expat_parser, in gdb_xml_use_dtd()
558 XML_SetExternalEntityRefHandler (parser->expat_parser, in gdb_xml_use_dtd()
562 err = XML_UseForeignDTD (parser->expat_parser, XML_TRUE); in gdb_xml_use_dtd()
577 gdb_xml_parse (struct gdb_xml_parser *parser, const char *buffer) in gdb_xml_parse() argument
582 gdb_xml_debug (parser, _("Starting:\n%s"), buffer); in gdb_xml_parse()
584 status = XML_Parse (parser->expat_parser, buffer, strlen (buffer), 1); in gdb_xml_parse()
586 if (status == XML_STATUS_OK && parser->error.reason == 0) in gdb_xml_parse()
589 if (parser->error.reason == RETURN_ERROR in gdb_xml_parse()
590 && parser->error.error == XML_PARSE_ERROR) in gdb_xml_parse()
592 gdb_assert (parser->error.message != NULL); in gdb_xml_parse()
593 error_string = parser->error.message; in gdb_xml_parse()
597 enum XML_Error err = XML_GetErrorCode (parser->expat_parser); in gdb_xml_parse()
603 gdb_assert (parser->error.reason < 0); in gdb_xml_parse()
604 throw_exception (parser->error); in gdb_xml_parse()
607 if (parser->last_line != 0) in gdb_xml_parse()
608 warning (_("while parsing %s (at line %d): %s"), parser->name, in gdb_xml_parse()
609 parser->last_line, error_string); in gdb_xml_parse()
611 warning (_("while parsing %s: %s"), parser->name, error_string); in gdb_xml_parse()
621 struct gdb_xml_parser *parser; in gdb_xml_parse_quick() local
625 parser = gdb_xml_create_parser_and_cleanup_1 (name, elements, in gdb_xml_parse_quick()
628 gdb_xml_use_dtd (parser, dtd_name); in gdb_xml_parse_quick()
629 result = gdb_xml_parse (parser, document); in gdb_xml_parse_quick()
663 gdb_xml_parse_ulongest (struct gdb_xml_parser *parser, const char *value) in gdb_xml_parse_ulongest() argument
668 gdb_xml_error (parser, _("Can't convert \"%s\" to an integer"), value); in gdb_xml_parse_ulongest()
676 gdb_xml_parse_attr_ulongest (struct gdb_xml_parser *parser, in gdb_xml_parse_attr_ulongest() argument
684 gdb_xml_error (parser, _("Can't convert %s=\"%s\" to an integer"), in gdb_xml_parse_attr_ulongest()
706 gdb_xml_parse_attr_enum (struct gdb_xml_parser *parser, in gdb_xml_parse_attr_enum() argument
718 gdb_xml_error (parser, _("Unknown attribute value %s=\"%s\""), in gdb_xml_parse_attr_enum()
771 xinclude_start_include (struct gdb_xml_parser *parser, in xinclude_start_include() argument
780 gdb_xml_debug (parser, _("Processing XInclude of \"%s\""), href); in xinclude_start_include()
783 gdb_xml_error (parser, _("Maximum XInclude depth (%d) exceeded"), in xinclude_start_include()
788 gdb_xml_error (parser, _("Could not load XML document \"%s\""), href); in xinclude_start_include()
791 output = xml_process_xincludes (parser->name, text, data->fetcher, in xinclude_start_include()
795 gdb_xml_error (parser, _("Parsing \"%s\" failed"), href); in xinclude_start_include()
806 xinclude_end_include (struct gdb_xml_parser *parser, in xinclude_end_include() argument
818 struct gdb_xml_parser *parser = data_; in xml_xinclude_default() local
819 struct xinclude_parsing_data *data = parser->user_data; in xml_xinclude_default()
836 struct gdb_xml_parser *parser = data_; in xml_xinclude_start_doctype() local
837 struct xinclude_parsing_data *data = parser->user_data; in xml_xinclude_start_doctype()
847 struct gdb_xml_parser *parser = data_; in xml_xinclude_end_doctype() local
848 struct xinclude_parsing_data *data = parser->user_data; in xml_xinclude_end_doctype()
890 struct gdb_xml_parser *parser; in xml_process_xincludes() local
899 parser = gdb_xml_create_parser_and_cleanup (name, xinclude_elements, data); in xml_process_xincludes()
900 parser->is_xinclude = 1; in xml_process_xincludes()
906 XML_SetCharacterDataHandler (parser->expat_parser, NULL); in xml_process_xincludes()
907 XML_SetDefaultHandler (parser->expat_parser, xml_xinclude_default); in xml_process_xincludes()
912 XML_SetXmlDeclHandler (parser->expat_parser, xml_xinclude_xml_decl); in xml_process_xincludes()
916 XML_SetDoctypeDeclHandler (parser->expat_parser, in xml_process_xincludes()
920 gdb_xml_use_dtd (parser, "xinclude.dtd"); in xml_process_xincludes()
922 if (gdb_xml_parse (parser, text) == 0) in xml_process_xincludes()
928 gdb_xml_debug (parser, _("XInclude processing succeeded.")); in xml_process_xincludes()