FrontC

Parses C programs to an abstract syntax tree
IN THIS PACKAGE
Module Clexer
exception Eof
exception InternalError of string
val version : string
type handle = {
h_interactive : bool;
h_in_channel : in_channel;
mutable h_line : string;
mutable h_buffer : string;
mutable h_pos : int;
mutable h_lineno : int;
h_out_channel : out_channel;
mutable h_file_name : string;
h_gcc : bool;
h_linerec : bool;
}
val current_handle : handle ref
val interactive : handle -> bool
val in_channel : handle -> in_channel
val buffer : handle -> string
val pos : handle -> int
val real_pos : int -> handle -> int
val lineno : handle -> int
val out_channel : handle -> out_channel
val file_name : handle -> string
val linerec : handle -> bool
val curfile : 'a -> string
val curline : 'a -> int
val has_gcc : 'a -> bool
val underline_error : string -> int -> int -> string
val display_error : string -> int -> int -> unit
val display_semantic_error : string -> unit
val error : string -> 'a
val test_gcc : 'a -> unit
val id : 'a -> 'b -> 'c
module HashString : sig ... end
module StringHashtbl : sig ... end
val lexicon : ( unit -> Ctokens.token ) StringHashtbl.t
val builtin : string -> string * ( 'a -> Ctokens.token )
val keywords : (string * ( unit -> Ctokens.token )) list
val gnu_keywords : (string * ( unit -> Ctokens.token )) list
val init_lexicon : 'a -> unit
val add_type : StringHashtbl.key -> unit
val context : string list list ref
val push_context : 'a -> unit
val pop_context : 'a -> unit
val add_identifier : StringHashtbl.key -> unit
val rem_quotes : string -> string
val scan_ident : StringHashtbl.key -> Ctokens.token
val set_line : int -> unit
val set_name : string -> unit
val scan_escape : string -> string
val get_value : char -> int
val scan_hex_escape : string -> string
val scan_oct_escape : string -> string
val __ocaml_lex_tables : Stdlib.Lexing.lex_tables
val initial : Lexing.lexbuf -> Ctokens.token
val __ocaml_lex_initial_rec : Lexing.lexbuf -> int -> Ctokens.token
val comment : Lexing.lexbuf -> unit
val __ocaml_lex_comment_rec : Lexing.lexbuf -> int -> unit
val line_comment : Lexing.lexbuf -> unit
val __ocaml_lex_line_comment_rec : Lexing.lexbuf -> int -> unit
val __ocaml_lex_line_rec : Lexing.lexbuf -> int -> Ctokens.token
val __ocaml_lex_file_rec : Lexing.lexbuf -> int -> Ctokens.token
val endline : Lexing.lexbuf -> Ctokens.token
val __ocaml_lex_endline_rec : Lexing.lexbuf -> int -> Ctokens.token
val str : Lexing.lexbuf -> string
val __ocaml_lex_str_rec : Lexing.lexbuf -> int -> string
val chr : Lexing.lexbuf -> string
val __ocaml_lex_chr_rec : Lexing.lexbuf -> int -> string
val get_buffer : handle ref -> bytes -> int -> int
val init : handle -> unit