(* Oukseh Lee Copyright(c) 2000-2004 KAIST/SNU Research On Program Analysis System (National Creative Research Initiative Center 1998-2003) http://ropas.snu.ac.kr/n All rights reserved. This file is distributed under the terms of an Open Source License. *) signature Printf = sig val fprintf: out_channel -> string -> 'a val printf: string -> 'a val eprintf: string -> 'a val sprintf: string -> 'a val bprintf: Buffer.t -> string -> 'a val scan_format: string -> int -> (string -> int -> 'a) -> ('b -> 'c -> int -> 'a) -> ('e -> int -> 'a) -> 'a end signature Format = sig val open_box : int -> unit val close_box : unit -> unit val print_string : string -> unit val print_as : int -> string -> unit val print_int : int -> unit val print_float : real -> unit val print_real : real -> unit val print_char : char -> unit val print_bool : bool -> unit val print_space : unit -> unit val print_cut : unit -> unit val print_break : int -> int -> unit val print_flush : unit -> unit val print_newline : unit -> unit val force_newline : unit -> unit val print_if_newline : unit -> unit val set_margin : int -> unit val get_margin : unit -> int val set_max_indent : int -> unit val get_max_indent : unit -> int val set_max_boxes : int -> unit val get_max_boxes : unit -> int val over_max_boxes : unit -> bool val open_hbox : unit -> unit val open_vbox : int -> unit val open_hvbox : int -> unit val open_hovbox : int -> unit val open_tbox : unit -> unit val close_tbox : unit -> unit val print_tbreak : int -> int -> unit val set_tab : unit -> unit val print_tab : unit -> unit val set_ellipsis_text : string -> unit val get_ellipsis_text : unit -> string val set_formatter_out_channel : out_channel -> unit val set_formatter_output_functions : (string -> int -> int -> unit) -> (unit -> unit) -> unit val get_formatter_output_functions : unit -> (string -> int -> int -> unit) * (unit -> unit) val set_all_formatter_output_functions : (string -> int -> int -> unit) -> (unit -> unit) -> (unit -> unit) -> (int -> unit) -> unit val get_all_formatter_output_functions : unit -> (string -> int -> int -> unit) * (unit -> unit) * (unit -> unit) * (int -> unit) type formatter val formatter_of_out_channel : out_channel -> formatter val std_formatter : formatter val err_formatter : formatter val formatter_of_buffer : Buffer.t -> formatter val stdbuf : Buffer.t val str_formatter : formatter val flush_str_formatter : unit -> string val make_formatter : (string -> int -> int -> unit) -> (unit -> unit) -> formatter val pp_open_hbox : formatter -> unit -> unit val pp_open_vbox : formatter -> int -> unit val pp_open_hvbox : formatter -> int -> unit val pp_open_hovbox : formatter -> int -> unit val pp_open_box : formatter -> int -> unit val pp_close_box : formatter -> unit -> unit val pp_print_string : formatter -> string -> unit val pp_print_as : formatter -> int -> string -> unit val pp_print_int : formatter -> int -> unit val pp_print_float : formatter -> real -> unit val pp_print_real : formatter -> real -> unit val pp_print_char : formatter -> char -> unit val pp_print_bool : formatter -> bool -> unit val pp_print_break : formatter -> int -> int -> unit val pp_print_cut : formatter -> unit -> unit val pp_print_space : formatter -> unit -> unit val pp_force_newline : formatter -> unit -> unit val pp_print_flush : formatter -> unit -> unit val pp_print_newline : formatter -> unit -> unit val pp_print_if_newline : formatter -> unit -> unit val pp_open_tbox : formatter -> unit -> unit val pp_close_tbox : formatter -> unit -> unit val pp_print_tbreak : formatter -> int -> int -> unit val pp_set_tab : formatter -> unit -> unit val pp_print_tab : formatter -> unit -> unit val pp_set_margin : formatter -> int -> unit val pp_get_margin : formatter -> unit -> int val pp_set_max_indent : formatter -> int -> unit val pp_get_max_indent : formatter -> unit -> int val pp_set_max_boxes : formatter -> int -> unit val pp_get_max_boxes : formatter -> unit -> int val pp_over_max_boxes : formatter -> unit -> bool val pp_set_ellipsis_text : formatter -> string -> unit val pp_get_ellipsis_text : formatter -> unit -> string val pp_set_formatter_out_channel : formatter -> out_channel -> unit val pp_set_formatter_output_functions : formatter -> (string -> int -> int -> unit) -> (unit -> unit) -> unit val pp_get_formatter_output_functions : formatter -> unit -> (string -> int -> int -> unit) * (unit -> unit) val pp_set_all_formatter_output_functions : formatter -> (string -> int -> int -> unit) -> (unit -> unit) -> (unit -> unit) -> (int -> unit) -> unit val pp_get_all_formatter_output_functions : formatter -> unit -> (string -> int -> int -> unit) * (unit -> unit) * (unit -> unit) * (int -> unit) val fprintf : formatter -> string -> 'a val bprintf : Buffer.t -> string -> 'a val printf : string -> 'a val eprintf : string -> 'a val sprintf : string -> 'a end signature Genlex = sig type token = Kwd of string | Ident of string | Int of int | Float of real | String of string | Char of char val make_lexer: string list -> char Stream.t -> token Stream.t end signature Parsing = sig val symbol_start : unit -> int val symbol_end : unit -> int val rhs_start: int -> int val rhs_end: int -> int val clear_parser : unit -> unit exception Parse_error type parser_env type parse_tables = { actions : (parser_env -> Obj.t) array, transl_const : int array, transl_block : int array, lhs : string, len : string, defred : string, dgoto : string, sindex : string, rindex : string, gindex : string, tablesize : int, table : string, check : string, error_function : string -> unit, names_const : string, names_block : string } exception YYexit of Obj.t val yyparse : parse_tables -> int -> (Lexing.lexbuf -> 'a) -> Lexing.lexbuf -> 'b val peek_val : parser_env -> int -> 'a val is_current_lookahead : 'a -> bool val parse_error : string -> unit end signature Interop = sig val lexing_to_lex_tables : string * string * string * string * string -> Lexing.lex_tables val lexing_field_refill_buff : Lexing.lexbuf -> Lexing.lexbuf -> unit val lexing_field_lex_buffer : Lexing.lexbuf -> string val lexing_field_lex_buffer_len : Lexing.lexbuf -> int val lexing_field_lex_abs_pos : Lexing.lexbuf -> int val lexing_field_lex_start_pos : Lexing.lexbuf -> int val lexing_field_lex_curr_pos : Lexing.lexbuf -> int val lexing_field_lex_last_pos : Lexing.lexbuf -> int val lexing_field_lex_last_action : Lexing.lexbuf -> int val lexing_field_lex_eof_reached : Lexing.lexbuf -> bool val lexing_field_update_lex_buffer : Lexing.lexbuf * string -> unit val lexing_field_update_lex_buffer_len : Lexing.lexbuf * int -> unit val lexing_field_update_lex_abs_pos : Lexing.lexbuf * int -> unit val lexing_field_update_lex_start_pos : Lexing.lexbuf * int -> unit val lexing_field_update_lex_curr_pos : Lexing.lexbuf * int -> unit val lexing_field_update_lex_last_pos : Lexing.lexbuf * int -> unit val lexing_field_update_lex_last_action : Lexing.lexbuf * int -> unit val lexing_field_update_lex_eof_reached : Lexing.lexbuf * bool -> unit end