) sf.SC.sf_fields in
let shape_assignments =
- String.concat ";\n " shape_assignments in
+ if shape_assignments = [] then "()"
+ else
+ "{ " ^ String.concat ";\n " shape_assignments ^ " }" in
let content_assignments =
List.map (
fun { PP.field_name = field_name } ->
- sprintf "%s_%s = %s" sf.SC.sf_name field_name field_name
- ) sf.SC.sf_fields in
+ sprintf "%s_%s = %s" cf.SC.cf_name field_name field_name
+ ) cf.SC.cf_fields in
let content_assignments =
- String.concat ";\n " content_assignments in
+ if content_assignments = [] then "()"
+ else
+ "{ " ^ String.concat ";\n " content_assignments ^ " }" in
let code =
sprintf "
bitmatch bits with
| { %s } ->
let shape =
- { %s } in
+ %s in
let content =
- { %s } in
+ %s in
{ %s_shape = shape; %s_content = content }
| { _ } ->
raise (Virt_mem_types.ParseError (%S, %S, match_err))"