1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071(* Yoann Padioleau
*
* Copyright (C) 2019 Yoann Padioleau
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation, with the
* special exception on linking described in file license.txt.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file
* license.txt for more details.
*)openOcamlopenAst_skip(*****************************************************************************)(* Prelude *)(*****************************************************************************)(*
*)(*****************************************************************************)(* Types *)(*****************************************************************************)(* hooks *)typevisitor_in={kinfo:tokvin;}and'avin=('a->unit)*visitor_out->'a->unitandvisitor_out=any->unitletdefault_visitor={kinfo=(fun(k,_)x->kx);}let(mk_visitor:visitor_in->visitor_out)=funvin->(* start of auto generation *)letrecv_infox=letkx=matchxwith{Parse_info.token=_v_pinfox;transfo=_v_transfo}->(*
let _arg = Parse_info.v_pinfo v_pinfox in
let _arg = Ocaml.v_unit v_comments in
let _arg = Parse_info.v_transformation v_transfo in
*)()invin.kinfo(k,all_functions)xandv_tokv=v_infovandv_wrap:'a.('a->unit)->'awrap->unit=fun_of_a(v1,v2)->letv1=_of_av1andv2=v_infov2in()andv_programv=v_unitvandv_any=function|Program_->()|Infov1->letv1=v_infov1in()andall_functionsx=v_anyxinv_any