1234567891011121314151617181920212223242526272829303132moduleParser_=ParseropenPpxlib(* Not present before 4.11 *)letset_positionlexbufposition=Lexing.(lexbuf.lex_curr_p<-{positionwithpos_fname=lexbuf.lex_curr_p.pos_fname};lexbuf.lex_abs_pos<-position.pos_cnum)letname="eml"letexpand~loc:_~path:_(s:string)loc_delim=letstartpos=loc.loc_startin(* let startpos = {loc.loc_start with pos_lnum= loc.loc_start.pos_lnum - 1} in *)matchCommon.Template_builder.of_string~startposswith|Errore->Common.Lexer.pp_errorFormat.err_formattere;exit1|Oktemplate->letcode=Common.Compile.compile_to_stringtemplatein(* print_endline code ; *)letbuffer=Lexing.from_stringcodeinset_positionbufferloc.loc_start;Parser_.parse_expressionLexer.tokenbuffer|>Selected_ast.Of_ocaml.copy_expressionletext=Extension.declarenameExtension.Context.expressionAst_pattern.(single_expr_payload(pexp_constant(pconst_string______)))expandlet()=Ppxlib.Driver.register_transformationname~extensions:[ext]