bracetax

Simple and deterministic text processing syntax
type writer = {
w_write : string -> unit;
w_error : Bracetax_error.error -> unit;
}
val make_writer : write:( string -> unit ) -> error:( Bracetax_error.error -> unit ) -> writer
type printer = {
print_comment : Bracetax_error.location -> string -> unit;
print_text : Bracetax_error.location -> string -> unit;
enter_cmd : Bracetax_error.location -> string -> string list -> unit;
leave_cmd : Bracetax_error.location -> unit;
terminate : Bracetax_error.location -> unit;
is_raw : string -> bool;
default_raw_end : string -> string;
enter_raw : Bracetax_error.location -> string -> string list -> unit;
print_raw : Bracetax_error.location -> string -> unit;
leave_raw : Bracetax_error.location -> unit;
error : Bracetax_error.error -> unit;
}

The functions called by Parser.do_transformation. For example, HtmlPrinter.build outputs a printer.