summaryrefslogtreecommitdiffstats
path: root/camlp4/ocaml_src/meta/pa_extend.ml
diff options
context:
space:
mode:
authorDaniel de Rauglaudre <daniel.de_rauglaudre@inria.fr>2002-02-13 16:56:25 +0000
committerDaniel de Rauglaudre <daniel.de_rauglaudre@inria.fr>2002-02-13 16:56:25 +0000
commitafd7fce5e9299d34c8883ec3afed5ea5f998ebdf (patch)
tree0fd7ba2b46239f235a70bb4552c688084d753421 /camlp4/ocaml_src/meta/pa_extend.ml
parent7f82fa6f10b3c3edf8fa1b62a35e87ec525444c9 (diff)
-
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4403 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'camlp4/ocaml_src/meta/pa_extend.ml')
-rw-r--r--camlp4/ocaml_src/meta/pa_extend.ml8
1 files changed, 7 insertions, 1 deletions
diff --git a/camlp4/ocaml_src/meta/pa_extend.ml b/camlp4/ocaml_src/meta/pa_extend.ml
index 8989aee69..1bc27e922 100644
--- a/camlp4/ocaml_src/meta/pa_extend.ml
+++ b/camlp4/ocaml_src/meta/pa_extend.ml
@@ -637,6 +637,7 @@ let rec quot_expr e =
MLast.ExAcc
(loc, MLast.ExUid (loc, "Qast"), MLast.ExUid (loc, "Bool")),
MLast.ExUid (loc, "True"))
+ | MLast.ExUid (_, "()") -> e
| MLast.ExApp
(_, MLast.ExAcc (_, MLast.ExUid (_, "Qast"), MLast.ExUid (_, "List")),
_) ->
@@ -675,9 +676,9 @@ let rec quot_expr e =
quot_expr e2)
| MLast.ExApp (_, _, _) ->
let (f, al) = expr_fa [] e in
- let al = List.map quot_expr al in
begin match f with
MLast.ExUid (_, c) ->
+ let al = List.map quot_expr al in
MLast.ExApp
(loc,
MLast.ExApp
@@ -687,6 +688,7 @@ let rec quot_expr e =
MLast.ExStr (loc, c)),
mklistexp loc al)
| MLast.ExAcc (_, _, MLast.ExUid (_, c)) ->
+ let al = List.map quot_expr al in
MLast.ExApp
(loc,
MLast.ExApp
@@ -695,6 +697,10 @@ let rec quot_expr e =
(loc, MLast.ExUid (loc, "Qast"), MLast.ExUid (loc, "Node")),
MLast.ExStr (loc, c)),
mklistexp loc al)
+ | MLast.ExLid (_, f) ->
+ let al = List.map quot_expr al in
+ List.fold_left (fun f e -> MLast.ExApp (loc, f, e))
+ (MLast.ExLid (loc, f)) al
| _ -> e
end
| MLast.ExRec (_, pel, None) ->