Module Pxp_core_parser


module Pxp_core_parser: sig .. end
INTERNAL PXP INTERFACE!

This module should not be used from outside. Use Pxp_tree_parser or Pxp_ev_parser. The signature of this module may be heavily changed without keeping backwards compatibility.



type context = {
   mutable current : unit -> Pxp_lexer_types.token;
   mutable get_next : unit -> Pxp_lexer_types.token;
   mutable current_token : Pxp_lexer_types.token;
   mutable manager : Pxp_entity_manager.entity_manager;
}
type continuation_state = {
   cont_context : context;
   cont_extend_dtd : bool;
   cont_process_xmldecl : bool;
}
exception End_of_parsing
One way to signal that parsing is done
exception Interrupt_parsing of continuation_state
Interrupt the parsing loop to process pull-style events
val make_context : ?first_token:Pxp_lexer_types.token ->
Pxp_entity_manager.entity_manager -> context
type extended_entry = [ `Entry_content of [ `Dummy ] list
| `Entry_continuation of continuation_state
| `Entry_declarations of [ `Extend_dtd_fully | `Val_mode_dtd ] list
| `Entry_document of
[ `Extend_dtd_fully | `Parse_xml_decl | `Val_mode_dtd ] list
| `Entry_expr of [ `Dummy ] list ]
type 'a array_stack 
val stack_create : 'a -> 'a array_stack
val stack_push : 'a -> 'a array_stack -> unit
val stack_top : 'a array_stack -> 'a
val stack_pop : 'a array_stack -> 'a
class virtual core_parser : Pxp_dtd.dtd -> Pxp_types.config -> int -> object .. end