X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fextlib%2FgraphvizPp.ml;h=46432883744ad7c68406be2d040dbe40134f25ce;hb=ce0e8e7fc59e6a1f7ed6038370bdc1de096cdc01;hp=82fa9807de15a786b8bd7e338ca82af3348976e5;hpb=abd2098b6c4a40b36bb4b950c607eb4b4a7852bc;p=helm.git diff --git a/helm/software/components/extlib/graphvizPp.ml b/helm/software/components/extlib/graphvizPp.ml index 82fa9807d..464328837 100644 --- a/helm/software/components/extlib/graphvizPp.ml +++ b/helm/software/components/extlib/graphvizPp.ml @@ -49,10 +49,16 @@ module Dot = struct let attribute fmt (k, v) = fprintf fmt "@[%s=@,\"%s\",@]" k v let attributes attrs fmt = List.iter (attribute fmt) attrs + let quote_string quote s = if quote then "\"" ^s ^ "\"" else s let node name ~quote ?(attrs = []) fmt = - let quote_string = if quote then "\"" else "" in - fprintf fmt "@[%s%s%s@ [" quote_string name quote_string; + fprintf fmt "@[%s@ [" (quote_string quote name); + attributes attrs fmt; + fprintf fmt "];@]@," + + let edge ~quote name1 name2 ?(attrs = []) fmt = + fprintf fmt "@[%s ->@ %s@ [" + (quote_string quote name1) (quote_string quote name2); attributes attrs fmt; fprintf fmt "];@]@," @@ -68,10 +74,7 @@ module Dot = | None -> ()) let node = node ~quote:true - let edge name1 name2 ?(attrs = []) fmt = - fprintf fmt "@[\"%s\" ->@ \"%s\"@ [" name1 name2; - attributes attrs fmt; - fprintf fmt "];@]@," + let edge = edge ~quote:true let raw s fmt = pp_print_string fmt s let trailer fmt = fprintf fmt "@,}@]%!" end