package dypgen

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val dypgen_verbose : int Pervasives.ref
type !'a nt_prio =
  1. | No_priority
  2. | Eq_priority of 'a
  3. | Less_priority of 'a
  4. | Lesseq_priority of 'a
  5. | Greater_priority of 'a
  6. | Greatereq_priority of 'a
type regexp =
  1. | RE_Char of char
  2. | RE_Char_set of (char * char) list
  3. | RE_Char_set_exclu of (char * char) list
  4. | RE_String of string
  5. | RE_Alt of regexp list
  6. | RE_Seq of regexp list
  7. | RE_Star of regexp
  8. | RE_Plus of regexp
  9. | RE_Option of regexp
  10. | RE_Name of string
  11. | RE_Eof_char
type symb =
  1. | Ter of string
  2. | Ter_NL of string
  3. | Non_ter of string * string nt_prio
  4. | Non_ter_NL of string * string nt_prio
  5. | Regexp of regexp
  6. | Regexp_NL of regexp
type rule_options =
  1. | No_layout_inside
  2. | No_layout_follows
type rule = string * symb list * string * rule_options list
type nt_cons_map
type (!'obj, !'gd, !'ld) merge_function = ('obj * 'gd * 'ld) list -> 'obj list * 'gd * 'ld
type debug_infos = {
  1. prt_state : Pervasives.out_channel -> unit;
  2. prt_grammar : Pervasives.out_channel -> unit;
}
type (!'t, !'o, !'gd, !'ld, !'l) action =
  1. | Dypgen_action of 'o list -> (Lexing.position * Lexing.position) -> (Lexing.position * Lexing.position) list -> 'gd -> 'ld -> 'ld -> debug_infos -> ('t, 'o, 'gd, 'ld, 'l) parser_pilot -> (unit -> string list) -> 'o * bool * bool * 'gd * 'ld * (rule * ('t, 'o, 'gd, 'ld, 'l) action * (int * ('t, 'o, 'gd, 'ld, 'l) inherited_val) list) list * (string * string) list * string list list * Pervasives.out_channel option * Pervasives.out_channel option * ('t, 'o, 'gd, 'ld, 'l) parsing_device option
and (!'t, !'o, !'gd, !'ld, !'l) inherited_val = 'o list -> (Lexing.position * Lexing.position) -> (Lexing.position * Lexing.position) list -> 'gd -> 'ld -> 'ld -> debug_infos -> ('t, 'o, 'gd, 'ld, 'l) parser_pilot -> (unit -> string list) -> 'o
and (!'token, !'obj, !'global_data, !'local_data, !'lexbuf) parser_pilot = {
  1. pp_dev : ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parsing_device;
  2. pp_par : ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_parameters;
  3. pp_gd : 'global_data;
  4. pp_ld : 'local_data;
}
and ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parsing_device
and ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_parameters
type (!'token, !'obj, !'gd, !'ld, !'l) dypgen_toolbox = {
  1. parser_pilot : ('token, 'obj, 'gd, 'ld, 'l) parser_pilot;
  2. global_data : 'gd;
  3. local_data : 'ld;
  4. last_local_data : 'ld;
  5. next_lexeme : unit -> string list;
  6. symbol_start : unit -> int;
  7. symbol_start_pos : unit -> Lexing.position;
  8. symbol_end : unit -> int;
  9. symbol_end_pos : unit -> Lexing.position;
  10. rhs_start : int -> int;
  11. rhs_start_pos : int -> Lexing.position;
  12. rhs_end : int -> int;
  13. rhs_end_pos : int -> Lexing.position;
  14. print_state : Pervasives.out_channel -> unit;
  15. print_grammar : Pervasives.out_channel -> unit;
}
type (!'token, !'obj, !'gd, !'ld, !'l) dyp_action =
  1. | Add_rules of (rule * (('token, 'obj, 'gd, 'ld, 'l) dypgen_toolbox -> 'obj list -> 'obj * ('token, 'obj, 'gd, 'ld, 'l) dyp_action list)) list
  2. | Bind_to_cons of (string * string) list
  3. | Global_data of 'gd
  4. | Keep_grammar
  5. | Parser of ('token, 'obj, 'gd, 'ld, 'l) parsing_device
  6. | Local_data of 'ld
  7. | Next_grammar of Pervasives.out_channel
  8. | Next_state of Pervasives.out_channel
  9. | Relation of string list list
  10. | Dont_shift
exception Giveup
exception Undefined_nt of string
exception Undefined_ter of string
exception Bad_constructor of string * string * string
exception Constructor_mismatch of string * string
exception Syntax_error
val keep_all : ('obj, 'gd, 'ld) merge_function
val keep_one : ('obj, 'gd, 'ld) merge_function
val dummy_lexbuf_position : 'a -> Lexing.position * Lexing.position
module Tools : sig ... end
val print_regexp : regexp -> string
type 'obj dyplexbuf
val lexeme : 'obj dyplexbuf -> string
val lexeme_char : 'obj dyplexbuf -> int -> char
val lexeme_start : 'obj dyplexbuf -> int
val lexeme_end : 'obj dyplexbuf -> int
val lexeme_start_p : 'obj dyplexbuf -> Lexing.position
val lexeme_end_p : 'obj dyplexbuf -> Lexing.position
val flush_input : 'obj dyplexbuf -> unit
val from_string : ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_pilot -> string -> 'obj dyplexbuf
val from_channel : ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_pilot -> Pervasives.in_channel -> 'obj dyplexbuf
val from_function : ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_pilot -> (string -> int -> int) -> 'obj dyplexbuf
val dyplex_lexbuf_position : 'obj dyplexbuf -> Lexing.position * Lexing.position
val std_lexbuf : 'obj dyplexbuf -> Lexing.lexbuf
val set_newline : 'obj dyplexbuf -> unit
val set_fname : 'obj dyplexbuf -> string -> unit
val make_parser : (rule * ('token, 'obj, 'global_data, 'local_data, 'lexbuf) action * (int * ('token, 'obj, 'global_data, 'local_data, 'lexbuf) inherited_val) list) list -> string list list -> 'global_data -> 'local_data -> nt_cons_map -> string list -> bool -> int -> bool -> ('token -> 'obj) -> ('token -> int) -> ('token -> string) -> ('global_data -> 'global_data -> bool) -> ('local_data -> 'local_data -> bool) -> ('obj -> bool) array -> ('obj -> string) -> string array -> (string, int) Hashtbl.t -> ('obj, 'global_data, 'local_data) merge_function array -> ('lexbuf -> Lexing.position * Lexing.position) -> (string * regexp) list -> ((string * regexp) list * (int * ('obj dyplexbuf -> 'obj)) list) -> (string * (regexp list * ('obj list -> 'obj dyplexbuf -> 'obj) list)) list -> (string * int) list -> ('obj dyplexbuf -> 'obj) -> bool -> ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_pilot
val update_pp : ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_pilot -> ('token, 'obj, 'global_data, 'local_data, 'lexbuf) dyp_action list -> ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_pilot
val lex : string -> 'obj list -> 'obj dyplexbuf -> 'obj
val parse : ('token, 'obj, 'global_data, 'local_data, 'lexbuf) parser_pilot -> string -> ?global_data:'global_data -> ?local_data:'local_data -> ?match_len:[ `longest | `shortest ] -> ?keep_data:[ `both | `global | `local | `none ] -> ?lexpos:('lexbuf -> Lexing.position * Lexing.position) -> ?use_rule_order:bool -> ?use_all_actions:bool -> ('lexbuf -> 'token) -> 'lexbuf -> ('obj * string) list
val lexparse : ('token, 'obj, 'global_data, 'local_data, 'obj dyplexbuf) parser_pilot -> string -> ?global_data:'global_data -> ?local_data:'local_data -> ?match_len:[ `longest | `shortest ] -> ?keep_data:[ `both | `global | `local | `none ] -> ?choose_token:[ `all | `first ] -> ?use_rule_order:bool -> ?use_all_actions:bool -> 'obj dyplexbuf -> ('obj * string) list
val function_free_pdev : ('t, 'o, 'gd, 'ld, 'lb) parsing_device -> ('t, 'o, 'gd, 'ld, 'lb) parsing_device
val import_functions : ('t, 'o, 'gd, 'ld, 'l) parsing_device -> ('t, 'o, 'gd, 'ld, 'l) parser_pilot -> (rule * (('t, 'o, 'gd, 'ld, 'l) dypgen_toolbox -> 'o list -> 'o * ('t, 'o, 'gd, 'ld, 'l) dyp_action list)) list -> ('t, 'o, 'gd, 'ld, 'l) parsing_device
val is_re_name : ('t, 'o, 'gd, 'ld, 'l) parser_pilot -> string -> bool
val version : string