This commit is contained in:
swrup 2025-11-11 02:07:51 +01:00
parent aa2ff7b2f0
commit 2f3113f55d
11742 changed files with 1223940 additions and 0 deletions

View file

@ -0,0 +1,9 @@
(library
(name fooppx)
(modules fooppx)
(libraries ppxlib)
(kind ppx_rewriter))
(toplevel
(name tt)
(preprocess (pps fooppx)))

View file

@ -0,0 +1,10 @@
open Ppxlib
let rules =
let extension =
Extension.declare "test" Expression Ast_pattern.__ (fun ~loc ~path:_ _ ->
Ast_builder.Default.eint ~loc 42)
in
[ Context_free.Rule.extension extension ]
let () = Ppxlib.Driver.register_transformation "rules" ~rules

View file

@ -0,0 +1,3 @@
let () =
Printf.printf "PPX extension: %d\n%!" [%test];
exit 0

View file

@ -0,0 +1,6 @@
Running toplevel with preprocessor
$ dune exec ./tt.exe -- -init init.ml | sed -E 's/OCaml version .*$/Ocaml version REDACTED/g'
Ocaml version REDACTED
Enter #help;; for help.
PPX extension: 42

View file

@ -0,0 +1,7 @@
(library
(name foo)
(modules (:standard \ init)))
(toplevel
(name tt)
(libraries foo))

View file

@ -0,0 +1,3 @@
let () =
Printf.printf "Foo.x = %d\n%!" Foo.x;
exit 0

View file

@ -0,0 +1,8 @@
Simple example to run toplevel
$ dune exec ./tt.exe -- -init init.ml | sed -E 's/OCaml version .*$/OCaml version REDACTED/g'
OCaml version REDACTED
Enter #help;; for help.
Foo.x = 42