Pparse(3)

NAME
Pparse - Driver for the parser and external preprocessors.

Module
Module Pparse

Documentation

Module Pparse
 : sig end

Driver for the parser and external preprocessors.

Warning: this module is unstable and part of Compiler_libs .

type error =
 | CannotRun of string
 | WrongMagic of string

exception Error of error

val preprocess : string -> string

val remove_preprocessed : string -> unit

type 'a ast_kind =
 | Structure : Parsetree.structure ast_kind
 | Signature : Parsetree.signature ast_kind

val read_ast : 'a ast_kind -> string -> 'a

val write_ast : 'a ast_kind -> string -> 'a -> unit

val file : tool_name:string -> string -> (Lexing.lexbuf -> 'a) -> 'a ast_kind -> 'a

val apply_rewriters : ?restore:bool -> tool_name:string -> 'a ast_kind -> 'a -> 'a

If restore = true (the default), cookies set by external rewriters will be kept for later calls.

val apply_rewriters_str : ?restore:bool -> tool_name:string -> Parsetree.structure -> Parsetree.structure

val apply_rewriters_sig : ?restore:bool -> tool_name:string -> Parsetree.signature -> Parsetree.signature

val report_error : Format.formatter -> error -> unit

val parse_implementation : tool_name:string -> string -> Parsetree.structure

val parse_interface : tool_name:string -> string -> Parsetree.signature

val call_external_preprocessor : string -> string -> string

val open_and_check_magic : string -> string -> in_channel * bool