let rec parse_string (print_tokens:bool) (s:string):Xml.xml = try let lexbuf = Lexing.from_string s in let parse = Xml_right_parser.main (lexer print_tokens) in parse lexbuf with |_ -> match print_tokens with |false -> let _ = IO.print_to_stderr ("Xml_right failed, read the following tokens from string:") in parse_string true s |true -> raise (Error "parsing failed")