let header ?(name = "g") fmt = fprintf fmt "@[<hv2>digraph %s {@," name
let node name ?(attrs = []) fmt =
- fprintf fmt "@[<hov2>%s@ [" name;
+ fprintf fmt "@[<hov2>\"%s\"@ [" name;
attributes attrs fmt;
fprintf fmt "];@]@,"
let edge name1 name2 ?(attrs = []) fmt =
- fprintf fmt "@[<hov2>%s ->@ %s@ [" name1 name2;
+ fprintf fmt "@[<hov2>\"%s\" ->@ \"%s\"@ [" name1 name2;
attributes attrs fmt;
fprintf fmt "];@]@,"
let raw s fmt = pp_print_string fmt s