X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fpxp%2Fpxp_lexers.ml;fp=helm%2FDEVEL%2Fpxp%2Fpxp%2Fpxp_lexers.ml;h=ce6e7b3f174a4f282119ad17d91e88c3edf24438;hb=c03d2c1fdab8d228cb88aaba5ca0f556318bebc5;hp=0000000000000000000000000000000000000000;hpb=758057e85325f94cd88583feb1fdf6b038e35055;p=helm.git diff --git a/helm/DEVEL/pxp/pxp/pxp_lexers.ml b/helm/DEVEL/pxp/pxp/pxp_lexers.ml new file mode 100644 index 000000000..ce6e7b3f1 --- /dev/null +++ b/helm/DEVEL/pxp/pxp/pxp_lexers.ml @@ -0,0 +1,90 @@ +(* $Id$ + * ---------------------------------------------------------------------- + * PXP: The polymorphic XML parser for Objective Caml. + * Copyright 1999 by Gerd Stolpmann. See LICENSE for details. + *) + + +open Pxp_types +open Pxp_lexer_types + +let lexer_set_iso88591 = + { lex_encoding = `Enc_iso88591; + scan_document = Pxp_lex_document_iso88591.scan_document; + scan_content = Pxp_lex_content_iso88591.scan_content; + scan_within_tag = Pxp_lex_within_tag_iso88591.scan_within_tag; + scan_document_type = Pxp_lex_document_type_iso88591. + scan_document_type; + scan_declaration = Pxp_lex_declaration_iso88591.scan_declaration; + scan_content_comment = Pxp_lex_misc_iso88591.scan_content_comment; + scan_decl_comment = Pxp_lex_misc_iso88591.scan_decl_comment; + scan_document_comment = Pxp_lex_misc_iso88591.scan_document_comment; + scan_ignored_section = Pxp_lex_name_string_iso88591. + scan_ignored_section; + scan_xml_pi = Pxp_lex_misc_iso88591.scan_xml_pi; + scan_dtd_string = Pxp_lex_dtd_string_iso88591.scan_dtd_string; + scan_content_string = Pxp_lex_content_string_iso88591. + scan_content_string; + scan_name_string = Pxp_lex_name_string_iso88591.scan_name_string; + scan_only_xml_decl = Pxp_lex_misc_iso88591.scan_only_xml_decl; + scan_for_crlf = Pxp_lex_misc_iso88591.scan_for_crlf; + } +;; + + +let lexer_set_utf8 = ref None +;; + + +let init_utf8 ls = + lexer_set_utf8 := Some ls +;; + + +let get_lexer_set enc = + match enc with + `Enc_iso88591 -> lexer_set_iso88591 + | `Enc_utf8 -> + ( match !lexer_set_utf8 with + None -> + failwith ("Pxp_lexers: UTF-8 lexers not initialized") + | Some ls -> + ls + ) + | _ -> + failwith ("Pxp_lexers: This type of internal encoding is not supported") +;; + +(* ====================================================================== + * History: + * + * $Log$ + * Revision 1.1 2000/11/17 09:57:29 lpadovan + * Initial revision + * + * Revision 1.4 2000/05/29 23:48:38 gerd + * Changed module names: + * Markup_aux into Pxp_aux + * Markup_codewriter into Pxp_codewriter + * Markup_document into Pxp_document + * Markup_dtd into Pxp_dtd + * Markup_entity into Pxp_entity + * Markup_lexer_types into Pxp_lexer_types + * Markup_reader into Pxp_reader + * Markup_types into Pxp_types + * Markup_yacc into Pxp_yacc + * See directory "compatibility" for (almost) compatible wrappers emulating + * Markup_document, Markup_dtd, Markup_reader, Markup_types, and Markup_yacc. + * + * Revision 1.3 2000/05/29 21:14:57 gerd + * Changed the type 'encoding' into a polymorphic variant. + * + * Revision 1.2 2000/05/23 00:09:44 gerd + * The UTF-8 lexer set is no longer initialized here. It is done + * in the new module Pxp_utf8. Reason: You can link without UTF-8 support. + * + * Revision 1.1 2000/05/20 20:30:50 gerd + * Initial revision. + * + * + *)