X-Git-Url: http://git.annexia.org/?p=whenjobs.git;a=blobdiff_plain;f=lib%2Fpa_when.ml;h=2f415ea0b625cbfef03727a7de3b532aed2a247d;hp=00bfd1443999cc612a5cba87af5619e4427edc2b;hb=550bd0df9a6c9067dd0e2f9e77ae650efdf62454;hpb=0c9faf57f9239b0fe1c0b46353d222bb4cf5cd74 diff --git a/lib/pa_when.ml b/lib/pa_when.ml index 00bfd14..2f415ea 100644 --- a/lib/pa_when.ml +++ b/lib/pa_when.ml @@ -88,7 +88,7 @@ module M = Ast.Meta.Make (Ast.Meta.MetaGhostLoc) let lift_expr = M.Expr.meta_expr (* Handle a top level statement. *) -let rec call_stmt name pre post (_loc, stmt, sh) = +let rec call_stmt ?name ?pre ?post (_loc, stmt, sh) = let name = match name with | None -> let name = unique_job_name () in <:expr< $str:name$ >> @@ -224,12 +224,12 @@ EXTEND Gram (* "str_item" is a top level statement in an OCaml program. *) str_item: LEVEL "top" [ - [ s = statement -> call_stmt None None None s ] + [ s = statement -> call_stmt s ] | [ "job"; name = expr; pre = OPT pre; post = OPT post; s = statement -> - call_stmt (Some name) pre post s ] + call_stmt ~name ?pre ?post s ] ]; END