12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273(************************************************************************)(* * The Coq Proof Assistant / The Coq Development Team *)(* v * Copyright INRIA, CNRS and contributors *)(* <O___,, * (see version control and CREDITS file for authors & dates) *)(* VV/ **************************************************************)(* // * This file is distributed under the terms of the *)(* * GNU Lesser General Public License Version 2.1 *)(* * (see LICENSE file for the text of the license) *)(************************************************************************)(************************************************************************)(* SerAPI: Coq interaction protocol with bidirectional serialization *)(************************************************************************)(* Copyright 2016-2019 MINES ParisTech -- License LGPL 2.1+ *)(* Copyright 2019-2023 Inria -- License LGPL 2.1+ *)(* Written by: Emilio J. Gallego Arias and others *)(************************************************************************)openPpx_hash_lib.Std.Hash.BuiltinopenPpx_compare_lib.BuiltinopenSexplib.Stdtypepp_tag=[%import:Pp.pp_tag][@@derivingsexp,yojson,hash,compare]typeblock_type=[%import:Pp.block_type][@@derivingsexp,yojson,hash,compare]moduleP=structtypet=Pp.ttype_t=|Pp_empty|Pp_stringofstring|Pp_glueof_tlist|Pp_boxofblock_type*_t|Pp_tagofpp_tag*_t(* Are those redundant? *)|Pp_print_breakofint*int|Pp_force_newline|Pp_commentofstring list[@@derivingsexp,yojson,hash,compare]openPpletrecof_t (d:t):_t=matchrepr dwith|Ppcmd_empty->Pp_empty|Ppcmd_strings->Pp_strings|Ppcmd_gluel->Pp_glue(List.mapof_tl)|Ppcmd_box(bt,d)->Pp_box(bt,of_td)|Ppcmd_tag(t,d)->Pp_tag(t,of_td)|Ppcmd_print_break (n,m)->Pp_print_break(n,m)|Ppcmd_force_newline->Pp_force_newline|Ppcmd_comments->Pp_commentsletrecto_t(d:_t):t=unrepr(matchdwith|Pp_empty->Ppcmd_empty|Pp_strings->Ppcmd_strings|Pp_gluel->Ppcmd_glue(List.mapto_tl)|Pp_box(bt,d)->Ppcmd_box(bt,to_td)|Pp_tag(t,d)->Ppcmd_tag(t,to_td)|Pp_print_break(n,m)->Ppcmd_print_break(n,m)|Pp_force_newline->Ppcmd_force_newline|Pp_comments->Ppcmd_comments)endincludeSerType.Biject(P)typedoc_view=[%import:Pp.doc_view][@@derivingsexp,yojson,hash,compare]