X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic%2FcicParser.ml;h=a7ad3c9cf1f88c8cc56cfdadad7c119c3098bc45;hb=a7063fc0997a9d9eae6c329443e67ab92c4b6a0f;hp=d81521f99e335e18b77ca2d20092298e3b646ae0;hpb=68eea268e230d7eb12cdc416ead471a86a4bb5e4;p=helm.git diff --git a/helm/ocaml/cic/cicParser.ml b/helm/ocaml/cic/cicParser.ml index d81521f99..a7ad3c9cf 100644 --- a/helm/ocaml/cic/cicParser.ml +++ b/helm/ocaml/cic/cicParser.ml @@ -23,6 +23,8 @@ * http://helm.cs.unibo.it/ *) +(* $Id$ *) + let debug = false let debug_print s = if debug then prerr_endline (Lazy.force s) @@ -686,7 +688,13 @@ let end_element ctxt tag = let fields = List.map (function - | Obj_field name -> name + | Obj_field name -> + (match Str.split (Str.regexp " ") name with + | [name] -> name, false + | [name;"coercion"] -> name,true + | _ -> + parse_error + "wrong \"field\"'s name attribute") | _ -> parse_error "unexpected extra content for \"record\" object class") @@ -763,7 +771,7 @@ let annobj_of_xml uri filename filenamebody = (match parse uri filename, parse uri filenamebody with | Cic_constant_type (type_id, name, params, typ, obj_attributes), Cic_constant_body (body_id, _, _, body, _) -> - Cic.AConstant (type_id, Some body_id, name, Some body, typ, params,[]) + Cic.AConstant (type_id, Some body_id, name, Some body, typ, params,obj_attributes) | _ -> raise (Parser_failure (sprintf "no constant found in %s, %s" filename filenamebody)))