aboutsummaryrefslogtreecommitdiff
path: root/grammar
diff options
context:
space:
mode:
authorppedrot2012-06-22 15:14:30 +0000
committerppedrot2012-06-22 15:14:30 +0000
commit6b45f2d36929162cf92272bb60c2c245d9a0ead3 (patch)
tree93aa975697b7de73563c84773d99b4c65b92173b /grammar
parentfea214f82954197d23fda9a0e4e7d93e0cbf9b4c (diff)
Added an indirection with respect to Loc in Compat. As many [open Compat]
were closed (i.e. the only remaining ones are those of printing/parsing). Meanwhile, a simplified interface is provided in loc.mli. This also permits to put Pp in Clib, because it does not depend on CAMLP4/5 anymore. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15475 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'grammar')
-rw-r--r--grammar/argextend.ml44
-rw-r--r--grammar/grammar.mllib1
-rw-r--r--grammar/q_constr.ml44
-rw-r--r--grammar/q_coqast.ml44
-rw-r--r--grammar/q_util.ml412
-rw-r--r--grammar/tacextend.ml48
-rw-r--r--grammar/vernacextend.ml42
7 files changed, 18 insertions, 17 deletions
diff --git a/grammar/argextend.ml4 b/grammar/argextend.ml4
index a130597990..1f9304ddd3 100644
--- a/grammar/argextend.ml4
+++ b/grammar/argextend.ml4
@@ -14,8 +14,8 @@ open Egramml
open Pcoq
open Compat
-let loc = Pp.dummy_loc
-let default_loc = <:expr< Pp.dummy_loc >>
+let loc = Loc.ghost
+let default_loc = <:expr< Loc.ghost >>
let rec make_rawwit loc = function
| BoolArgType -> <:expr< Genarg.rawwit_bool >>
diff --git a/grammar/grammar.mllib b/grammar/grammar.mllib
index 5ab3057fed..006766e17c 100644
--- a/grammar/grammar.mllib
+++ b/grammar/grammar.mllib
@@ -4,6 +4,7 @@ Pp_control
Compat
Flags
Pp
+Loc
Segmenttree
Unicodetable
Errors
diff --git a/grammar/q_constr.ml4 b/grammar/q_constr.ml4
index fe4ccc53d5..7a36c7b780 100644
--- a/grammar/q_constr.ml4
+++ b/grammar/q_constr.ml4
@@ -19,8 +19,8 @@ open Pcaml
open PcamlSig
open Misctypes
-let loc = dummy_loc
-let dloc = <:expr< Pp.dummy_loc >>
+let loc = Loc.ghost
+let dloc = <:expr< Loc.ghost >>
let apply_ref f l =
<:expr<
diff --git a/grammar/q_coqast.ml4 b/grammar/q_coqast.ml4
index 7467a32f0d..c202664e23 100644
--- a/grammar/q_coqast.ml4
+++ b/grammar/q_coqast.ml4
@@ -21,9 +21,9 @@ let anti loc x =
expl_anti loc <:expr< $lid:purge_str x$ >>
(* We don't give location for tactic quotation! *)
-let loc = dummy_loc
+let loc = Loc.ghost
-let dloc = <:expr< Pp.dummy_loc >>
+let dloc = <:expr< Loc.ghost >>
let mlexpr_of_ident id =
<:expr< Names.id_of_string $str:Names.string_of_id id$ >>
diff --git a/grammar/q_util.ml4 b/grammar/q_util.ml4
index cfaa2a654a..44dd4941a5 100644
--- a/grammar/q_util.ml4
+++ b/grammar/q_util.ml4
@@ -16,27 +16,27 @@ let mlexpr_of_list f l =
List.fold_right
(fun e1 e2 ->
let e1 = f e1 in
- let loc = join_loc (MLast.loc_of_expr e1) (MLast.loc_of_expr e2) in
+ let loc = Loc.merge (MLast.loc_of_expr e1) (MLast.loc_of_expr e2) in
<:expr< [$e1$ :: $e2$] >>)
- l (let loc = dummy_loc in <:expr< [] >>)
+ l (let loc = Loc.ghost in <:expr< [] >>)
let mlexpr_of_pair m1 m2 (a1,a2) =
let e1 = m1 a1 and e2 = m2 a2 in
- let loc = join_loc (MLast.loc_of_expr e1) (MLast.loc_of_expr e2) in
+ let loc = Loc.merge (MLast.loc_of_expr e1) (MLast.loc_of_expr e2) in
<:expr< ($e1$, $e2$) >>
let mlexpr_of_triple m1 m2 m3 (a1,a2,a3)=
let e1 = m1 a1 and e2 = m2 a2 and e3 = m3 a3 in
- let loc = join_loc (MLast.loc_of_expr e1) (MLast.loc_of_expr e3) in
+ let loc = Loc.merge (MLast.loc_of_expr e1) (MLast.loc_of_expr e3) in
<:expr< ($e1$, $e2$, $e3$) >>
let mlexpr_of_quadruple m1 m2 m3 m4 (a1,a2,a3,a4)=
let e1 = m1 a1 and e2 = m2 a2 and e3 = m3 a3 and e4 = m4 a4 in
- let loc = join_loc (MLast.loc_of_expr e1) (MLast.loc_of_expr e4) in
+ let loc = Loc.merge (MLast.loc_of_expr e1) (MLast.loc_of_expr e4) in
<:expr< ($e1$, $e2$, $e3$, $e4$) >>
(* We don't give location for tactic quotation! *)
-let loc = dummy_loc
+let loc = Loc.ghost
let mlexpr_of_bool = function
diff --git a/grammar/tacextend.ml4 b/grammar/tacextend.ml4
index 06c3ac3f94..8f70302a0d 100644
--- a/grammar/tacextend.ml4
+++ b/grammar/tacextend.ml4
@@ -31,7 +31,7 @@ let rec make_when loc = function
| GramNonTerminal(loc',t,_,Some p)::l ->
let p = Names.string_of_id p in
let l = make_when loc l in
- let loc = join_loc loc' loc in
+ let loc = Loc.merge loc' loc in
let t = mlexpr_of_argtype loc' t in
<:expr< Genarg.genarg_tag $lid:p$ = $t$ && $l$ >>
| _::l -> make_when loc l
@@ -40,7 +40,7 @@ let rec make_let e = function
| [] -> e
| GramNonTerminal(loc,t,_,Some p)::l ->
let p = Names.string_of_id p in
- let loc = join_loc loc (MLast.loc_of_expr e) in
+ let loc = Loc.merge loc (MLast.loc_of_expr e) in
let e = make_let e l in
let v = <:expr< Genarg.out_gen $make_wit loc t$ $lid:p$ >> in
<:expr< let $lid:p$ = $v$ in $e$ >>
@@ -78,7 +78,7 @@ let rec make_eval_tactic e = function
| [] -> e
| GramNonTerminal(loc,tag,_,Some p)::l when is_tactic_genarg tag ->
let p = Names.string_of_id p in
- let loc = join_loc loc (MLast.loc_of_expr e) in
+ let loc = Loc.merge loc (MLast.loc_of_expr e) in
let e = make_eval_tactic e l in
<:expr< let $lid:p$ = $lid:p$ in $e$ >>
| _::l -> make_eval_tactic e l
@@ -107,7 +107,7 @@ let rec make_tags loc = function
| [] -> <:expr< [] >>
| GramNonTerminal(loc',t,_,Some p)::l ->
let l = make_tags loc l in
- let loc = join_loc loc' loc in
+ let loc = Loc.merge loc' loc in
let t = mlexpr_of_argtype loc' t in
<:expr< [ $t$ :: $l$ ] >>
| _::l -> make_tags loc l
diff --git a/grammar/vernacextend.ml4 b/grammar/vernacextend.ml4
index b66460fe6f..8ec189e3d1 100644
--- a/grammar/vernacextend.ml4
+++ b/grammar/vernacextend.ml4
@@ -23,7 +23,7 @@ let rec make_let e = function
| [] -> e
| GramNonTerminal(loc,t,_,Some p)::l ->
let p = Names.string_of_id p in
- let loc = join_loc loc (MLast.loc_of_expr e) in
+ let loc = Loc.merge loc (MLast.loc_of_expr e) in
let e = make_let e l in
<:expr< let $lid:p$ = Genarg.out_gen $make_rawwit loc t$ $lid:p$ in $e$ >>
| _::l -> make_let e l