(* 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 Nml_typing_ = sig structure Gc : sig type stat = Gc.stat (* { minor_words : int, promoted_words : int, major_words : int, minor_collections : int, major_collections : int, heap_words : int, heap_chunks : int, live_words : int, live_blocks : int, free_words : int, free_blocks : int, largest_free : int, fragments : int, compactions : int } *) type control = Gc.control (* { minor_heap_size : int, major_heap_increment : int, space_overhead : int, verbose : int, max_overhead : int, stack_limit : int } *) val stat : unit -> stat val print_stat : out_channel -> unit val get : unit -> control val set : control -> unit val minor : unit -> unit val major : unit -> unit val full_major : unit -> unit val compact : unit -> unit end structure 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 structure Lexing : sig type lexbuf = Lexing.lexbuf val from_channel : in_channel -> lexbuf val from_string : string -> lexbuf val from_function : (string -> int -> int) -> lexbuf val lexeme : lexbuf -> string val lexeme_char : lexbuf -> int -> char val lexeme_start : lexbuf -> int val lexeme_end : lexbuf -> int type lex_tables = Lexing.lex_tables (* { lex_base: string, lex_backtrk: string, lex_default: string, lex_trans: string, lex_check: string } *) val engine: lex_tables -> int -> lexbuf -> int end structure 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 = Parsing.parser_env type parse_tables = Parsing.parse_tables 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 end