From 2440cf4e052fa4952dbb2aef0e70cf97b83dcd1e Mon Sep 17 00:00:00 2001 From: herbelin Date: Tue, 3 Oct 2006 14:11:08 +0000 Subject: le parsing du LETIN ne suivait pas la DTD (bug #1237) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9200 85f007b7-540e-0410-9357-904b9bb8a0f7 --- parsing/g_xml.ml4 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/parsing/g_xml.ml4 b/parsing/g_xml.ml4 index 7165f0d103..a1181939f7 100644 --- a/parsing/g_xml.ml4 +++ b/parsing/g_xml.ml4 @@ -146,9 +146,11 @@ let rec interp_xml_constr = function let ctx = List.map interp_xml_decl decls in List.fold_right (fun (na,t) b -> RProd (loc, na, t, b)) ctx (interp_xml_target body) - | XmlTag (loc,"LETIN",al,[x1;x2]) -> - let na,t = interp_xml_def x1 in - RLetIn (loc, na, t, interp_xml_target x2) + | XmlTag (loc,"LETIN",al,(_::_ as xl)) -> + let body,defs = list_sep_last xl in + let ctx = List.map interp_xml_def defs in + List.fold_right (fun (na,t) b -> RLetIn (loc, na, t, b)) + ctx (interp_xml_target body) | XmlTag (loc,"APPLY",_,x::xl) -> RApp (loc, interp_xml_constr x, List.map interp_xml_constr xl) | XmlTag (loc,"instantiate",_, -- cgit v1.2.3