mpp

A preprocessor meant to blend languages.
Library mpp
val debug : bool ref
type charstream = {
take : unit -> char option;
push : char -> unit;
insert : charstream -> unit;
where : unit -> location;
}
and filename = string
and location = filename * line * column
and line = int
and column = int
type t = charstream
val parse_error : ?start:location -> ?msg:string -> location -> unit
val output_charstream : out_channel -> charstream -> unit
module Mpp_charset = Mpp_charset
val charstream_take_n : int -> charstream -> string
val charstream_peek : ?n:int -> charstream -> string
val null_charstream : charstream
val charstream_of_inchannel : filename -> ?line:line -> ?column:int -> in_channel -> charstream
val charstream_of_string : ?location:location -> string -> charstream
val match_token : string -> charstream -> bool
val eat : Mpp_charset.t -> charstream -> unit
val read_until : ?caller:string -> ?failsafe:bool -> char -> charstream -> string
val read_until_one_of : ?caller:string -> ?failsafe:bool -> ?push_back:bool -> Mpp_charset.t -> ?exclude:Mpp_charset.t -> ?expect:string -> charstream -> string
val parse_int : charstream -> int
val read_until_word : ?failsafe:bool -> ?success:bool ref -> charstream -> string -> string
val split_on_char : ?keep_empty_strings:bool -> char -> string -> string list
val parse_a_string : charstream -> string
val stream_of_charstream : charstream -> char Stream.t
val append : charstream -> charstream -> charstream
val delete_trailing_spaces : string -> string
val string_of_charstream : ?keepcs:bool -> charstream -> string