git.annexia.org
/
whenjobs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rename 'cleanup' to 'post'.
[whenjobs.git]
/
lib
/
pa_when.ml
diff --git
a/lib/pa_when.ml
b/lib/pa_when.ml
index
2d82cb3
..
00bfd14
100644
(file)
--- a/
lib/pa_when.ml
+++ b/
lib/pa_when.ml
@@
-88,15
+88,16
@@
module M = Ast.Meta.Make (Ast.Meta.MetaGhostLoc)
let lift_expr = M.Expr.meta_expr
(* Handle a top level statement. *)
let lift_expr = M.Expr.meta_expr
(* Handle a top level statement. *)
-let rec call_stmt name
cleanup
(_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$ >>
| Some name -> name in
let name =
match name with
| None -> let name = unique_job_name () in <:expr< $str:name$ >>
| Some name -> name in
- let cleanup = expr_of_option _loc cleanup in
+ let pre = expr_of_option _loc pre in
+ let post = expr_of_option _loc post in
match stmt with
match stmt with
- | `When e -> when_stmt _loc name
cleanup
e sh
- | `Every p -> every_stmt _loc name
cleanup
p sh
+ | `When e -> when_stmt _loc name
pre post
e sh
+ | `Every p -> every_stmt _loc name
pre post
p sh
(* Handle a top level "when" statement.
* e -> when expression
(* Handle a top level "when" statement.
* e -> when expression
@@
-104,20
+105,20
@@
let rec call_stmt name cleanup (_loc, stmt, sh) =
* Returns a top level statement (str_item) which when executed just
* adds the statement to a global list.
*)
* Returns a top level statement (str_item) which when executed just
* adds the statement to a global list.
*)
-and when_stmt _loc name
cleanup
e sh =
+and when_stmt _loc name
pre post
e sh =
let loc = expr_of_loc _loc _loc in
let e = lift_expr _loc e in
<:str_item<
open Camlp4.PreCast
let loc = expr_of_loc _loc _loc in
let e = lift_expr _loc e in
<:str_item<
open Camlp4.PreCast
- Whenfile.add_when_job $loc$ $name$ $
cleanup
$ $e$ $sh$
+ Whenfile.add_when_job $loc$ $name$ $
pre$ $post
$ $e$ $sh$
>>
(* Handle a top level "every" statement. *)
>>
(* Handle a top level "every" statement. *)
-and every_stmt _loc name
cleanup
period sh =
+and every_stmt _loc name
pre post
period sh =
let loc = expr_of_loc _loc _loc in
<:str_item<
open Camlp4.PreCast
let loc = expr_of_loc _loc _loc in
<:str_item<
open Camlp4.PreCast
- Whenfile.add_every_job $loc$ $name$ $
cleanup
$ $period$ $sh$
+ Whenfile.add_every_job $loc$ $name$ $
pre$ $post
$ $period$ $sh$
>>
let () =
>>
let () =
@@
-209,10
+210,9
@@
EXTEND Gram
| [ e = period_parser -> e ]
];
| [ e = period_parser -> e ]
];
- (* Cleanup function. *)
- cleanup: [
- [ "cleanup"; f = expr -> f ]
- ];
+ (* Pre and post functions. *)
+ pre: [[ "pre"; f = expr -> f ]];
+ post: [[ "post"; f = expr -> f ]];
(* Top level statements. *)
statement: [
(* Top level statements. *)
statement: [
@@
-224,11
+224,12
@@
EXTEND Gram
(* "str_item" is a top level statement in an OCaml program. *)
str_item: LEVEL "top" [
(* "str_item" is a top level statement in an OCaml program. *)
str_item: LEVEL "top" [
- [ s = statement -> call_stmt None None s ]
+ [ s = statement -> call_stmt None None
None
s ]
| [ "job"; name = expr;
| [ "job"; name = expr;
- cleanup = OPT cleanup;
+ pre = OPT pre;
+ post = OPT post;
s = statement ->
s = statement ->
- call_stmt (Some name)
cleanup
s ]
+ call_stmt (Some name)
pre post
s ]
];
END
];
END