27 lines
529 B
OCaml
27 lines
529 B
OCaml
open Stdppx
|
|
open Ppxlib
|
|
|
|
let _ =
|
|
let loc = Location.none in
|
|
let extension =
|
|
Extension.V3.declare_inline
|
|
"include"
|
|
Structure_item
|
|
Ast_pattern.(pstr __)
|
|
(fun ~ctxt:_ x -> x)
|
|
in
|
|
let rules = [ Context_free.Rule.extension extension ] in
|
|
let enclose_impl _ _ = [%str [%%include let a = 1]], [%str [%%include let c = 3]] in
|
|
Driver.V2.register_transformation ~rules ~enclose_impl "example"
|
|
|
|
[%%expect{|
|
|
- : unit = ()
|
|
|}]
|
|
|
|
let b = 2
|
|
|
|
[%%expect{|
|
|
val a : int = 1
|
|
val b : int = 2
|
|
val c : int = 3
|
|
|}]
|