diff options
author | 2003-09-09 15:04:11 +0000 | |
---|---|---|
committer | 2003-09-09 15:04:11 +0000 | |
commit | a6498fdcb697dafd9b95468aeada8a01221181da (patch) | |
tree | 876439fabed5e0138b03120c2fb3846b2142f168 /interp/constrintern.ml | |
parent | 8483fdf73a7aad87e090e1f37d4ca4f7b9b81657 (diff) |
Ajout If; synchro avec constrextern
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4333 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp/constrintern.ml')
-rw-r--r-- | interp/constrintern.ml | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml index 065e3c3ca..ce4fb5fe1 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -549,13 +549,20 @@ let internalise sigma env allow_soapp lvar c = (loc,ind,l@nal)) indnalo))) tms, List.map (intern_eqn (List.length tms) env) eqns) | COrderedCase (loc, tag, po, c, cl) -> + let env = reset_tmp_scope env in ROrderedCase (loc, tag, option_app (intern_type env) po, intern env c, Array.of_list (List.map (intern env) cl),ref None) | CLetTuple (loc, nal, (na,po), b, c) -> + let env' = reset_tmp_scope env in RLetTuple (loc, nal, + (na, option_app (intern_type (push_name_env env' na)) po), + intern env' b, intern (List.fold_left push_name_env env nal) c) + | CIf (loc, c, (na,po), b1, b2) -> + let env = reset_tmp_scope env in + RIf (loc, intern env c, (na, option_app (intern_type (push_name_env env na)) po), - intern env b, intern (List.fold_left push_name_env env nal) c) + intern env b1, intern env b2) | CHole loc -> RHole (loc, QuestionMark) | CPatVar (loc, n) when allow_soapp -> |