* http://helm.cs.unibo.it/
*)
+(* $Id$ *)
+
let debug = false
let debug_print s = if debug then prerr_endline (Lazy.force s)
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")
(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)))