summaryrefslogtreecommitdiff
path: root/debian/patches/0003-Support-for-camlp5-6.02.0.patch
blob: 5ed3f543d899222c7c0e277a5f0eca48964282d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
From: glondu <glondu@85f007b7-540e-0410-9357-904b9bb8a0f7>
Date: Tue, 16 Nov 2010 20:25:56 +0000
Subject: [PATCH] Support for camlp5 6.02.0

Signed-off-by: Stephane Glondu <steph@glondu.net>
---
 lib/compat.ml4   |   12 ++++++++++++
 parsing/pcoq.ml4 |   18 +++++++++---------
 2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/lib/compat.ml4 b/lib/compat.ml4
index 9b6bb19..a77c2bc 100644
--- a/lib/compat.ml4
+++ b/lib/compat.ml4
@@ -65,3 +65,15 @@ let unloc = M.unloc
 let join_loc = M.join_loc
 type token = M.token
 type lexer = M.lexer
+
+IFDEF CAMLP5_6_00 THEN
+
+let slist0sep x y = Gramext.Slist0sep (x, y, false)
+let slist1sep x y = Gramext.Slist1sep (x, y, false)
+
+ELSE
+
+let slist0sep x y = Gramext.Slist0sep (x, y)
+let slist1sep x y = Gramext.Slist1sep (x, y)
+
+END
diff --git a/parsing/pcoq.ml4 b/parsing/pcoq.ml4
index 90a9220..9a1630f 100644
--- a/parsing/pcoq.ml4
+++ b/parsing/pcoq.ml4
@@ -631,16 +631,16 @@ let rec symbol_of_constr_prod_entry_key assoc from forpat typ =
     | ETConstrList (typ',[]) ->
         Gramext.Slist1 (symbol_of_constr_prod_entry_key assoc from forpat (ETConstr typ'))
     | ETConstrList (typ',tkl) ->
-        Gramext.Slist1sep
-          (symbol_of_constr_prod_entry_key assoc from forpat (ETConstr typ'),
-	   make_sep_rules tkl)
+        Compat.slist1sep
+          (symbol_of_constr_prod_entry_key assoc from forpat (ETConstr typ'))
+          (make_sep_rules tkl)
     | ETBinderList (false,[]) ->
         Gramext.Slist1
 	  (symbol_of_constr_prod_entry_key assoc from forpat (ETBinder false))
     | ETBinderList (false,tkl) ->
-        Gramext.Slist1sep
-	  (symbol_of_constr_prod_entry_key assoc from forpat (ETBinder false),
-	   make_sep_rules tkl)
+        Compat.slist1sep
+          (symbol_of_constr_prod_entry_key assoc from forpat (ETBinder false))
+          (make_sep_rules tkl)
     | _ ->
     match interp_constr_prod_entry_key assoc from forpat typ with
       | (eobj,None,_) -> Gramext.Snterm (Gram.Entry.obj eobj)
@@ -654,16 +654,16 @@ let rec symbol_of_constr_prod_entry_key assoc from forpat typ =
 let rec symbol_of_prod_entry_key = function
   | Alist1 s -> Gramext.Slist1 (symbol_of_prod_entry_key s)
   | Alist1sep (s,sep) ->
-      Gramext.Slist1sep (symbol_of_prod_entry_key s, Gramext.Stoken ("",sep))
+      Compat.slist1sep (symbol_of_prod_entry_key s) (Gramext.Stoken ("", sep))
   | Alist0 s -> Gramext.Slist0 (symbol_of_prod_entry_key s)
   | Alist0sep (s,sep) ->
-      Gramext.Slist0sep (symbol_of_prod_entry_key s, Gramext.Stoken ("",sep))
+      Compat.slist0sep (symbol_of_prod_entry_key s) (Gramext.Stoken ("", sep))
   | Aopt s -> Gramext.Sopt (symbol_of_prod_entry_key s)
   | Amodifiers s ->
        Gramext.srules
         [([], Gramext.action(fun _loc -> []));
          ([Gramext.Stoken ("", "(");
-           Gramext.Slist1sep ((symbol_of_prod_entry_key s), Gramext.Stoken ("", ","));
+           Compat.slist1sep (symbol_of_prod_entry_key s) (Gramext.Stoken ("", ","));
            Gramext.Stoken ("", ")")],
 	   Gramext.action (fun _ l _ _loc -> l))]
   | Aself -> Gramext.Sself
--