summaryrefslogtreecommitdiffstats
path: root/camlp4
diff options
context:
space:
mode:
authorJérémie Dimino <jeremie@dimino.org>2012-01-05 09:43:50 +0000
committerJérémie Dimino <jeremie@dimino.org>2012-01-05 09:43:50 +0000
commit0c37ea4c277e62a19f96cf531c4ccd059d682b2f (patch)
tree1f0b5ef396aa0febb9c9645820398e2139c3be69 /camlp4
parent01b9028cb06cebc47cfc04af4cf1bd8a2fe6f02b (diff)
PR#5387: avoid extra Ast.CrNil and Ast.CgNil
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11987 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'camlp4')
-rw-r--r--camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml9
1 files changed, 7 insertions, 2 deletions
diff --git a/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml b/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml
index 2db1e9229..e8c13e9fd 100644
--- a/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml
+++ b/camlp4/Camlp4Parsers/Camlp4OCamlRevisedParser.ml
@@ -1879,12 +1879,17 @@ New syntax:\
;
class_str_item_quot:
[ [ x1 = class_str_item; semi; x2 = SELF ->
- <:class_str_item< $x1$; $x2$ >>
+ match x2 with
+ [ <:class_str_item<>> -> x1
+ | _ -> <:class_str_item< $x1$; $x2$ >> ]
| x = class_str_item -> x
| -> <:class_str_item<>> ] ]
;
class_sig_item_quot:
- [ [ x1 = class_sig_item; semi; x2 = SELF -> <:class_sig_item< $x1$; $x2$ >>
+ [ [ x1 = class_sig_item; semi; x2 = SELF ->
+ match x2 with
+ [ <:class_sig_item<>> -> x1
+ | _ -> <:class_sig_item< $x1$; $x2$ >> ]
| x = class_sig_item -> x
| -> <:class_sig_item<>> ] ]
;