This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
27
unikernel/duniverse/ppxlib/ast/pp/pp_rewrite.mll
Normal file
27
unikernel/duniverse/ppxlib/ast/pp/pp_rewrite.mll
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
open Printf
|
||||
|
||||
let print_ocaml_version version =
|
||||
let patt_len = String.length "OCAML_VERSION" in
|
||||
(* Note: the spaces in the replacements are to preserve locations *)
|
||||
printf "%-*s" patt_len version
|
||||
}
|
||||
|
||||
rule rewrite ocaml_version = parse
|
||||
| "OCAML_VERSION"
|
||||
{ print_ocaml_version ocaml_version;
|
||||
rewrite ocaml_version lexbuf
|
||||
}
|
||||
| "(*IF_AT_LEAST " ([^'*' ' ']* as v) " " ([^'*']* as s) "*)"
|
||||
{ let chunk = if (v <= ocaml_version)
|
||||
then " " ^ String.make (String.length v + 1) ' ' ^ s ^ " "
|
||||
else Lexing.lexeme lexbuf
|
||||
in
|
||||
print_string chunk;
|
||||
rewrite ocaml_version lexbuf
|
||||
}
|
||||
| _ as c
|
||||
{ print_char c;
|
||||
rewrite ocaml_version lexbuf
|
||||
}
|
||||
| eof { () }
|
||||
Loading…
Add table
Add a link
Reference in a new issue