diff options
author | 2013-06-30 01:49:24 +0000 | |
---|---|---|
committer | 2013-06-30 01:49:24 +0000 | |
commit | 66b6a5540c63b2a690082d479e483d4f52a73d76 (patch) | |
tree | 09462e65cfcd7f03d0373f12ac0cc308a93d09ac /parsing | |
parent | 2fd40ff72d3b7b54422b9b00b394c9c446cb5cd7 (diff) |
Fixing Camlp4 compilation.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16613 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing')
-rw-r--r-- | parsing/compat.ml4 | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/parsing/compat.ml4 b/parsing/compat.ml4 index e82f35274..f872c4a2d 100644 --- a/parsing/compat.ml4 +++ b/parsing/compat.ml4 @@ -310,3 +310,16 @@ let expl_anti loc e = <:expr< $anti:e$ >> ELSE let expl_anti _loc e = e (* FIXME: understand someday if we can do better *) END + +(** Qualified names in OCaml *) + +IFDEF CAMLP5 THEN +let qualified_name loc path name = + let fold dir accu = <:expr< $uid:dir$.$accu$ >> in + List.fold_right fold path <:expr< $lid:name$ >> +ELSE +let qualified_name loc path name = + let fold dir accu = Ast.IdAcc (loc, Ast.IdUid (loc, dir), accu) in + let path = List.fold_right fold path (Ast.IdLid (loc, name)) in + Ast.ExId (loc, path) +END |