From: ellson Date: Thu, 23 Dec 2004 04:14:03 +0000 (+0000) Subject: Initial revision X-Git-Tag: LAST_LIBGRAPH~32^2~8204 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5ba58e7d8d5071a140df9613be1341c4285ef7c9;p=graphviz Initial revision --- diff --git a/awk/colortbl.awk b/awk/colortbl.awk new file mode 100644 index 000000000..54ab028ad --- /dev/null +++ b/awk/colortbl.awk @@ -0,0 +1,39 @@ +# Copyright (c) AT&T Corp. 1994, 1995. +# This code is licensed by AT&T Corp. For the +# terms and conditions of the license, see +# http://www.research.att.com/orgs/ssr/book/reuse + +function rgb_to_hsb(r,g,b) { + r = r / 255.0; g = g / 255.0; b = b / 255.0; + max = r; if (max < g) max = g; if (max < b) max = b; + min = r; if (min > g) min = g; if (min > b) min = b; + v = max; + if (max != 0) s = (max - min) / max; + else s = 0; + if (s == 0) h = 0; + else { + delta = max - min; + rc = (max - r)/delta; + gc = (max - g)/delta; + bc = (max - b)/delta; + if (r == max) h = bc - gc; + else { + if (g == max) h = 2.0 + (rc - bc); + else h = 4.0 + (gc - rc); + } + h = h * 60.0; + if (h < 0.0) h = h + 360.0; + } + h = h / 360.0 * 255.0; + s = s * 255.0; + v = v * 255.0; +} + +BEGIN { s = ARGV[1]; gsub("\\.","_",s); printf("hsbcolor_t %s[] = {\n",s); } +/^$/ { next; } +/^#/ { next; } + { + rgb_to_hsb($2,$3,$4); + printf("{\"%s\",%d,%d,%d},\n",$1,h,s,v); + } +END { printf("};\n"); } diff --git a/awk/stringize.awk b/awk/stringize.awk new file mode 100755 index 000000000..c52a2a29a --- /dev/null +++ b/awk/stringize.awk @@ -0,0 +1,9 @@ +# Copyright (c) AT&T Corp. 1994, 1995. +# This code is licensed by AT&T Corp. For the +# terms and conditions of the license, see +# http://www.research.att.com/orgs/ssr/book/reuse + +BEGIN { s = ARGV[1]; gsub (".*/", "", s); gsub("\\.","_",s); printf("char *%s[] = {\n",s); } +/^#/ { print $0; next; } + { gsub("\\\\","\\\\",$0); printf("\"%s\",\n",$0); } +END { printf("(char*)0 };\n"); } diff --git a/awk/typegraph.awk b/awk/typegraph.awk new file mode 100644 index 000000000..735ebf259 --- /dev/null +++ b/awk/typegraph.awk @@ -0,0 +1,52 @@ +# Copyright (c) AT&T Corp. 1994, 1995. +# This code is licensed by AT&T Corp. For the +# terms and conditions of the license, see +# http://www.research.att.com/orgs/ssr/book/reuse + +BEGIN { + n_names = 0; + printf("strict digraph typeref {\n"); + printf(" node [shape=record];\n"); + } + +(NF == 1) { # starts a new node in the node file + Name[n_names++] = name = $1; + n_fields = 0; + } + +(NF == 2) { # enters a field in the node file + if (($2 == "v") || (PROCS && ($2 == "p"))) { + Field[name,n_fields] = $2 ": " $1; + Field[name,$1] = n_fields; + n_fields++; + } + } + +(NF == 6) { # an entry in the edge file. example: + # v BinaryNode left t - Tree + kind = $1; + if ((kind == "v") || (PROCS && (kind == "p"))) { + if (($2 != "-") && ($2 != $3)) + from = "\"" $2 "\".f0_1_" Field[$2,$3]; + else from = "\"" $3 "\""; + + if (($5 != "-") && ($5 != $6)) + to = "\"" $5 "\".f0_1_" Field[$5,$6]; + else to = "\"" $6 "\""; + + printf("\t%s -> %s;\n",from, to); + } + } + +END { + for (i in Name) { + name = Name[i]; + printf("\t\"%s\" [label=\"{%s{",name,name); + for (j = 0; Field[name,j] != ""; j++) { + if (j > 0) printf("|"); + printf("%s",Field[name,j]); + } + printf("}}\"];\n"); + } + printf("}\n"); + } diff --git a/graphs/.cvsignore b/graphs/.cvsignore new file mode 100644 index 000000000..9fb985742 --- /dev/null +++ b/graphs/.cvsignore @@ -0,0 +1,6 @@ +*.la +*.lo +.deps +.libs +Makefile +Makefile.in diff --git a/graphs/Makefile.am b/graphs/Makefile.am new file mode 100644 index 000000000..4c7a79e36 --- /dev/null +++ b/graphs/Makefile.am @@ -0,0 +1,3 @@ +## Process this file with automake to produce Makefile.in + +SUBDIRS = directed undirected diff --git a/graphs/directed/.cvsignore b/graphs/directed/.cvsignore new file mode 100644 index 000000000..58ec2e610 --- /dev/null +++ b/graphs/directed/.cvsignore @@ -0,0 +1,9 @@ +*.la +*.lo +.deps +.libs +.xvpics +Makefile +Makefile.in +*.dot.* +node*.png diff --git a/graphs/directed/KW91.dot b/graphs/directed/KW91.dot new file mode 100644 index 000000000..6c84048d6 --- /dev/null +++ b/graphs/directed/KW91.dot @@ -0,0 +1,20 @@ +digraph G { + style=bold; + subgraph cluster_outer { + Act_1 -> Act_21; + Act_1 -> Act_23; + Act_25 -> Act_3; + subgraph cluster_inner { + label = " Act_2"; + {Act_21 -> Act_22 [minlen=2]; rank=same;} + Act_22 -> Act_23; + Act_22 -> Act_24; + {Act_23 -> Act_24 [minlen=2]; rank=same;} + Act_23 -> Act_25; + Act_24 -> Act_25; + } + } + Ext_1 -> Act_1; + Act_3 -> Ext_2; + Ext_3 -> Act_24; +} diff --git a/graphs/directed/Latin1.dot b/graphs/directed/Latin1.dot new file mode 100644 index 000000000..0223029be --- /dev/null +++ b/graphs/directed/Latin1.dot @@ -0,0 +1,4 @@ +digraph G { +node [fontsize=10] +a [label = "áâãäåæçèéêëìíîïðñòóôõöøùúûü"]; +} diff --git a/graphs/directed/Makefile.am b/graphs/directed/Makefile.am new file mode 100644 index 000000000..492cffea5 --- /dev/null +++ b/graphs/directed/Makefile.am @@ -0,0 +1,166 @@ +## Process this file with automake to produce Makefile.in + +GRAPHS = KW91.dot Latin1.dot NaN.dot abstract.dot alf.dot arrows.dot \ + awilliams.dot clust.dot clust1.dot clust2.dot clust3.dot clust4.dot \ + clust5.dot crazy.dot ctext.dot dfa.dot fig6.dot fsm.dot \ + grammar.dot hashtable.dot honda-tokoro.dot jcctree.dot jsort.dot \ + ldbxtried.dot longflat.dot mike.dot nhg.dot oldarrows.dot \ + pgram.dot pm2way.dot pmpipe.dot polypoly.dot proc3d.dot \ + record2.dot records.dot rowe.dot sdh.dot shells.dot states.dot \ + structs.dot table.dot train11.dot trapeziumlr.dot tree.dot triedds.dot \ + try.dot unix.dot unix2.dot viewfile.dot world.dot switch.dot + +graphdir = $(pkgdatadir)/graphs +directeddir = $(graphdir)/directed +directed_DATA = $(GRAPHS) + +EXTRA_DIST = $(GRAPHS) + +CLEANFILES = core *.dot.* *.png .xvpics/* + +test: + for i in $(GRAPHS); do \ + echo "dot $$i"; \ + $(top_builddir)/dotneato/dot \ + -Tcanon -o$$i.canon \ + -Tcmap -o$$i.cmap \ + -Tcmapx -o$$i.cmapx \ + -Tdia -o$$i.dia \ + -Tdot -o$$i.dot \ + -Tfig -o$$i.fig \ + -Tgd -o$$i.gd \ + -Tgd2 -o$$i.gd2 \ + -Tgif -o$$i.gif \ + -Thpgl -o$$i.hpgl \ + -Tismap -o$$i.ismap \ + -Timap -o$$i.imap \ + -Tjpg -o$$i.jpg \ + -Tmif -o$$i.mif \ + -Tmp -o$$i.mp \ + -Tpcl -o$$i.pcl \ + -Tpic -o$$i.pic \ + -Tplain -o$$i.plain \ + -Tplain-ext -o$$i.plain-ext \ + -Tpng -o$$i.png \ + -Tps -o$$i.ps \ + -Tps2 -o$$i.ps2 \ + -Tsvg -o$$i.svg \ + -Tsvgz -o$$i.svgz \ + -Twbmp -o$$i.wbmp \ + -Tvrml -o$$i.vrml \ + -Tvtx -o$$i.vtx \ + -Txdot -o$$i.xdot \ + $(top_srcdir)/graphs/directed/$$i; \ + done + +canon: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tcanon -o$$i.canon $(top_srcdir)/graphs/directed/$$i; done + +cmap: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tcmap -o$$i.cmap $(top_srcdir)/graphs/directed/$$i; done + +cmapx: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tcmapx -o$$i.cmapx $(top_srcdir)/graphs/directed/$$i; done + +dia: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tdia -o$$i.dia $(top_srcdir)/graphs/directed/$$i; done + +dot: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tdot -o$$i.dot $(top_srcdir)/graphs/directed/$$i; done + +fig: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tfig -o$$i.fig $(top_srcdir)/graphs/directed/$$i; done + +gd: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tgd -o$$i.gd $(top_srcdir)/graphs/directed/$$i; done + +gd2: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tgd2 -o$$i.gd2 $(top_srcdir)/graphs/directed/$$i; done + +gif: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tgif -o$$i.gif $(top_srcdir)/graphs/directed/$$i; done + +hpgl: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Thpgl -o$$i.hpgl $(top_srcdir)/graphs/directed/$$i; done + +ismap: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tismap -o$$i.ismap $(top_srcdir)/graphs/directed/$$i; done + +imap: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Timap -o$$i.imap $(top_srcdir)/graphs/directed/$$i; done + +jpg: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tjpg -o$$i.jpg $(top_srcdir)/graphs/directed/$$i; done + +mif: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tmif -o$$i.mif $(top_srcdir)/graphs/directed/$$i; done + +mp: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tmp -o$$i.mp $(top_srcdir)/graphs/directed/$$i; done + +pcl: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tpcl -o$$i.pcl $(top_srcdir)/graphs/directed/$$i; done + +pic: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tpic -o$$i.pic $(top_srcdir)/graphs/directed/$$i; done + +plain: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tplain -o$$i.plain $(top_srcdir)/graphs/directed/$$i; done + +plain-ext: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tplain-ext -o$$i.plain-ext $(top_srcdir)/graphs/directed/$$i; done + +png: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tpng -o$$i.png $(top_srcdir)/graphs/directed/$$i; done + +ps: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tps -o$$i.ps $(top_srcdir)/graphs/directed/$$i; done + +ps2: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tps2 -o$$i.ps2 $(top_srcdir)/graphs/directed/$$i; done + +svg: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tsvg -o$$i.svg $(top_srcdir)/graphs/directed/$$i; done + +svgz: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tsvgz -o$$i.svgz $(top_srcdir)/graphs/directed/$$i; done + +wbmp: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Twbmp -o$$i.wbmp $(top_srcdir)/graphs/directed/$$i; done + +vrml: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tvrml -o$$i.vrml $(top_srcdir)/graphs/directed/$$i; done + +vtx: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Tvtx -o$$i.vtx $(top_srcdir)/graphs/directed/$$i; done + +xdot: + for i in $(GRAPHS); do echo "dot $$i"; \ + $(top_builddir)/dotneato/dot -Txdot -o$$i.xdot $(top_srcdir)/graphs/directed/$$i; done diff --git a/graphs/directed/NaN.dot b/graphs/directed/NaN.dot new file mode 100644 index 000000000..200540ca5 --- /dev/null +++ b/graphs/directed/NaN.dot @@ -0,0 +1,126 @@ +digraph xyz { +orientation=landscape; +ratio=compress; +size="16,10"; +AbstractMemory -> Memory; +AliasedMemory -> AliasedMemory; +AliasedMemory -> Memory; +Architecture -> ROOT; +Assembly -> ROOT; +AtomProperties -> NRAtom; +AtomWr -> Wr; +Break -> Break; +Break -> Target; +Breakpoint -> Breakpoint; +Breakpoint -> Event; +Breakpoint -> ROOT; +CDB -> Target; +CDB -> Thread; +CommonFrame -> Target; +ControlOps -> InterpF; +Displayed -> Displayed; +Displayed -> InterpTypes; +ETimer -> RTHeapRep; +Event -> Event; +Event -> ROOT; +Event -> Target; +EventHandler -> ROOT; +EventHandler -> StandardEvents; +Expression -> ROOT; +ExpressionServer -> Expression; +FollowBreakpoint -> Breakpoint; +Formatter -> ROOT; +Formatter -> Thread; +Frame -> Frame; +Frame -> Memory; +Frame -> Target; +FrameClass -> Frame; +IntIntTbl -> IntIntTbl; +IntIntTbl -> ROOT; +Interp -> InterpF; +Interp -> ROOT; +InterpF -> Interp; +InterpF -> InterpF; +InterpF -> ROOT; +InterpScan -> TokenStream; +InterpTypes -> InterpTypes; +InterpTypes -> ROOT; +List -> Thread; +LoadState -> LoadState; +LoadState -> LoadStateRep; +LoadState -> ROOT; +LoadStateRep -> LoadState; +LocationRep -> Memory; +MC68Frame -> CommonFrame; +MC68GCommonFrame -> EventHandler; +MUTEX -> ROOT; +Memory -> Displayed; +Memory -> InterpTypes; +MipsFrame -> CommonFrame; +MipsFrame -> InterpTypes; +MipsGCommonFrame -> EventHandler; +NRAtom -> AtomProperties; +NRAtom -> ROOT; +NopBreakpoint -> Breakpoint; +PSFormatter -> InterpTypes; +PSInterp -> InterpTypes; +PSLoadState -> InterpTypes; +PSMemory -> InterpTypes; +ProtectedWire -> ProtectedWire; +ProtectedWire -> Wire; +RTHeap -> RTHeapRep; +RTHeapRep -> ROOT; +Rd -> RdClass; +RdClass -> MUTEX; +RegisterMemory -> Memory; +Scope -> ROOT; +Scope -> Scope; +Scope -> Target; +SourceLoc -> Target; +SourceMap -> ROOT; +SparcFrame -> CommonFrame; +SparcGCommonFrame -> EventHandler; +StandardEvents -> StandardEvents; +StandardEvents -> Target; +StreamWire -> Wire; +Symbol -> Displayed; +Symbol -> Symbol; +TThread -> ROOT; +TThread -> Target; +Target -> Displayed; +Target -> Event; +Target -> FrameClass; +Target -> ROOT; +Target -> TThread; +Target -> Target; +Target -> TargetF; +Target -> Thread; +TargetF -> Target; +TargetState -> Assembly; +TextRd -> Rd; +TextWr -> Wr; +Thread -> ROOT; +Thread -> Thread; +TokenStream -> ROOT; +TokenStream -> TokenStream; +Trap -> ROOT; +TrapMemory -> Memory; +UFileRd -> Rd; +UFileRd -> UFileRd; +UFileWr -> UFileWr; +UFileWr -> Wr; +UnixHandler -> Event; +UnixHandler -> UnixHandler; +UserBreak -> Break; +UserBreak -> Breakpoint; +UserBreak -> Event; +UserBreak -> Trap; +UserBreak -> UserBreak; +VaxFrame -> CommonFrame; +VaxGCommonFrame -> EventHandler; +Wire -> ROOT; +Wire -> TrapMemory; +Wire -> Wire; +Wr -> WrClass; +WrClass -> MUTEX; +} diff --git a/graphs/directed/abstract.dot b/graphs/directed/abstract.dot new file mode 100644 index 000000000..08955e1c6 --- /dev/null +++ b/graphs/directed/abstract.dot @@ -0,0 +1,71 @@ +digraph abstract { + size="6,6"; + S24 -> 27; + S24 -> 25; + S1 -> 10; + S1 -> 2; + S35 -> 36; + S35 -> 43; + S30 -> 31; + S30 -> 33; + 9 -> 42; + 9 -> T1; + 25 -> T1; + 25 -> 26; + 27 -> T24; + 2 -> 3; + 2 -> 16; + 2 -> 17; + 2 -> T1; + 2 -> 18; + 10 -> 11; + 10 -> 14; + 10 -> T1; + 10 -> 13; + 10 -> 12; + 31 -> T1; + 31 -> 32; + 33 -> T30; + 33 -> 34; + 42 -> 4; + 26 -> 4; + 3 -> 4; + 16 -> 15; + 17 -> 19; + 18 -> 29; + 11 -> 4; + 14 -> 15; + 37 -> 39; + 37 -> 41; + 37 -> 38; + 37 -> 40; + 13 -> 19; + 12 -> 29; + 43 -> 38; + 43 -> 40; + 36 -> 19; + 32 -> 23; + 34 -> 29; + 39 -> 15; + 41 -> 29; + 38 -> 4; + 40 -> 19; + 4 -> 5; + 19 -> 21; + 19 -> 20; + 19 -> 28; + 5 -> 6; + 5 -> T35; + 5 -> 23; + 21 -> 22; + 20 -> 15; + 28 -> 29; + 6 -> 7; + 15 -> T1; + 22 -> 23; + 22 -> T35; + 29 -> T30; + 7 -> T8; + 23 -> T24; + 23 -> T1; +} diff --git a/graphs/directed/alf.dot b/graphs/directed/alf.dot new file mode 100644 index 000000000..cf58f4320 --- /dev/null +++ b/graphs/directed/alf.dot @@ -0,0 +1,32 @@ +digraph Alf { +size = "6,9"; +node [ shape = record ]; +Decl [ label = "\n\nDecl|{name|access|decl_flags|extern_c_linkage}"]; +Nontype_decl [ label = "Nontype_decl|{type}"]; +Defined_decl [ label = "Defined_decl|{linkage}"]; +Data_decl [ label = "Data_decl|{storage_class}"]; +Function_decl [ label = "Function_decl|{formals|defaults}"]; +Data [ label = "Data|{initializer}"]; +Function [ label = "Function|{body}"]; +Constructor [ label = "Constructor|{member_initializers}"]; +Aggregate -> Type_decl ; +Class -> Aggregate; +Union -> Aggregate; +Data -> Data_decl; +Data -> Defn; +Data_decl -> Defined_decl; +Data_member -> Nontype_decl ; +Defined_decl -> Nontype_decl; +Defn -> Defined_decl; +Enum -> Type_decl ; +Enumerator -> Nontype_decl ; +Function -> Defn; +Function -> Function_decl; +Constructor -> Function; +Destructor -> Function; +Function_decl -> Defined_decl; +Nontype_decl -> Decl ; +Template_type_arg -> Type_decl ; +Type_decl -> Decl ; +Typedef -> Type_decl ; +} diff --git a/graphs/directed/arrows.dot b/graphs/directed/arrows.dot new file mode 100644 index 000000000..e84b04a33 --- /dev/null +++ b/graphs/directed/arrows.dot @@ -0,0 +1,77 @@ +digraph G { + graph [rankdir=LR nodesep=0] + node [shape=point label=""] + edge [fontsize=10] + _box -> box [arrowhead=box label=box] + box -> boxbox [arrowhead=boxbox label=boxbox] + _box -> lbox [arrowhead=lbox label=lbox] + lbox -> lboxlbox [arrowhead=lboxlbox label=lboxlbox] + _box -> rbox [arrowhead=rbox label=rbox] + rbox -> rboxrbox [arrowhead=rboxrbox label=rboxrbox] + _box -> olbox [arrowhead=olbox label=olbox] + olbox -> olboxolbox [arrowhead=olboxolbox label=olboxolbox] + _box -> orbox [arrowhead=orbox label=orbox] + orbox -> orboxorbox [arrowhead=orboxorbox label=orboxorbox] + _box -> obox [arrowhead=obox label=obox] + obox -> oboxobox [arrowhead=oboxobox label=oboxobox] + _crow -> crow [arrowhead=crow label=crow] + crow -> crowcrow [arrowhead=crowcrow label=crowcrow] + _crow -> lcrow [arrowhead=lcrow label=lcrow] + lcrow -> lcrowlcrow [arrowhead=lcrowlcrow label=lcrowlcrow] + _crow -> rcrow [arrowhead=rcrow label=rcrow] + rcrow -> rcrowrcrow [arrowhead=rcrowrcrow label=rcrowrcrow] + _diamond -> diamond [arrowhead=diamond label=diamond] + diamond -> diamonddiamond [arrowhead=diamonddiamond label=diamonddiamond] + _diamond -> ldiamond [arrowhead=ldiamond label=ldiamond] + ldiamond -> ldiamondldiamond [arrowhead=ldiamondldiamond label=ldiamondldiamond] + _diamond -> rdiamond [arrowhead=rdiamond label=rdiamond] + rdiamond -> rdiamondrdiamond [arrowhead=rdiamondrdiamond label=rdiamondrdiamond] + _diamond -> oldiamond [arrowhead=oldiamond label=oldiamond] + oldiamond -> oldiamondoldiamond [arrowhead=oldiamondoldiamond label=oldiamondoldiamond] + _diamond -> ordiamond [arrowhead=ordiamond label=ordiamond] + ordiamond -> ordiamondordiamond [arrowhead=ordiamondordiamond label=ordiamondordiamond] + _diamond -> odiamond [arrowhead=odiamond label=odiamond] + odiamond -> odiamondodiamond [arrowhead=odiamondodiamond label=odiamondodiamond] + _dot -> dot [arrowhead=dot label=dot] + dot -> dotdot [arrowhead=dotdot label=dotdot] + _dot -> odot [arrowhead=odot label=odot] + odot -> odotodot [arrowhead=odotodot label=odotodot] + _inv -> inv [arrowhead=inv label=inv] + inv -> invinv [arrowhead=invinv label=invinv] + _inv -> linv [arrowhead=linv label=linv] + linv -> linvlinv [arrowhead=linvlinv label=linvlinv] + _inv -> rinv [arrowhead=rinv label=rinv] + rinv -> rinvrinv [arrowhead=rinvrinv label=rinvrinv] + _inv -> olinv [arrowhead=olinv label=olinv] + olinv -> olinvolinv [arrowhead=olinvolinv label=olinvolinv] + _inv -> orinv [arrowhead=orinv label=orinv] + orinv -> orinvorinv [arrowhead=orinvorinv label=orinvorinv] + _inv -> oinv [arrowhead=oinv label=oinv] + oinv -> oinvoinv [arrowhead=oinvoinv label=oinvoinv] + _none -> none [arrowhead=none label=none] + none -> nonenone [arrowhead=nonenone label=nonenone] + _normal -> normal [arrowhead=normal label=normal] + normal -> normalnormal [arrowhead=normalnormal label=normalnormal] + _normal -> lnormal [arrowhead=lnormal label=lnormal] + lnormal -> lnormallnormal [arrowhead=lnormallnormal label=lnormallnormal] + _normal -> rnormal [arrowhead=rnormal label=rnormal] + rnormal -> rnormalrnormal [arrowhead=rnormalrnormal label=rnormalrnormal] + _normal -> olnormal [arrowhead=olnormal label=olnormal] + olnormal -> olnormalolnormal [arrowhead=olnormalolnormal label=olnormalolnormal] + _normal -> ornormal [arrowhead=ornormal label=ornormal] + ornormal -> ornormalornormal [arrowhead=ornormalornormal label=ornormalornormal] + _normal -> onormal [arrowhead=onormal label=onormal] + onormal -> onormalonormal [arrowhead=onormalonormal label=onormalonormal] + _tee -> tee [arrowhead=tee label=tee] + tee -> teetee [arrowhead=teetee label=teetee] + _tee -> ltee [arrowhead=ltee label=ltee] + ltee -> lteeltee [arrowhead=lteeltee label=lteeltee] + _tee -> rtee [arrowhead=rtee label=rtee] + rtee -> rteertee [arrowhead=rteertee label=rteertee] + _vee -> vee [arrowhead=vee label=vee] + vee -> veevee [arrowhead=veevee label=veevee] + _vee -> lvee [arrowhead=lvee label=lvee] + lvee -> lveelvee [arrowhead=lveelvee label=lveelvee] + _vee -> rvee [arrowhead=rvee label=rvee] + rvee -> rveervee [arrowhead=rveervee label=rveervee] +} diff --git a/graphs/directed/awilliams.dot b/graphs/directed/awilliams.dot new file mode 100644 index 000000000..7f01a145c --- /dev/null +++ b/graphs/directed/awilliams.dot @@ -0,0 +1,188 @@ +digraph pvn { + ordering=out; + + node_1 -> node_2; + node_1 [label="ID: 1\ntype: 48\nnbr out: 0\nnbr chi: 11"]; + node_2 [label="ID: 2\ntype: 8\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_3; + node_3 [label="ID: 3\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_4; + node_4 [label="ID: 4\ntype: 6\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_5; + node_5 [label="ID: 5\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_6; + node_6 [label="ID: 6\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_7; + node_7 [label="ID: 7\ntype: 49\nnbr out: 0\nnbr chi: 0"]; + node_7 -> node_8; + node_8 [label="ID: 8\ntype: 45\nnbr out: 2\nnbr chi: 0"]; + node_8 -> node_9; + node_9 [label="ID: 9\ntype: 48\nnbr out: 0\nnbr chi: 4"]; + node_9 -> node_10; + node_10 [label="ID: 10\ntype: 8\nnbr out: 0\nnbr chi: 0"]; + node_9 -> node_11; + node_11 [label="ID: 11\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_9 -> node_12; + node_12 [label="ID: 12\ntype: 5\nnbr out: 0\nnbr chi: 0"]; + node_9 -> node_13; + node_13 [label="ID: 13\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_8 -> node_14; + node_14 [label="ID: 14\ntype: 39\nnbr out: 1\nnbr chi: 0"]; + node_14 -> node_15; + node_15 [label="ID: 15\ntype: 55\nnbr out: 0\nnbr chi: 0"]; + node_15 -> node_16; + node_16 [label="ID: 16\ntype: 48\nnbr out: 0\nnbr chi: 3"]; + node_16 -> node_17; + node_17 [label="ID: 17\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_16 -> node_18; + node_18 [label="ID: 18\ntype: 6\nnbr out: 0\nnbr chi: 0"]; + node_16 -> node_19; + node_19 [label="ID: 19\ntype: 45\nnbr out: 1\nnbr chi: 0"]; + node_19 -> node_20; + node_20 [label="ID: 20\ntype: 48\nnbr out: 0\nnbr chi: 5"]; + node_20 -> node_21; + node_21 [label="ID: 21\ntype: 38\nnbr out: 0\nnbr chi: 0"]; + node_20 -> node_22; + node_22 [label="ID: 22\ntype: 8\nnbr out: 0\nnbr chi: 0"]; + node_20 -> node_23; + node_23 [label="ID: 23\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_20 -> node_24; + node_24 [label="ID: 24\ntype: 5\nnbr out: 0\nnbr chi: 0"]; + node_20 -> node_25; + node_25 [label="ID: 25\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_19 -> node_26; + node_26 [label="ID: 26\ntype: 41\nnbr out: 12\nnbr chi: 0"]; + node_26 -> node_27; + node_27 [label="ID: 27\ntype: 48\nnbr out: 0\nnbr chi: 5"]; + node_27 -> node_28; + node_28 [label="ID: 28\ntype: 38\nnbr out: 0\nnbr chi: 0"]; + node_27 -> node_29; + node_29 [label="ID: 29\ntype: 8\nnbr out: 0\nnbr chi: 0"]; + node_27 -> node_30; + node_30 [label="ID: 30\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_27 -> node_31; + node_31 [label="ID: 31\ntype: 5\nnbr out: 0\nnbr chi: 0"]; + node_27 -> node_32; + node_32 [label="ID: 32\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_27; + node_26 -> node_33; + node_33 [label="ID: 33\ntype: 48\nnbr out: 0\nnbr chi: 5"]; + node_33 -> node_34; + node_34 [label="ID: 34\ntype: 38\nnbr out: 0\nnbr chi: 0"]; + node_33 -> node_35; + node_35 [label="ID: 35\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_33 -> node_36; + node_36 [label="ID: 36\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_33 -> node_37; + node_37 [label="ID: 37\ntype: 20\nnbr out: 0\nnbr chi: 0"]; + node_33 -> node_38; + node_38 [label="ID: 38\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_15 -> node_39; + node_39 [label="ID: 39\ntype: 45\nnbr out: 1\nnbr chi: 0"]; + node_39 -> node_40; + node_40 [label="ID: 40\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_39 -> node_41; + node_41 [label="ID: 41\ntype: 48\nnbr out: 0\nnbr chi: 3"]; + node_41 -> node_42; + node_42 [label="ID: 42\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_41 -> node_43; + node_43 [label="ID: 43\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_41 -> node_44; + node_44 [label="ID: 44\ntype: 6\nnbr out: 0\nnbr chi: 0"]; + node_15 -> node_45; + node_45 [label="ID: 45\ntype: 48\nnbr out: 0\nnbr chi: 4"]; + node_45 -> node_46; + node_46 [label="ID: 46\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_45 -> node_47; + node_47 [label="ID: 47\ntype: 45\nnbr out: 1\nnbr chi: 0"]; + node_47 -> node_48; + node_48 [label="ID: 48\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_47 -> node_49; + node_49 [label="ID: 49\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_45 -> node_50; + node_50 [label="ID: 50\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_45 -> node_51; + node_51 [label="ID: 51\ntype: 45\nnbr out: 1\nnbr chi: 0"]; + node_51 -> node_52; + node_52 [label="ID: 52\ntype: 45\nnbr out: 1\nnbr chi: 0"]; + node_52 -> node_53; + node_53 [label="ID: 53\ntype: 54\nnbr out: 0\nnbr chi: 0"]; + node_52 -> node_54; + node_54 [label="ID: 54\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_51 -> node_55; + node_55 [label="ID: 55\ntype: 48\nnbr out: 0\nnbr chi: 3"]; + node_55 -> node_56; + node_56 [label="ID: 56\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_55 -> node_57; + node_57 [label="ID: 57\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_55 -> node_58; + node_58 [label="ID: 58\ntype: 6\nnbr out: 0\nnbr chi: 0"]; + node_15 -> node_59; + node_59 [label="ID: 59\ntype: 48\nnbr out: 0\nnbr chi: 5"]; + node_59 -> node_60; + node_60 [label="ID: 60\ntype: 38\nnbr out: 0\nnbr chi: 0"]; + node_59 -> node_61; + node_61 [label="ID: 61\ntype: 8\nnbr out: 0\nnbr chi: 0"]; + node_59 -> node_62; + node_62 [label="ID: 62\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_59 -> node_63; + node_63 [label="ID: 63\ntype: 5\nnbr out: 0\nnbr chi: 0"]; + node_59 -> node_64; + node_64 [label="ID: 64\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_15 -> node_65; + node_65 [label="ID: 65\ntype: 48\nnbr out: 0\nnbr chi: 5"]; + node_65 -> node_66; + node_66 [label="ID: 66\ntype: 38\nnbr out: 0\nnbr chi: 0"]; + node_65 -> node_67; + node_67 [label="ID: 67\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_65 -> node_68; + node_68 [label="ID: 68\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_65 -> node_69; + node_69 [label="ID: 69\ntype: 20\nnbr out: 0\nnbr chi: 0"]; + node_65 -> node_70; + node_70 [label="ID: 70\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_14 -> node_71; + node_71 [label="ID: 71\ntype: 45\nnbr out: 1\nnbr chi: 0"]; + node_71 -> node_72; + node_72 [label="ID: 72\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_71 -> node_73; + node_73 [label="ID: 73\ntype: 48\nnbr out: 0\nnbr chi: 3"]; + node_73 -> node_74; + node_74 [label="ID: 74\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_73 -> node_75; + node_75 [label="ID: 75\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_73 -> node_76; + node_76 [label="ID: 76\ntype: 6\nnbr out: 0\nnbr chi: 0"]; + node_8 -> node_77; + node_77 [label="ID: 77\ntype: 45\nnbr out: 1\nnbr chi: 0"]; + node_77 -> node_78; + node_78 [label="ID: 78\ntype: 16\nnbr out: 0\nnbr chi: 0"]; + node_77 -> node_79; + node_79 [label="ID: 79\ntype: 48\nnbr out: 0\nnbr chi: 3"]; + node_79 -> node_80; + node_80 [label="ID: 80\ntype: 14\nnbr out: 0\nnbr chi: 0"]; + node_79 -> node_81; + node_81 [label="ID: 81\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_79 -> node_82; + node_82 [label="ID: 82\ntype: 6\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_83; + node_83 [label="ID: 83\ntype: 38\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_84; + node_84 [label="ID: 84\ntype: 8\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_85; + node_85 [label="ID: 85\ntype: 1\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_86; + node_86 [label="ID: 86\ntype: 5\nnbr out: 0\nnbr chi: 0"]; + node_1 -> node_87; + node_87 [label="ID: 87\ntype: 16\nnbr out: 0\nnbr chi: 0"]; +} diff --git a/graphs/directed/clust.dot b/graphs/directed/clust.dot new file mode 100644 index 000000000..f944b86d5 --- /dev/null +++ b/graphs/directed/clust.dot @@ -0,0 +1,22 @@ +digraph G { + subgraph cluster_0 { + label = "hello world"; + a -> b; + a -> c; + color = hot_pink; + } + + subgraph cluster_1 { + label = "MSDOT"; + style= "dashed"; + color=purple; + x -> y; + x -> z; + y -> z; + y -> q; + } + + top -> a; + top -> y; + y -> b; +} diff --git a/graphs/directed/clust1.dot b/graphs/directed/clust1.dot new file mode 100644 index 000000000..71c472250 --- /dev/null +++ b/graphs/directed/clust1.dot @@ -0,0 +1,8 @@ +digraph G { + subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;} + subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;} + x -> a0; + x -> b0; + a1 -> a3; + a3 -> a0; +} diff --git a/graphs/directed/clust2.dot b/graphs/directed/clust2.dot new file mode 100644 index 000000000..27cc5884f --- /dev/null +++ b/graphs/directed/clust2.dot @@ -0,0 +1,8 @@ +digraph G { + subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;} + subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;} + x -> a0; + x -> b0; + a1 -> b3; + b3 -> a1; +} diff --git a/graphs/directed/clust3.dot b/graphs/directed/clust3.dot new file mode 100644 index 000000000..6efae4243 --- /dev/null +++ b/graphs/directed/clust3.dot @@ -0,0 +1,8 @@ +digraph G { + subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;} + subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;} + x -> a0; + x -> b0; + a1 -> b3; + b1 -> a3; +} diff --git a/graphs/directed/clust4.dot b/graphs/directed/clust4.dot new file mode 100644 index 000000000..67dcd4c24 --- /dev/null +++ b/graphs/directed/clust4.dot @@ -0,0 +1,27 @@ +digraph G { + + subgraph cluster_0 { + style=filled; + color=lightgrey; + node [style=filled,color=white]; + a0 -> a1 -> a2 -> a3; + label = "process #1"; + } + + subgraph cluster_1 { + node [style=filled]; + b0 -> b1 -> b2 -> b3; + label = "process #2"; + color=blue + } + start -> a0; + start -> b0; + a1 -> b3; + b2 -> a3; + a3 -> a0; + a3 -> end; + b3 -> end; + + start [shape=Mdiamond]; + end [shape=Msquare]; +} diff --git a/graphs/directed/clust5.dot b/graphs/directed/clust5.dot new file mode 100644 index 000000000..5edc2ce92 --- /dev/null +++ b/graphs/directed/clust5.dot @@ -0,0 +1,25 @@ +digraph G { +size="6,6"; + a -> b -> c; + + subgraph cluster0 { + x0 -> y0; + x0 -> z0; + } + + subgraph cluster1 { + x1 -> y1; + x1 -> z1; + } + + subgraph cluster2 { + x2 -> y2; + x2 -> z2; + } + + a -> x0; + b -> x1; + b -> x2; + a -> z2; + c -> z1; +} diff --git a/graphs/directed/crazy.dot b/graphs/directed/crazy.dot new file mode 100644 index 000000000..b51d4987f --- /dev/null +++ b/graphs/directed/crazy.dot @@ -0,0 +1,104 @@ +digraph "unix" { + graph [ fontname = "Helvetica-Oblique", + fontsize = 36, + label = "\n\n\n\nObject Oriented Graphs\nStephen North, 3/19/93", + size = "6,6" ]; + node [ shape = polygon, + sides = 4, + distortion = "0.0", + orientation = "0.0", + skew = "0.0", + color = white, + style = filled, + fontname = "Helvetica-Outline" ]; + "5th Edition" [sides=9, distortion="0.936354", orientation=28, skew="-0.126818", color=salmon2]; + "6th Edition" [sides=5, distortion="0.238792", orientation=11, skew="0.995935", color=deepskyblue]; + "PWB 1.0" [sides=8, distortion="0.019636", orientation=79, skew="-0.440424", color=goldenrod2]; + LSX [sides=9, distortion="-0.698271", orientation=22, skew="-0.195492", color=burlywood2]; + "1 BSD" [sides=7, distortion="0.265084", orientation=26, skew="0.403659", color=gold1]; + "Mini Unix" [distortion="0.039386", orientation=2, skew="-0.461120", color=greenyellow]; + Wollongong [sides=5, distortion="0.228564", orientation=63, skew="-0.062846", color=darkseagreen]; + Interdata [distortion="0.624013", orientation=56, skew="0.101396", color=dodgerblue1]; + "Unix/TS 3.0" [sides=8, distortion="0.731383", orientation=43, skew="-0.824612", color=thistle2]; + "PWB 2.0" [sides=6, distortion="0.592100", orientation=34, skew="-0.719269", color=darkolivegreen3]; + "7th Edition" [sides=10, distortion="0.298417", orientation=65, skew="0.310367", color=chocolate]; + "8th Edition" [distortion="-0.997093", orientation=50, skew="-0.061117", color=turquoise3]; + "32V" [sides=7, distortion="0.878516", orientation=19, skew="0.592905", color=steelblue3]; + V7M [sides=10, distortion="-0.960249", orientation=32, skew="0.460424", color=navy]; + "Ultrix-11" [sides=10, distortion="-0.633186", orientation=10, skew="0.333125", color=darkseagreen4]; + Xenix [sides=8, distortion="-0.337997", orientation=52, skew="-0.760726", color=coral]; + "UniPlus+" [sides=7, distortion="0.788483", orientation=39, skew="-0.526284", color=darkolivegreen3]; + "9th Edition" [sides=7, distortion="0.138690", orientation=55, skew="0.554049", color=coral3]; + "2 BSD" [sides=7, distortion="-0.010661", orientation=84, skew="0.179249", color=blanchedalmond]; + "2.8 BSD" [distortion="-0.239422", orientation=44, skew="0.053841", color=lightskyblue1]; + "2.9 BSD" [distortion="-0.843381", orientation=70, skew="-0.601395", color=aquamarine2]; + "3 BSD" [sides=10, distortion="0.251820", orientation=18, skew="-0.530618", color=lemonchiffon]; + "4 BSD" [sides=5, distortion="-0.772300", orientation=24, skew="-0.028475", color=darkorange1]; + "4.1 BSD" [distortion="-0.226170", orientation=38, skew="0.504053", color=lightyellow1]; + "4.2 BSD" [sides=10, distortion="-0.807349", orientation=50, skew="-0.908842", color=darkorchid4]; + "4.3 BSD" [sides=10, distortion="-0.030619", orientation=76, skew="0.985021", color=lemonchiffon2]; + "Ultrix-32" [distortion="-0.644209", orientation=21, skew="0.307836", color=goldenrod3]; + "PWB 1.2" [sides=7, distortion="0.640971", orientation=84, skew="-0.768455", color=cyan]; + "USG 1.0" [distortion="0.758942", orientation=42, skew="0.039886", color=blue]; + "CB Unix 1" [sides=9, distortion="-0.348692", orientation=42, skew="0.767058", color=firebrick]; + "USG 2.0" [distortion="0.748625", orientation=74, skew="-0.647656", color=chartreuse4]; + "CB Unix 2" [sides=10, distortion="0.851818", orientation=32, skew="-0.020120", color=greenyellow]; + "CB Unix 3" [sides=10, distortion="0.992237", orientation=29, skew="0.256102", color=bisque4]; + "Unix/TS++" [sides=6, distortion="0.545461", orientation=16, skew="0.313589", color=mistyrose2]; + "PDP-11 Sys V" [sides=9, distortion="-0.267769", orientation=40, skew="0.271226", color=cadetblue1]; + "USG 3.0" [distortion="-0.848455", orientation=44, skew="0.267152", color=bisque2]; + "Unix/TS 1.0" [distortion="0.305594", orientation=75, skew="0.070516", color=orangered]; + "TS 4.0" [sides=10, distortion="-0.641701", orientation=50, skew="-0.952502", color=crimson]; + "System V.0" [sides=9, distortion="0.021556", orientation=26, skew="-0.729938", color=darkorange1]; + "System V.2" [sides=6, distortion="0.985153", orientation=33, skew="-0.399752", color=darkolivegreen4]; + "System V.3" [sides=7, distortion="-0.687574", orientation=58, skew="-0.180116", color=lightsteelblue1]; + "5th Edition" -> "6th Edition"; + "5th Edition" -> "PWB 1.0"; + "6th Edition" -> LSX; + "6th Edition" -> "1 BSD"; + "6th Edition" -> "Mini Unix"; + "6th Edition" -> Wollongong; + "6th Edition" -> Interdata; + Interdata -> "Unix/TS 3.0"; + Interdata -> "PWB 2.0"; + Interdata -> "7th Edition"; + "7th Edition" -> "8th Edition"; + "7th Edition" -> "32V"; + "7th Edition" -> V7M; + "7th Edition" -> "Ultrix-11"; + "7th Edition" -> Xenix; + "7th Edition" -> "UniPlus+"; + V7M -> "Ultrix-11"; + "8th Edition" -> "9th Edition"; + "1 BSD" -> "2 BSD"; + "2 BSD" -> "2.8 BSD"; + "2.8 BSD" -> "Ultrix-11"; + "2.8 BSD" -> "2.9 BSD"; + "32V" -> "3 BSD"; + "3 BSD" -> "4 BSD"; + "4 BSD" -> "4.1 BSD"; + "4.1 BSD" -> "4.2 BSD"; + "4.1 BSD" -> "2.8 BSD"; + "4.1 BSD" -> "8th Edition"; + "4.2 BSD" -> "4.3 BSD"; + "4.2 BSD" -> "Ultrix-32"; + "PWB 1.0" -> "PWB 1.2"; + "PWB 1.0" -> "USG 1.0"; + "PWB 1.2" -> "PWB 2.0"; + "USG 1.0" -> "CB Unix 1"; + "USG 1.0" -> "USG 2.0"; + "CB Unix 1" -> "CB Unix 2"; + "CB Unix 2" -> "CB Unix 3"; + "CB Unix 3" -> "Unix/TS++"; + "CB Unix 3" -> "PDP-11 Sys V"; + "USG 2.0" -> "USG 3.0"; + "USG 3.0" -> "Unix/TS 3.0"; + "PWB 2.0" -> "Unix/TS 3.0"; + "Unix/TS 1.0" -> "Unix/TS 3.0"; + "Unix/TS 3.0" -> "TS 4.0"; + "Unix/TS++" -> "TS 4.0"; + "CB Unix 3" -> "TS 4.0"; + "TS 4.0" -> "System V.0"; + "System V.0" -> "System V.2"; + "System V.2" -> "System V.3"; +} diff --git a/graphs/directed/ctext.dot b/graphs/directed/ctext.dot new file mode 100644 index 000000000..cdadf49e9 --- /dev/null +++ b/graphs/directed/ctext.dot @@ -0,0 +1,17 @@ +digraph G { + xyz [label = "hello\nworld",color="slate_blue",fontsize=24,fontname="Palatino-Italic",style=filled,fontcolor="hot pink"]; + node [style=filled]; + red [color=red]; + green [color=green]; + blue [color=blue,fontcolor=black]; + cyan [color=cyan]; + magenta [color=magenta]; + yellow [color=yellow]; + orange [color=orange]; + red -> green; + red -> blue; + blue -> cyan; + blue -> magenta; + green -> yellow; + green -> orange; +} diff --git a/graphs/directed/dfa.dot b/graphs/directed/dfa.dot new file mode 100644 index 000000000..fde068023 --- /dev/null +++ b/graphs/directed/dfa.dot @@ -0,0 +1,34 @@ +digraph g { +"start" [ label = "MWGC-" ]; +"n1" [ label = "WC-MG" ]; +"n2" [ label = "MWC-G" ]; +"n3" [ label = "C-MWG" ]; +"n4" [ label = "W-MGC" ]; +"n5" [ label = "MGC-W" ]; +"n6" [ label = "MWG-C" ]; +"n7" [ label = "G-MWC" ]; +"n8" [ label = "MG-WC" ]; +"n9" [ label = "-MWGC" ]; +"start" -> "n1" [ label = "g" ]; +"n1" -> "start" [ label = "g" ]; +subgraph l { rank = same; "n3" "n4" } +subgraph r { rank = same; "n5" "n6" } +"n1" -> "n2" [ label = "m" ]; +"n2" -> "n1" [ label = "m" ]; +"n2" -> "n3" [ label = "w" ]; +"n3" -> "n2" [ label = "w" ]; +"n2" -> "n4" [ label = "c" ]; +"n4" -> "n2" [ label = "c" ]; +"n3" -> "n5" [ label = "g" ]; +"n5" -> "n3" [ label = "g" ]; +"n4" -> "n6" [ label = "g" ]; +"n6" -> "n4" [ label = "g" ]; +"n5" -> "n7" [ label = "c" ]; +"n7" -> "n5" [ label = "c" ]; +"n6" -> "n7" [ label = "w" ]; +"n7" -> "n6" [ label = "w" ]; +"n7" -> "n8" [ label = "m" ]; +"n8" -> "n7" [ label = "m" ]; +"n8" -> "n9" [ label = "g" ]; +"n9" -> "n8" [ label = "g" ]; +} diff --git a/graphs/directed/fig6.dot b/graphs/directed/fig6.dot new file mode 100644 index 000000000..8749fd385 --- /dev/null +++ b/graphs/directed/fig6.dot @@ -0,0 +1,74 @@ +digraph G { + size = "8,8"; + {rank=min S8 S24 S1 S35 S30} + {rank=max T8 T24 T1 T35 T30} + S8 -> 9; + S24 -> 27; + S24 -> 25; + S1 -> 10; + S1 -> 2; + S35 -> 36; + S35 -> 43; + S30 -> 31; + S30 -> 33; + 9 -> 42; + 9 -> T1; + 25 -> T1; + 25 -> 26; + 27 -> T24; + 2 -> 3; + 2 -> 16; + 2 -> 17; + 2 -> T1; + 2 -> 18; + 10 -> 11; + 10 -> 14; + 10 -> T1; + 10 -> 13; + 10 -> 12; + 31 -> T1; + 31 -> 32; + 33 -> T30; + 33 -> 34; + 42 -> 4; + 26 -> 4; + 3 -> 4; + 16 -> 15; + 17 -> 19; + 18 -> 29; + 11 -> 4; + 14 -> 15; + 37 -> 39; + 37 -> 41; + 37 -> 38; + 37 -> 40; + 13 -> 19; + 12 -> 29; + 43 -> 38; + 43 -> 40; + 36 -> 19; + 32 -> 23; + 34 -> 29; + 39 -> 15; + 41 -> 29; + 38 -> 4; + 40 -> 19; + 4 -> 5; + 19 -> 21; + 19 -> 20; + 19 -> 28; + 5 -> 6; + 5 -> T35; + 5 -> 23; + 21 -> 22; + 20 -> 15; + 28 -> 29; + 6 -> 7; + 15 -> T1; + 22 -> 23; + 22 -> T35; + 29 -> T30; + 7 -> T8; + 23 -> T24; + 23 -> T1; +} diff --git a/graphs/directed/fsm.dot b/graphs/directed/fsm.dot new file mode 100644 index 000000000..9243e5a6d --- /dev/null +++ b/graphs/directed/fsm.dot @@ -0,0 +1,20 @@ +digraph finite_state_machine { + + node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8; + node [shape = circle]; + rankdir=LR; + LR_0 -> LR_2 [ label = "SS(B)" ]; + LR_0 -> LR_1 [ label = "SS(S)" ]; + LR_1 -> LR_3 [ label = "S($end)" ]; + LR_2 -> LR_6 [ label = "SS(b)" ]; + LR_2 -> LR_5 [ label = "SS(a)" ]; + LR_2 -> LR_4 [ label = "S(A)" ]; + LR_5 -> LR_7 [ label = "S(b)" ]; + LR_5 -> LR_5 [ label = "S(a)" ]; + LR_6 -> LR_6 [ label = "S(b)" ]; + LR_6 -> LR_5 [ label = "S(a)" ]; + LR_7 -> LR_8 [ label = "S(b)" ]; + LR_7 -> LR_5 [ label = "S(a)" ]; + LR_8 -> LR_6 [ label = "S(b)" ]; + LR_8 -> LR_5 [ label = "S(a)" ]; +} diff --git a/graphs/directed/grammar.dot b/graphs/directed/grammar.dot new file mode 100644 index 000000000..34172112f --- /dev/null +++ b/graphs/directed/grammar.dot @@ -0,0 +1,71 @@ +digraph L0 { + size = "8,8"; + ordering=out; + node [shape = box]; + + n0 [label="E"]; + n1 [label="T"]; + n2 [label="F"]; + n3 [label="IDENT : a "]; + n4 [label="+"]; + n5 [label="T"]; + n6 [label="F"]; + n7 [label="("]; + n8 [label="E"]; + n9 [label="T"]; + n10 [label="F"]; + n11 [label="IDENT : b "]; + n12 [label="*"]; + n13 [label="F"]; + n14 [label="IDENT : c "]; + n15 [label=")"]; + n16 [label="*"]; + n17 [label="F"]; + n18 [label="("]; + n19 [label="E"]; + n20 [label="T"]; + n21 [label="F"]; + n22 [label="IDENT : d "]; + n23 [label="*"]; + n24 [label="F"]; + n25 [label="IDENT : e "]; + n26 [label="+"]; + n27 [label="T"]; + n28 [label="F"]; + n29 [label="("]; + n30 [label="E"]; + n31 [label="T"]; + n32 [label="F"]; + n33 [label="IDENT : a "]; + n34 [label="*"]; + n35 [label="F"]; + n36 [label="IDENT : b "]; + n37 [label=")"]; + n38 [label=")"]; + n39 [label="+"]; + n40 [label="T"]; + n41 [label="F"]; + n42 [label="IDENT : q "]; + n0 -> { n1 n4 n5 n39 n40 }; + n1 -> n2 ; + n2 -> n3 ; + n5 -> { n6 n16 n17 }; + n6 -> { n7 n8 n15 }; + n8 -> n9 ; + n9 -> { n10 n12 n13 }; + n10 -> n11 ; + n13 -> n14 ; + n17 -> { n18 n19 n38 }; + n19 -> { n20 n26 n27 }; + n20 -> { n21 n23 n24 }; + n21 -> n22 ; + n24 -> n25 ; + n27 -> n28 ; + n28 -> { n29 n30 n37 }; + n30 -> n31 ; + n31 -> { n32 n34 n35 }; + n32 -> n33 ; + n35 -> n36 ; + n40 -> n41 ; + n41 -> n42 ; +} diff --git a/graphs/directed/hashtable.dot b/graphs/directed/hashtable.dot new file mode 100644 index 000000000..8659cb4d9 --- /dev/null +++ b/graphs/directed/hashtable.dot @@ -0,0 +1,23 @@ +digraph G { + nodesep=.05; + rankdir=LR; + node [shape=record,width=.1,height=.1]; + + node0 [label = " | | | | | | | ",height=2.0]; + node [width = 1.5]; + node1 [label = "{ n14 | 719 |

}"]; + node2 [label = "{ a1 | 805 |

}"]; + node3 [label = "{ i9 | 718 |

}"]; + node4 [label = "{ e5 | 989 |

}"]; + node5 [label = "{ t20 | 959 |

}"] ; + node6 [label = "{ o15 | 794 |

}"] ; + node7 [label = "{ s19 | 659 |

}"] ; + + node0:f0 -> node1:n; + node0:f1 -> node2:n; + node0:f2 -> node3:n; + node0:f5 -> node4:n; + node0:f6 -> node5:n; + node2:p -> node6:n; + node4:p -> node7:n; +} diff --git a/graphs/directed/honda-tokoro.dot b/graphs/directed/honda-tokoro.dot new file mode 100644 index 000000000..38dcc189d --- /dev/null +++ b/graphs/directed/honda-tokoro.dot @@ -0,0 +1,76 @@ +digraph "Honda-Tokoro" { +rankdir="LR" ranksep="0.2" edge[labelfontsize="8" fontsize="8" labeldistance="0.8" arrowsize="0.9" labelangle="-30" dir="none"] nodesep="0.2" node[width="0" height="0" fontsize="10"] + +/*Net net00*/ + +n000 [label="z"] +n001->n000 [headlabel=":s:" arrowhead="invdot"] +n001 [label="m"] +n002->n001 [samehead="m002" headlabel=":r:" samearrowhead="1" arrowhead="invdot" arrowtail="inv"] +n002 [label="p1"] +n003->n002 [headlabel=":s:" arrowhead="dot"] +n003 [label="b"] +n004->n003 +n004 [label="x1"] +n022->n004 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="invdot"] +n003->n002 [samehead="m000" fontsize="8" samearrowhead="1" arrowtail="inv"] +n005->n002 [samehead="m000" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"] +n005->n001 [samehead="m002" samearrowhead="1"] +n005 [label="b"] +n006->n005 [arrowtail="inv"] +n006 [label="p2"] +n007->n006 [headlabel=":s:" arrowhead="dot"] +n007 [label="b"] +n008->n007 +n008 [label="x2"] +n022->n008 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="invdot"] +n007->n006 [samehead="m001" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"] +n009->n006 [samehead="m001" samearrowhead="1" arrowtail="inv"] +n009 [label="b2"] +n022->n009 [fontsize="8"] +n022->n009 [fontsize="8"] +n010->n006 [samehead="m001" samearrowhead="1" arrowtail="inv"] +n010 [label="b2"] +n022->n010 [fontsize="8"] +n022->n010 [fontsize="8"] +n011->n000 [headlabel=":r:" arrowhead="invdot" arrowtail="inv"] +n011 [label="n"] +n012->n011 [samehead="m005" headlabel=":s:" samearrowhead="1" arrowhead="dot"] +n012 [label="b"] +n013->n012 +n013 [label="c1"] +n014->n013 [headlabel=":r:" arrowhead="invdot"] +n014 [label="b"] +n015->n014 [arrowtail="inv"] +n015 [label="y1"] +n023->n015 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="dot"] +n016->n015 [samehead="m003" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"] +n018->n015 [samehead="m003" fontsize="8" samearrowhead="1" arrowtail="inv"] +n014->n011 [samehead="m006" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"] +n012->n011 [samehead="m006" fontsize="8" samearrowhead="1" arrowtail="inv"] +n016->n011 [samehead="m005" samearrowhead="1"] +n016 [label="b"] +n017->n016 +n017 [label="c2"] +n018->n017 [headlabel=":r:" arrowhead="invdot"] +n018 [label="b"] +n019->n018 [arrowtail="inv"] +n019 [label="y2"] +n023->n019 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="dot"] +n020->n019 [samehead="m004" headlabel=":u:" samearrowhead="1" arrowhead="dot" arrowtail="inv"] +n020 [label="b2"] +n023->n020 [fontsize="8"] +n023->n020 [fontsize="8"] +n021->n019 [samehead="m004" samearrowhead="1" arrowtail="inv"] +n021 [label="b2"] +n023->n021 [fontsize="8"] +n023->n021 [fontsize="8"] +n022 [width="0.5" label="[P]" shape="box" style="dashed" height="0.35"] +n023 [width="0.5" label="[Q]" shape="box" style="dashed" height="0.35"] +{/*L=x1*/rank=same n004 n015} +{/*L=p1*/rank=same n002 n013} +{/*L=b*/rank=same n009 n010 n020 n021} +{/*L=x2*/rank=same n008 n019} +{/*L=p2*/rank=same n006 n017} +{/*L=m*/rank=same n001 n011} +} diff --git a/graphs/directed/jcctree.dot b/graphs/directed/jcctree.dot new file mode 100644 index 000000000..9c557dfde --- /dev/null +++ b/graphs/directed/jcctree.dot @@ -0,0 +1,44 @@ +digraph "tree" { +// The problem disappeared when I removed the "ELEM3 -> ID5;" line! +//size="4,5"; +ordering=out; +node [shape=plaintext]; +SPEC -> DEF2; +SPEC -> DEF1; +DEF1 -> ID1; +DEF1 -> SET1; +DEF1 -> SC1; +DEF2 -> ID2; +DEF2 -> SET2; +DEF2 -> SC2; +SET1 -> OPEN1; +SET1 -> ELEM1; +SET1 -> SC3; +SET1 -> ELEM2; +SET1 -> CLOSE1; +ELEM1 -> ID3; +SET2 -> OPEN2; +SET2 -> ELEM3; +SET2 -> CLOSE2; +ELEM2 -> ID4; +ELEM3 -> ID5; +DEF1 [label=DEF]; +DEF2 [label=DEF]; +SET1 [label=SET]; +SC1 [label=";"]; +SC3 [label=";"]; +SET2 [label=SET]; +SC2 [label=";"]; +OPEN1 [label="{"]; +OPEN2 [label="{"]; +CLOSE1 [label="}"]; +CLOSE2 [label="}"]; +ELEM1 [label=ELEMENT]; +ELEM2 [label=ELEMENT]; +ELEM3 [label=ELEMENT]; +ID1 [label=cities]; +ID2 [label=insects]; +ID3 [label=andover]; +ID4 [label=boston]; +ID5 [label=fly]; +} diff --git a/graphs/directed/jsort.dot b/graphs/directed/jsort.dot new file mode 100644 index 000000000..ccfc7f76e --- /dev/null +++ b/graphs/directed/jsort.dot @@ -0,0 +1,150 @@ +digraph prof { + size="6,4"; ratio = fill; + node [style=filled]; + start -> main [color="0.002 0.999 0.999"]; + start -> on_exit [color="0.649 0.701 0.701"]; + main -> sort [color="0.348 0.839 0.839"]; + main -> merge [color="0.515 0.762 0.762"]; + main -> term [color="0.647 0.702 0.702"]; + main -> signal [color="0.650 0.700 0.700"]; + main -> sbrk [color="0.650 0.700 0.700"]; + main -> unlink [color="0.650 0.700 0.700"]; + main -> newfile [color="0.650 0.700 0.700"]; + main -> fclose [color="0.650 0.700 0.700"]; + main -> close [color="0.650 0.700 0.700"]; + main -> brk [color="0.650 0.700 0.700"]; + main -> setbuf [color="0.650 0.700 0.700"]; + main -> copyproto [color="0.650 0.700 0.700"]; + main -> initree [color="0.650 0.700 0.700"]; + main -> safeoutfil [color="0.650 0.700 0.700"]; + main -> getpid [color="0.650 0.700 0.700"]; + main -> sprintf [color="0.650 0.700 0.700"]; + main -> creat [color="0.650 0.700 0.700"]; + main -> rem [color="0.650 0.700 0.700"]; + main -> oldfile [color="0.650 0.700 0.700"]; + sort -> msort [color="0.619 0.714 0.714"]; + sort -> filbuf [color="0.650 0.700 0.700"]; + sort -> newfile [color="0.650 0.700 0.700"]; + sort -> fclose [color="0.650 0.700 0.700"]; + sort -> setbuf [color="0.650 0.700 0.700"]; + sort -> setfil [color="0.650 0.700 0.700"]; + msort -> qsort [color="0.650 0.700 0.700"]; + msort -> insert [color="0.650 0.700 0.700"]; + msort -> wline [color="0.650 0.700 0.700"]; + msort -> div [color="0.650 0.700 0.700"]; + msort -> cmpsave [color="0.650 0.700 0.700"]; + merge -> insert [color="0.650 0.700 0.700"]; + merge -> rline [color="0.650 0.700 0.700"]; + merge -> wline [color="0.650 0.700 0.700"]; + merge -> unlink [color="0.650 0.700 0.700"]; + merge -> fopen [color="0.650 0.700 0.700"]; + merge -> fclose [color="0.650 0.700 0.700"]; + merge -> setfil [color="0.650 0.700 0.700"]; + merge -> mul [color="0.650 0.700 0.700"]; + merge -> setbuf [color="0.650 0.700 0.700"]; + merge -> cmpsave [color="0.650 0.700 0.700"]; + insert -> cmpa [color="0.650 0.700 0.700"]; + wline -> flsbuf [color="0.649 0.700 0.700"]; + qsort -> cmpa [color="0.650 0.700 0.700"]; + rline -> filbuf [color="0.649 0.700 0.700"]; + xflsbuf -> write [color="0.650 0.700 0.700"]; + flsbuf -> xflsbuf [color="0.649 0.700 0.700"]; + filbuf -> read [color="0.650 0.700 0.700"]; + term -> unlink [color="0.650 0.700 0.700"]; + term -> signal [color="0.650 0.700 0.700"]; + term -> setfil [color="0.650 0.700 0.700"]; + term -> exit [color="0.650 0.700 0.700"]; + endopen -> open [color="0.650 0.700 0.700"]; + fopen -> endopen [color="0.639 0.705 0.705"]; + fopen -> findiop [color="0.650 0.700 0.700"]; + newfile -> fopen [color="0.634 0.707 0.707"]; + newfile -> setfil [color="0.650 0.700 0.700"]; + fclose -> fflush [color="0.642 0.704 0.704"]; + fclose -> close [color="0.650 0.700 0.700"]; + fflush -> xflsbuf [color="0.635 0.707 0.707"]; + malloc -> morecore [color="0.325 0.850 0.850"]; + malloc -> demote [color="0.650 0.700 0.700"]; + morecore -> sbrk [color="0.650 0.700 0.700"]; + morecore -> getfreehdr [color="0.650 0.700 0.700"]; + morecore -> free [color="0.650 0.700 0.700"]; + morecore -> getpagesize [color="0.650 0.700 0.700"]; + morecore -> putfreehdr [color="0.650 0.700 0.700"]; + morecore -> udiv [color="0.650 0.700 0.700"]; + morecore -> umul [color="0.650 0.700 0.700"]; + on_exit -> malloc [color="0.325 0.850 0.850"]; + signal -> sigvec [color="0.650 0.700 0.700"]; + moncontrol -> profil [color="0.650 0.700 0.700"]; + getfreehdr -> sbrk [color="0.650 0.700 0.700"]; + free -> insert [color="0.650 0.700 0.700"]; + insert -> getfreehdr [color="0.650 0.700 0.700"]; + setfil -> div [color="0.650 0.700 0.700"]; + setfil -> rem [color="0.650 0.700 0.700"]; + sigvec -> sigblock [color="0.650 0.700 0.700"]; + sigvec -> sigsetmask [color="0.650 0.700 0.700"]; + doprnt -> urem [color="0.650 0.700 0.700"]; + doprnt -> udiv [color="0.650 0.700 0.700"]; + doprnt -> strlen [color="0.650 0.700 0.700"]; + doprnt -> localeconv [color="0.650 0.700 0.700"]; + sprintf -> doprnt [color="0.650 0.700 0.700"]; +cmpa [color="0.000 1.000 1.000"]; +wline [color="0.201 0.753 1.000"]; +insert [color="0.305 0.625 1.000"]; +rline [color="0.355 0.563 1.000"]; +sort [color="0.408 0.498 1.000"]; +qsort [color="0.449 0.447 1.000"]; +write [color="0.499 0.386 1.000"]; +read [color="0.578 0.289 1.000"]; +msort [color="0.590 0.273 1.000"]; +merge [color="0.603 0.258 1.000"]; +unlink [color="0.628 0.227 1.000"]; +filbuf [color="0.641 0.212 1.000"]; +open [color="0.641 0.212 1.000"]; +sbrk [color="0.647 0.204 1.000"]; +signal [color="0.647 0.204 1.000"]; +moncontrol [color="0.647 0.204 1.000"]; +xflsbuf [color="0.650 0.200 1.000"]; +flsbuf [color="0.650 0.200 1.000"]; +div [color="0.650 0.200 1.000"]; +cmpsave [color="0.650 0.200 1.000"]; +rem [color="0.650 0.200 1.000"]; +setfil [color="0.650 0.200 1.000"]; +close [color="0.650 0.200 1.000"]; +fclose [color="0.650 0.200 1.000"]; +fflush [color="0.650 0.200 1.000"]; +setbuf [color="0.650 0.200 1.000"]; +endopen [color="0.650 0.200 1.000"]; +findiop [color="0.650 0.200 1.000"]; +fopen [color="0.650 0.200 1.000"]; +mul [color="0.650 0.200 1.000"]; +newfile [color="0.650 0.200 1.000"]; +sigblock [color="0.650 0.200 1.000"]; +sigsetmask [color="0.650 0.200 1.000"]; +sigvec [color="0.650 0.200 1.000"]; +udiv [color="0.650 0.200 1.000"]; +urem [color="0.650 0.200 1.000"]; +brk [color="0.650 0.200 1.000"]; +getfreehdr [color="0.650 0.200 1.000"]; +strlen [color="0.650 0.200 1.000"]; +umul [color="0.650 0.200 1.000"]; +doprnt [color="0.650 0.200 1.000"]; +copyproto [color="0.650 0.200 1.000"]; +creat [color="0.650 0.200 1.000"]; +demote [color="0.650 0.200 1.000"]; +exit [color="0.650 0.200 1.000"]; +free [color="0.650 0.200 1.000"]; +getpagesize [color="0.650 0.200 1.000"]; +getpid [color="0.650 0.200 1.000"]; +initree [color="0.650 0.200 1.000"]; +insert [color="0.650 0.200 1.000"]; +localeconv [color="0.650 0.200 1.000"]; +main [color="0.650 0.200 1.000"]; +malloc [color="0.650 0.200 1.000"]; +morecore [color="0.650 0.200 1.000"]; +oldfile [color="0.650 0.200 1.000"]; +on_exit [color="0.650 0.200 1.000"]; +profil [color="0.650 0.200 1.000"]; +putfreehdr [color="0.650 0.200 1.000"]; +safeoutfil [color="0.650 0.200 1.000"]; +sprintf [color="0.650 0.200 1.000"]; +term [color="0.650 0.200 1.000"]; +} diff --git a/graphs/directed/ldbxtried.dot b/graphs/directed/ldbxtried.dot new file mode 100644 index 000000000..5bacb1108 --- /dev/null +++ b/graphs/directed/ldbxtried.dot @@ -0,0 +1,416 @@ +digraph g { +graph [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +node [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +shape = "box" +color = "black" +width = "0.5" +style = "filled" +]; +edge [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"n0" [ +label = "18519\n?" +color = "lightblue" +]; +"n1" [ +label = "4836" +shape = "ellipse" +color = "maroon1" +]; +"n2" [ +label = "ttyqa" +shape = "ellipse" +color = "maroon1" +]; +"n448" [ +label = "21079\nlefty" +color = "lightblue" +]; +"n449" [ +label = "tried.lefty" +shape = "ellipse" +color = "maroon1" +]; +"n454" [ +fontsize = "7" +label = "bunting\n6000" +shape = "doublecircle" +color = "green" +]; +"n460" [ +label = "" +shape = "doublecircle" +color = "yellow" +]; +"n461" [ +label = "" +shape = "doublecircle" +color = "yellow" +]; +"n462" [ +label = "21084\ntried" +color = "lightblue" +]; +"n464" [ +label = "21086\nldbx" +color = "lightblue" +]; +"n466" [ +label = "ldbx" +shape = "ellipse" +color = "maroon1" +]; +"n468" [ +label = "21087\nlefty" +color = "lightblue" +]; +"n469" [ +label = "sh21086.1" +shape = "ellipse" +color = "maroon1" +]; +"n474" [ +fontsize = "7" +label = "bunting\n6000" +shape = "doublecircle" +color = "green" +]; +"n479" [ +label = "ldbx.lefty" +shape = "ellipse" +color = "maroon1" +]; +"n482" [ +label = "" +shape = "doublecircle" +color = "yellow" +]; +"n483" [ +label = "" +shape = "doublecircle" +color = "yellow" +]; +"n484" [ +label = "21088\ndot" +color = "lightblue" +]; +"n486" [ +label = "" +shape = "doublecircle" +color = "yellow" +]; +"n487" [ +label = "" +shape = "doublecircle" +color = "yellow" +]; +"n488" [ +label = "21089\nxterm" +color = "lightblue" +]; +"n496" [ +fontsize = "7" +label = "bunting\n6000" +shape = "doublecircle" +color = "green" +]; +"n500" [ +label = "ptyq2" +shape = "ellipse" +color = "maroon1" +]; +"n503" [ +label = "21090\nldbxmp" +color = "lightblue" +]; +"n505" [ +label = "ttyq2" +shape = "ellipse" +color = "maroon1" +]; +"n512" [ +label = "ptyq5" +shape = "ellipse" +color = "maroon1" +]; +"n513" [ +label = "ttyq5" +shape = "ellipse" +color = "maroon1" +]; +"n514" [ +label = "21091\ndbx" +color = "lightblue" +]; +"n518" [ +label = "tty" +shape = "ellipse" +color = "maroon1" +]; +"n526" [ +label = "delaunay.c" +shape = "ellipse" +color = "maroon1" +]; +subgraph "cluster0" { +graph [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +label = "toucan" +color = "black" +]; +node [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +shape = "box" +color = "black" +width = "0.5" +style = "filled" +]; +edge [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"n0" +"n468" +"n486" +"n460" +"n487" +"n514" +"n461" +"n488" +"n462" +"n464" +"n482" +"n483" +"n448" +"n484" +"n503" +} +"n0" -> "n1" [ +dir = "both" +]; +"n0" -> "n2" [ +dir = "both" +]; +"n0" -> "n2" [ +dir = "both" +]; +"n0" -> "n2" [ +dir = "both" +]; +"n0" -> "n448" [ +style = "dotted" +]; +"n448" -> "n2" [ +dir = "both" +]; +"n448" -> "n2" [ +dir = "both" +]; +"n448" -> "n2" [ +dir = "both" +]; +"n448" -> "n449" [ +dir = "back" +]; +"n448" -> "n454" [ +dir = "both" +]; +"n448" -> "n460" [ +dir = "back" +]; +"n448" -> "n461" [ +dir = "forward" +]; +"n448" -> "n462" [ +style = "dotted" +]; +"n462" -> "n2" [ +dir = "both" +]; +"n462" -> "n2" [ +dir = "both" +]; +"n462" -> "n2" [ +dir = "both" +]; +"n462" -> "n449" [ +dir = "back" +]; +"n462" -> "n460" [ +dir = "forward" +]; +"n462" -> "n461" [ +dir = "back" +]; +"n462" -> "n460" [ +dir = "forward" +]; +"n462" -> "n461" [ +dir = "back" +]; +"n0" -> "n464" [ +style = "dotted" +]; +"n464" -> "n2" [ +dir = "both" +]; +"n464" -> "n2" [ +dir = "both" +]; +"n464" -> "n2" [ +dir = "both" +]; +"n464" -> "n466" [ +dir = "back" +]; +"n464" -> "n468" [ +style = "dotted" +]; +"n468" -> "n2" [ +dir = "both" +]; +"n468" -> "n2" [ +dir = "both" +]; +"n468" -> "n469" [ +dir = "back" +]; +"n468" -> "n474" [ +dir = "both" +]; +"n468" -> "n479" [ +dir = "back" +]; +"n468" -> "n482" [ +dir = "back" +]; +"n468" -> "n483" [ +dir = "forward" +]; +"n468" -> "n484" [ +style = "dotted" +]; +"n484" -> "n2" [ +dir = "both" +]; +"n484" -> "n483" [ +dir = "back" +]; +"n484" -> "n479" [ +dir = "back" +]; +"n484" -> "n482" [ +dir = "forward" +]; +"n468" -> "n486" [ +dir = "back" +]; +"n468" -> "n487" [ +dir = "forward" +]; +"n468" -> "n488" [ +style = "dotted" +]; +"n488" -> "n486" [ +dir = "forward" +]; +"n488" -> "n2" [ +dir = "both" +]; +"n488" -> "n487" [ +dir = "back" +]; +"n488" -> "n469" [ +dir = "back" +]; +"n488" -> "n2" [ +dir = "both" +]; +"n488" -> "n479" [ +dir = "back" +]; +"n488" -> "n496" [ +dir = "both" +]; +"n488" -> "n500" [ +dir = "both" +]; +"n488" -> "n503" [ +style = "dotted" +]; +"n503" -> "n479" [ +dir = "back" +]; +"n503" -> "n486" [ +dir = "forward" +]; +"n503" -> "n487" [ +dir = "back" +]; +"n503" -> "n505" [ +dir = "both" +]; +"n503" -> "n505" [ +dir = "both" +]; +"n503" -> "n505" [ +dir = "forward" +]; +"n503" -> "n512" [ +dir = "both" +]; +"n503" -> "n514" [ +style = "dotted" +]; +"n514" -> "n487" [ +dir = "back" +]; +"n514" -> "n486" [ +dir = "forward" +]; +"n514" -> "n479" [ +dir = "back" +]; +"n514" -> "n505" [ +dir = "forward" +]; +"n503" -> "n486" [ +dir = "forward" +]; +"n514" -> "n518" [ +dir = "back" +]; +"n514" -> "n513" [ +dir = "both" +]; +"n514" -> "n513" [ +dir = "both" +]; +"n514" -> "n518" [ +dir = "back" +]; +"n514" -> "n526" [ +dir = "back" +]; +"n503" -> "n487" [ +dir = "back" +]; +} diff --git a/graphs/directed/longflat.dot b/graphs/directed/longflat.dot new file mode 100644 index 000000000..644d677d1 --- /dev/null +++ b/graphs/directed/longflat.dot @@ -0,0 +1,7 @@ +digraph if +{ +rankdir=LR; + {rank=same;b;c;} + a->b; + c->b[label="long long long"]; +} diff --git a/graphs/directed/mike.dot b/graphs/directed/mike.dot new file mode 100644 index 000000000..bf049afff --- /dev/null +++ b/graphs/directed/mike.dot @@ -0,0 +1,42 @@ +digraph mike{ +size = "8,8"; + a -> A; + a -> m; + a -> E; + t -> O; + r -> V; + r -> Q; + p -> B; + m -> R; + l -> C; + c -> C; + W -> X; + W -> D; + V -> W; + T -> U; + Q -> T; + Q -> H; + Q -> A; + O -> K; + L -> U; + K -> L; + K -> J; + K -> E; + J -> I; + R -> B; + P -> F; + H -> R; + H -> P; + U -> H; + G -> U; + E -> G; + C -> Z; + C -> D; + S -> D; + B -> N; + B -> D; + B -> S; + M -> B; + A -> M; + N -> Y; +} diff --git a/graphs/directed/nhg.dot b/graphs/directed/nhg.dot new file mode 100644 index 000000000..826e404b4 --- /dev/null +++ b/graphs/directed/nhg.dot @@ -0,0 +1,13 @@ +digraph automata_0 { + size ="8.5, 11"; + node [shape = circle]; + 0 [ style = filled, color=lightgrey ]; + 2 [ shape = doublecircle ]; + 0 -> 2 [ label = "a " ]; + 0 -> 1 [ label = "other " ]; + 1 -> 2 [ label = "a " ]; + 1 -> 1 [ label = "other " ]; + 2 -> 2 [ label = "a " ]; + 2 -> 1 [ label = "other " ]; + "Machine: a" [ shape = plaintext ]; +} diff --git a/graphs/directed/oldarrows.dot b/graphs/directed/oldarrows.dot new file mode 100644 index 000000000..49416d6e5 --- /dev/null +++ b/graphs/directed/oldarrows.dot @@ -0,0 +1,57 @@ +digraph G { + // leave some space for the head/taillabels + graph [ranksep=1.5 splines=true overlap=false] + + // to avoid confusion, remember this: + // it's spelt tail/head, but it's read start/end + + // emphasize theatrically + // show only explicitly given head/tails + // put head/tail labels farther from the node +// edge [arrowsize=2 dir=none labeldistance=3] + edge [dir=none labeldistance=3] + + // not interested in node labels + node [shape=circle width=0.5 label=""] + + { + edge [samehead=ahead samearrowhead=1] + a->Z [arrowtail=none taillabel=none] + b->Z [arrowtail=normal taillabel=normal] + c->Z [arrowtail=inv taillabel=inv] + d->Z [arrowtail=dot taillabel=dot] + e->Z [arrowtail=odot taillabel=odot] + f->Z [arrowtail=invdot taillabel=invdot] + g->Z [arrowtail=invodot taillabel=invodot] + h->Z [arrowtail=open taillabel=open] + i->Z [arrowtail=halfopen taillabel=halfopen arrowhead=inv headlabel=samehead] + j->Z [arrowtail=empty taillabel=empty] + k->Z [arrowtail=invempty taillabel=invempty] + l->Z [arrowtail=diamond taillabel=diamond] + m->Z [arrowtail=odiamond taillabel=odiamond] + n->Z [arrowtail=box taillabel=box] + o->Z [arrowtail=obox taillabel=obox] + p->Z [arrowtail=tee taillabel=tee] + q->Z [arrowtail=crow taillabel=crow] + } + { + edge [sametail=atail samearrowtail=1] + Z->A [arrowhead=none headlabel=none] + Z->B [arrowhead=normal headlabel=normal] + Z->C [arrowhead=inv headlabel=inv] + Z->D [arrowhead=dot headlabel=dot] + Z->E [arrowhead=odot headlabel=odot] + Z->F [arrowhead=invdot headlabel=invdot] + Z->G [arrowhead=invodot headlabel=invodot] + Z->H [arrowhead=open headlabel=open] + Z->I [arrowhead=halfopen headlabel=halfopen arrowtail=inv taillabel=sametail] + Z->J [arrowhead=empty headlabel=empty] + Z->K [arrowhead=invempty headlabel=invempty] + Z->L [arrowhead=diamond headlabel=diamond] + Z->M [arrowhead=odiamond headlabel=odiamond] + Z->N [arrowhead=box headlabel=box] + Z->O [arrowhead=obox headlabel=obox] + Z->P [arrowhead=tee headlabel=tee] + Z->Q [arrowhead=crow headlabel=crow] + } +} diff --git a/graphs/directed/pgram.dot b/graphs/directed/pgram.dot new file mode 100644 index 000000000..367eef7a0 --- /dev/null +++ b/graphs/directed/pgram.dot @@ -0,0 +1,91 @@ +digraph test { + + size="7,9.5"; + page="8,10.5"; + ratio=fill; + rankdir=LR; + + { rank=same; + node [shape=house]; + A;C;E;G;I;K;M;O;Q;S;U;W;Y; + node [shape=invhouse]; + B;D;F;H;J;L;N;P;R;T;V;X;Z; + } + + { rank=same; + node [shape=parallelogram]; + "Parallelogram" [label="This is a test\nof a multiline\nlabel in an\nparallelogram with approx\nsquare aspect"]; + "a ----- long thin parallelogram"; + "xx" [label="m"]; + "yy" [label="a\nb\nc\nd\ne\nf"]; + node [shape=octagon]; + "Octagon" [label="This is a test\nof a multiline\nlabel in an\noctagon with approx\nsquare aspect"]; + node [shape=parallelogram]; + "Parallelogram" [label="This is a test\nof a multiline\nlabel in an\nparallelogram with approx\nsquare aspect"]; + "a ----- long thin parallelogram"; + "zz" [label="m"]; + "qq" [label="a\nb\nc\nd\ne\nf"]; + ordering=out; + } + + Parallelogram -> A; + Parallelogram -> B; + Parallelogram -> C; + Parallelogram -> D; + Parallelogram -> E; + Parallelogram -> F; + Parallelogram -> G; + Parallelogram -> H; + Parallelogram -> I; + Parallelogram -> J; + Parallelogram -> K; + Parallelogram -> L; + Parallelogram -> M; + Parallelogram -> N; + Parallelogram -> O; + Parallelogram -> P; + Parallelogram -> Q; + Parallelogram -> R; + Parallelogram -> S; + Parallelogram -> T; + Parallelogram -> U; + Parallelogram -> V; + Parallelogram -> W; + Parallelogram -> X; + Parallelogram -> Y; + Parallelogram -> Z; + + { rank=same; + node [shape=triangle]; + a;c;e;g;i;k;m;o;q;s;u;w;y; + node [shape=tripleoctagon]; + b;d;f;h;j;l;n;p;r;t;v;x;z; + } + + a -> Parallelogram -> Octagon; + b -> Parallelogram -> Octagon; + c -> Parallelogram -> Octagon; + d -> Parallelogram -> Octagon; + e -> Parallelogram -> Octagon; + f -> Parallelogram -> Octagon; + g -> Parallelogram -> Octagon; + h -> Parallelogram -> Octagon; + i -> Parallelogram -> Octagon; + j -> Parallelogram -> Octagon; + k -> Parallelogram -> Octagon; + l -> Parallelogram -> Octagon; + m -> Parallelogram -> Octagon; + n -> Parallelogram -> Octagon; + o -> Parallelogram -> Octagon; + p -> Parallelogram -> Octagon; + q -> Parallelogram -> Octagon; + r -> Parallelogram -> Octagon; + s -> Parallelogram -> Octagon; + t -> Parallelogram -> Octagon; + u -> Parallelogram -> Octagon; + v -> Parallelogram -> Octagon; + w -> Parallelogram -> Octagon; + x -> Parallelogram -> Octagon; + y -> Parallelogram -> Octagon; + z -> Parallelogram -> Octagon; +} diff --git a/graphs/directed/pm2way.dot b/graphs/directed/pm2way.dot new file mode 100644 index 000000000..98ee2952e --- /dev/null +++ b/graphs/directed/pm2way.dot @@ -0,0 +1,126 @@ +digraph g { +graph [ +]; +node [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +shape = "box" +color = "black" +width = "0.5" +]; +edge [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"22690" [ +label = "22690\n?" +pname = "?" +kind = "proc" +]; +"22692" [ +label = "22692\ndotty" +pname = "dotty" +kind = "proc" +]; +"116842+2595" [ +label = "116842+2595\n/home/ek/work/sun4/bin/dotty" +fname = "/home/ek/work/sun4/bin/dotty" +shape = "ellipse" +kind = "file" +]; +"22693" [ +label = "22693\nlefty" +pname = "lefty" +kind = "proc" +]; +"182440-1" [ +label = "182440-1\n182441-1\npipe" +fontsize = "7" +fname = "pipe" +shape = "doublecircle" +subkind = "pipe" +kind = "file" +]; +"182442-1" [ +label = "182442-1\n182443-1\npipe" +fontsize = "7" +fname = "pipe" +shape = "doublecircle" +subkind = "pipe" +kind = "file" +]; +"22694" [ +label = "22694\ndot" +pname = "dot" +kind = "proc" +]; +"4761+2595" [ +label = "4761+2595\n/home/ek/pm2.dot" +fname = "/home/ek/pm2.dot" +shape = "ellipse" +kind = "file" +]; +"22690" -> "22692" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"22692" -> "116842+2595" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +"22692" -> "22693" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"22693" -> "182440-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +"22693" -> "182442-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "forward" +color = "black" +]; +"22693" -> "22694" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"22694" -> "182440-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "forward" +color = "black" +]; +"22694" -> "182442-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +"22693" -> "4761+2595" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +} diff --git a/graphs/directed/pmpipe.dot b/graphs/directed/pmpipe.dot new file mode 100644 index 000000000..6eea33e4d --- /dev/null +++ b/graphs/directed/pmpipe.dot @@ -0,0 +1,219 @@ +digraph g { +graph [ +]; +node [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +shape = "box" +color = "black" +width = "0.5" +]; +edge [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"23296" [ +label = "23296\n?" +pname = "?" +kind = "proc" +]; +"182948-1" [ +label = "182948-1\n182949-1\npipe" +fontsize = "7" +fname = "pipe" +shape = "doublecircle" +subkind = "pipe" +kind = "file" +]; +"23310" [ +label = "23310\ncat" +pname = "cat" +kind = "proc" +]; +"182950-1" [ +label = "182950-1\n182951-1\npipe" +fontsize = "7" +fname = "pipe" +shape = "doublecircle" +subkind = "pipe" +kind = "file" +]; +"23311" [ +label = "23311\ncat" +pname = "cat" +kind = "proc" +]; +"182952-1" [ +label = "182952-1\n182953-1\npipe" +fontsize = "7" +fname = "pipe" +shape = "doublecircle" +subkind = "pipe" +kind = "file" +]; +"23312" [ +label = "23312\ncat" +pname = "cat" +kind = "proc" +]; +"182954-1" [ +label = "182954-1\n182955-1\npipe" +fontsize = "7" +fname = "pipe" +shape = "doublecircle" +subkind = "pipe" +kind = "file" +]; +"23313" [ +label = "23313\ncat" +pname = "cat" +kind = "proc" +]; +"79893+2568" [ +label = "79893+2568\n/usr/share/lib/termcap" +fname = "/usr/share/lib/termcap" +shape = "ellipse" +kind = "file" +]; +"85+2560" [ +label = "85+2560\n?" +fname = "?" +shape = "ellipse" +kind = "file" +]; +"23314" [ +label = "23314\ncat" +pname = "cat" +kind = "proc" +]; +"4151865284+0" [ +label = "4151865284+0\n/tmp/termcap" +fname = "/tmp/termcap" +shape = "ellipse" +kind = "file" +]; +"23296" -> "23310" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"23296" -> "23311" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"23311" -> "182948-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +"23310" -> "182948-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "forward" +color = "black" +]; +"23296" -> "23312" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"23312" -> "182952-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "forward" +color = "black" +]; +"23312" -> "182950-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +"23296" -> "23313" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"23313" -> "182954-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "forward" +color = "black" +]; +"23311" -> "182950-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "forward" +color = "black" +]; +"23310" -> "79893+2568" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +"23296" -> "85+2560" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "both" +color = "black" +]; +"23296" -> "23314" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +color = "black" +]; +"23314" -> "85+2560" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "both" +color = "black" +]; +"23314" -> "182954-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +"23296" -> "85+2560" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "both" +color = "black" +]; +"23314" -> "4151865284+0" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "forward" +color = "black" +]; +"23313" -> "182952-1" [ +fontsize = "14" +fontname = "Times-Roman" +fontcolor = "black" +dir = "back" +color = "black" +]; +} diff --git a/graphs/directed/polypoly.dot b/graphs/directed/polypoly.dot new file mode 100644 index 000000000..9c84114ff --- /dev/null +++ b/graphs/directed/polypoly.dot @@ -0,0 +1,162 @@ +digraph polypoly { + + size="7,9.5"; + page="8.5,11"; + ratio=fill; + node [shape=polygon]; + + { rank=same; + node [sides=0]; + node [peripheries=1]; + 0000 [label="M"]; + 0001 [label="MMMMMMMMMM"]; + 0002 [label="M\nM\nM\nM\nM\nM"]; + 0003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + node [peripheries=2]; + 0010 [label="M"]; + 0011 [label="MMMMMMMMMM"]; + 0012 [label="M\nM\nM\nM\nM\nM"]; + 0013 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + node [distortion=-.3]; + 0110 [label="M"]; + 0111 [label="MMMMMMMMMM"]; + 0112 [label="M\nM\nM\nM\nM\nM"]; + 0113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + } + { rank=same; + node [sides=3]; + node [peripheries=1]; + node [orientation=0]; + 3000 [label="M"]; + 3001 [label="MMMMMMMMMM"]; + 3002 [label="M\nM\nM\nM\nM\nM"]; + 3003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + node [peripheries=2]; + node [orientation=60]; + 3110 [label="M"]; + 3111 [label="MMMMMMMMMM"]; + 3112 [label="M\nM\nM\nM\nM\nM"]; + 3113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + } + 3000->0000; + { rank=same; + node [sides=4]; + node [peripheries=1]; + node [orientation=0]; + 4000 [label="M"]; + 4001 [label="MMMMMMMMMM"]; + 4002 [label="M\nM\nM\nM\nM\nM"]; + 4003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + node [peripheries=2]; + node [orientation=45]; + 4110 [label="M"]; + 4111 [label="MMMMMMMMMM"]; + 4112 [label="M\nM\nM\nM\nM\nM"]; + 4113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + } + 4000->3000; + { rank=same; + node [sides=5]; + node [peripheries=1]; + node [orientation=0]; + 5000 [label="M"]; + 5001 [label="MMMMMMMMMM"]; + 5002 [label="M\nM\nM\nM\nM\nM"]; + 5003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + node [peripheries=2]; + node [orientation=36]; + 5110 [label="M"]; + 5111 [label="MMMMMMMMMM"]; + 5112 [label="M\nM\nM\nM\nM\nM"]; + 5113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + } + 5000->4000; + { rank=same; + node [sides=6]; + node [peripheries=1]; + node [orientation=0]; + 6000 [label="M"]; + 6001 [label="MMMMMMMMMM"]; + 6002 [label="M\nM\nM\nM\nM\nM"]; + 6003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + node [peripheries=2]; + node [orientation=30]; + 6110 [label="M"]; + 6111 [label="MMMMMMMMMM"]; + 6112 [label="M\nM\nM\nM\nM\nM"]; + 6113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + } + 6000->5000; + { rank=same; + node [sides=7]; + node [peripheries=1]; + node [orientation=0]; + 7000 [label="M"]; + 7001 [label="MMMMMMMMMM"]; + 7002 [label="M\nM\nM\nM\nM\nM"]; + 7003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + node [peripheries=2]; + node [orientation=25.7]; + 7110 [label="M"]; + 7111 [label="MMMMMMMMMM"]; + 7112 [label="M\nM\nM\nM\nM\nM"]; + 7113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + } + 7000->6000; + { rank=same; + node [sides=8]; + node [peripheries=1]; + node [orientation=0]; + 8000 [label="M"]; + 8001 [label="MMMMMMMMMM"]; + 8002 [label="M\nM\nM\nM\nM\nM"]; + 8003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + node [peripheries=2]; + node [orientation=22.5]; + 8110 [label="M"]; + 8111 [label="MMMMMMMMMM"]; + 8112 [label="M\nM\nM\nM\nM\nM"]; + 8113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"]; + } + 8000->7000; + { rank=same; + node [sides=4]; + node [peripheries=1]; + node [regular=1]; + node [distortion=.5]; + node [orientation=0]; + 9000 [label="M"]; + node [orientation=45.]; + 9001 [label="M"]; + node [orientation=90.]; + 9002 [label="M"]; + node [orientation=135.]; + 9003 [label="M"]; + node [orientation=180.]; + 9004 [label="M"]; + node [orientation=225.]; + 9005 [label="M"]; + node [orientation=270.]; + 9006 [label="M"]; + node [orientation=315.]; + 9007 [label="M"]; + node [peripheries=2]; + node [orientation=0]; + 9010 [label="M"]; + node [orientation=45.]; + 9011 [label="M"]; + node [orientation=90.]; + 9012 [label="M"]; + node [orientation=135.]; + 9013 [label="M"]; + node [orientation=180.]; + 9014 [label="M"]; + node [orientation=225.]; + 9015 [label="M"]; + node [orientation=270.]; + 9016 [label="M"]; + node [orientation=315.]; + 9017 [label="M"]; + } + 9000->8000; +} diff --git a/graphs/directed/proc3d.dot b/graphs/directed/proc3d.dot new file mode 100644 index 000000000..5c7714894 --- /dev/null +++ b/graphs/directed/proc3d.dot @@ -0,0 +1,443 @@ +digraph g { +graph [ +fontname=Courier, +fontsize=24, +ranksep = 1.0, +size="10,7.5", +orientation=land, +style="setlinewidth(8)" +page = "8.5,11", +center=true +]; +node [ +shape = "box" +width = "0.5" +]; +edge [ +]; +subgraph cluster_0 { +label="gryphon" +"22342" +"22343" +"22346" +"22347" +"22351" +"22344" +"22345" +"22348" +"22350" +"22357" +} +subgraph cluster_1 { +label=toucan +"22349" +"22352" +"22356" +"22361" +"22369" +"22353" +"22355" +"22360" +"22365" +"22374" +} +subgraph cluster_2 { +label=parker +"22354" +"22359" +"22375" +} +subgraph cluster_3 { +label=condor +"22358" +"22362" +"22367" +"22373" +"22378" +} +subgraph cluster_4 { +label=kite +"22363" +"22366" +"22371" +"22376" +"22380" +} +subgraph cluster_5 { +label=coot +"22368" +"22372" +"22377" +"22379" +"22381" +} +"22316" [ +label = "22316\nksh" +pname = "ksh" +kind = "proc" +]; +"22324" [ +label = "22324\nnmake" +pname = "nmake" +kind = "proc" +]; +"22337" [ +label = "22337\nksh" +pname = "ksh" +kind = "proc" +]; +"22342" [ +label = "22342\nksh" +pname = "ksh" +kind = "proc" +]; +"22343" [ +label = "22343\ngcc" +pname = "gcc" +kind = "proc" +]; +"22344" [ +label = "22344\nksh" +pname = "ksh" +kind = "proc" +]; +"22345" [ +label = "22345\ngcc" +pname = "gcc" +kind = "proc" +]; +"22346" [ +label = "22346\ncpp" +pname = "cpp" +kind = "proc" +]; +"22347" [ +label = "22347\ncc1" +pname = "cc1" +kind = "proc" +]; +"22348" [ +label = "22348\ncpp" +pname = "cpp" +kind = "proc" +]; +"93736-32246" [ +label = "93736-32246\n/home/ek/work/src/lefty/lefty.c" +fname = "/home/ek/work/src/lefty/lefty.c" +shape = "ellipse" +kind = "file" +]; +"22349" [ +label = "22349\nksh" +pname = "ksh" +kind = "proc" +]; +"22350" [ +label = "22350\ncc1" +pname = "cc1" +kind = "proc" +]; +"93627-32246" [ +label = "93627-32246\n/home/ek/work/src/lefty/gfxview.c" +fname = "/home/ek/work/src/lefty/gfxview.c" +shape = "ellipse" +kind = "file" +]; +"22351" [ +label = "22351\nas" +pname = "as" +kind = "proc" +]; +"22352" [ +label = "22352\ngcc" +pname = "gcc" +kind = "proc" +]; +"22353" [ +label = "22353\nksh" +pname = "ksh" +kind = "proc" +]; +"22354" [ +label = "22354\nksh" +pname = "ksh" +kind = "proc" +]; +"22355" [ +label = "22355\ngcc" +pname = "gcc" +kind = "proc" +]; +"22356" [ +label = "22356\ncpp" +pname = "cpp" +kind = "proc" +]; +"22357" [ +label = "22357\nas" +pname = "as" +kind = "proc" +]; +"22358" [ +label = "22358\nksh" +pname = "ksh" +kind = "proc" +]; +"22359" [ +label = "22359\ngcc" +pname = "gcc" +kind = "proc" +]; +"22360" [ +label = "22360\ncpp" +pname = "cpp" +kind = "proc" +]; +"22361" [ +label = "22361\ncc1" +pname = "cc1" +kind = "proc" +]; +"93645-32246" [ +label = "93645-32246\n/home/ek/work/src/lefty/txtview.c" +fname = "/home/ek/work/src/lefty/txtview.c" +shape = "ellipse" +kind = "file" +]; +"22362" [ +label = "22362\ngcc" +pname = "gcc" +kind = "proc" +]; +"22363" [ +label = "22363\nksh" +pname = "ksh" +kind = "proc" +]; +"22365" [ +label = "22365\ncc1" +pname = "cc1" +kind = "proc" +]; +"22366" [ +label = "22366\ngcc" +pname = "gcc" +kind = "proc" +]; +"93638-32246" [ +label = "93638-32246\n/home/ek/work/src/lefty/internal.c" +fname = "/home/ek/work/src/lefty/internal.c" +shape = "ellipse" +kind = "file" +]; +"22367" [ +label = "22367\ncpp" +pname = "cpp" +kind = "proc" +]; +"22368" [ +label = "22368\nksh" +pname = "ksh" +kind = "proc" +]; +"22369" [ +label = "22369\nas" +pname = "as" +kind = "proc" +]; +"93642-32246" [ +label = "93642-32246\n/home/ek/work/src/lefty/lex.c" +fname = "/home/ek/work/src/lefty/lex.c" +shape = "ellipse" +kind = "file" +]; +"22371" [ +label = "22371\ncpp" +pname = "cpp" +kind = "proc" +]; +"22372" [ +label = "22372\ngcc" +pname = "gcc" +kind = "proc" +]; +"22373" [ +label = "22373\ncc1" +pname = "cc1" +kind = "proc" +]; +"88860-32246" [ +label = "88860-32246\n/home/ek/dev/src/lefty/stringify.c" +fname = "/home/ek/dev/src/lefty/stringify.c" +shape = "ellipse" +kind = "file" +]; +"22374" [ +label = "22374\nas" +pname = "as" +kind = "proc" +]; +"22375" [ +label = "22375\nas" +pname = "as" +kind = "proc" +]; +"22376" [ +label = "22376\ncc1" +pname = "cc1" +kind = "proc" +]; +"93626-32246" [ +label = "93626-32246\n/home/ek/work/src/lefty/exec.c" +fname = "/home/ek/work/src/lefty/exec.c" +shape = "ellipse" +kind = "file" +]; +"22377" [ +label = "22377\ncpp" +pname = "cpp" +kind = "proc" +]; +"22378" [ +label = "22378\nas" +pname = "as" +kind = "proc" +]; +"22379" [ +label = "22379\ncc1" +pname = "cc1" +kind = "proc" +]; +"93643-32246" [ +label = "93643-32246\n/home/ek/work/src/lefty/parse.c" +fname = "/home/ek/work/src/lefty/parse.c" +shape = "ellipse" +kind = "file" +]; +"22380" [ +label = "22380\nas" +pname = "as" +kind = "proc" +]; +"22381" [ +label = "22381\nas" +pname = "as" +kind = "proc" +]; +"37592-32246" [ +label = "37592-32246\n/home/ek/dev/src/lefty/exec.h" +fname = "/home/ek/dev/src/lefty/exec.h" +shape = "ellipse" +kind = "file" +]; +"135504-32246" [ +label = "135504-32246\n/home/ek/work/sun4/lefty/display.o" +fname = "/home/ek/work/sun4/lefty/display.o" +shape = "ellipse" +kind = "file" +]; +"22316" -> "22324" [ +]; +"22324" -> "22337" [ +]; +"22337" -> "22342" [ +]; +"22342" -> "22343" [ +]; +"22337" -> "22344" [ +]; +"22344" -> "22345" [ +]; +"22343" -> "22346" [ +]; +"22343" -> "22347" [ +]; +"22345" -> "22348" [ +]; +"22346" -> "93736-32246" [ +]; +"22337" -> "22349" [ +]; +"22345" -> "22350" [ +]; +"22348" -> "93627-32246" [ +]; +"22343" -> "22351" [ +]; +"22349" -> "22352" [ +]; +"22337" -> "22353" [ +]; +"22337" -> "22354" [ +]; +"22353" -> "22355" [ +]; +"22352" -> "22356" [ +]; +"22345" -> "22357" [ +]; +"22337" -> "22358" [ +]; +"22354" -> "22359" [ +]; +"22355" -> "22360" [ +]; +"22352" -> "22361" [ +]; +"22356" -> "93645-32246" [ +]; +"22358" -> "22362" [ +]; +"22337" -> "22363" [ +]; +"22355" -> "22365" [ +]; +"22363" -> "22366" [ +]; +"22360" -> "93638-32246" [ +]; +"22362" -> "22367" [ +]; +"22337" -> "22368" [ +]; +"22352" -> "22369" [ +]; +"22324" -> "93642-32246" [ +]; +"22366" -> "22371" [ +]; +"22368" -> "22372" [ +]; +"22362" -> "22373" [ +]; +"22367" -> "88860-32246" [ +]; +"22355" -> "22374" [ +]; +"22359" -> "22375" [ +]; +"22366" -> "22376" [ +]; +"22371" -> "93626-32246" [ +]; +"22372" -> "22377" [ +]; +"22362" -> "22378" [ +]; +"22372" -> "22379" [ +]; +"22377" -> "93643-32246" [ +]; +"22366" -> "22380" [ +]; +"22372" -> "22381" [ +]; +"22371" -> "37592-32246" [ +]; +"22375" -> "135504-32246" [ +]; + +/* hack to increase node separation */ +{ rank = same; "22337" -> "93642-32246" [style=invis,minlen=10]; } + +} diff --git a/graphs/directed/record2.dot b/graphs/directed/record2.dot new file mode 100644 index 000000000..7e393c0a1 --- /dev/null +++ b/graphs/directed/record2.dot @@ -0,0 +1,6 @@ +digraph G { + node [shape=record]; + a [label = " foo | x | bar"]; + b [label = "a | { foo | x | bar } | b"]; + a:f0 -> b:f1 +} diff --git a/graphs/directed/records.dot b/graphs/directed/records.dot new file mode 100644 index 000000000..038edfbc0 --- /dev/null +++ b/graphs/directed/records.dot @@ -0,0 +1,17 @@ +digraph G { + rankdir=LR; + node [shape=record]; + a [ label =" Graphs can\lbe fun\l| mid| right"]; + b [ label =" | b | " ]; + c [ label =" | c | " ]; + x [ label =" | x | " ]; + y [ label =" | y | " ]; + z [ label =" | z | " ]; + a:bala -> b:left; + a:f1 -> d; + a:f2 -> y:"p1"; + c:"p1" -> d; + b:mid -> x:"p1"; + c:"p2" -> y:"p2"; + b:left -> z:"p2"; +} diff --git a/graphs/directed/rowe.dot b/graphs/directed/rowe.dot new file mode 100644 index 000000000..29eb3275c --- /dev/null +++ b/graphs/directed/rowe.dot @@ -0,0 +1,72 @@ +digraph rowe { + node [shape = box]; + size = "6,6"; + 1 -> 2; + 1 -> 10; + 10 -> 14; + 10 -> 12; + 10 -> 13; + 10 -> 11; + 2 -> 18; + 2 -> 17; + 2 -> 16; + 2 -> 3; + 11 -> 4; + 16 -> 4; + 3 -> 4; + 4 -> 5; + 13 -> 19; + 17 -> 19; + 5 -> 23; + 5 -> 35; + 5 -> 6; + 37 -> 39; + 37 -> 41; + 37 -> 40; + 37 -> 38; + 19 -> 20; + 19 -> 28; + 19 -> 21; + 12 -> 29; + 18 -> 29; + 41 -> 29; + 28 -> 29; + 29 -> 30; + 30 -> 31; + 30 -> 33; + 31 -> 32; + 21 -> 22; + 32 -> 23; + 22 -> 23; + 6 -> 7; + 23 -> 24; + 7 -> 8; + 24 -> 25; + 24 -> 27; + 35 -> 43; + 35 -> 36; + 8 -> 9; + 14 -> 15; + 39 -> 15; + 20 -> 15; + 33 -> 34; + 43 -> 40; + 43 -> 38; + 25 -> 26; + 9 -> 42; + 10 -> 1; + 15 -> 1; + 23 -> 1; + 31 -> 1; + 2 -> 1; + 25 -> 1; + 9 -> 1; + 38 -> 4; + 26 -> 4; + 42 -> 4; + 40 -> 19; + 36 -> 19; + 34 -> 29; + 33 -> 30; + 27 -> 24; +} diff --git a/graphs/directed/sdh.dot b/graphs/directed/sdh.dot new file mode 100644 index 000000000..38e1434e4 --- /dev/null +++ b/graphs/directed/sdh.dot @@ -0,0 +1,284 @@ +digraph G { + graph [bgcolor=black]; /* set background */ + edge [color=white]; + graph[page="8.5,11",size="7.5,7",ratio=fill,center=1]; + node[style=filled,label=""]; + subgraph ds3CTP { + rank = same; + node[shape=box,color=green]; + ds3CTP_1_1; + ds3CTP_1_2; + ds3CTP_5_1; + ds3CTP_5_2; + } + subgraph t3TTP { + rank = same; + node[shape=invtriangle,color=red]; + t3TTP_1_1; + t3TTP_5_2; + } + subgraph vc3TTP { + rank = same; + node[shape=invtriangle,color=red]; + vc3TTP_1_2; + vc3TTP_5_1; + } + subgraph fabric { + rank = same; + node[shape=hexagon,color=blue]; + fabric_1_2; + fabric_4_1; + fabric_5_1; + } + subgraph xp { + rank = same; + node[shape=diamond,color=blue]; + xp_1_2; + xp_4_1; + xp_5_1; + } + subgraph au3CTP { + rank = same; + node[shape=box,color=green]; + au3CTP_1_2; + au3CTP_4_1; + au3CTP_4_2; + au3CTP_5_1; + } + subgraph aug { + rank = same; + node[shape=invtrapezium,color=pink]; + aug_1_2; + aug_4_1; + aug_4_2; + aug_5_1; + } + subgraph protectionTTP { + rank = same; + node[shape=invtriangle,color=red]; + prTTP_1_2; + prTTP_4_1; + prTTP_4_2; + prTTP_5_1; + } + subgraph protectionGroup { + rank = same; + node[shape=hexagon,color=blue]; + pg_1_2; + pg_4_1; + pg_4_2; + pg_5_1; + } + subgraph protectionUnit { + rank = same; + node[shape=diamond,color=blue]; + pu_1_2; + pu_4_1; + pu_4_2; + pu_5_1; + } + subgraph protectionCTP { + node[shape=box,color=green]; + prCTP_1_2; + prCTP_4_1; + prCTP_4_2; + prCTP_5_1; + } + subgraph msTTP { + rank = same; + node[shape=invtriangle,color=red]; + msTTP_1_2; + msTTP_4_1; + msTTP_4_2; + msTTP_5_1; + } + subgraph msCTP { + rank = same; + node[shape=box,color=green]; + msCTP_1_2; + msCTP_3_1; + msCTP_3_2; + msCTP_4_1; + msCTP_4_2; + msCTP_5_1; + } + subgraph rsTTP { + rank = same; + node[shape=invtriangle,color=red]; + rsTTP_1_2; + rsTTP_3_1; + rsTTP_3_2; + rsTTP_4_1; + rsTTP_4_2; + rsTTP_5_1; + } + subgraph rsCTP { + rank = same; + node[shape=box,color=green]; + rsCTP_1_2; + rsCTP_2_1; + rsCTP_2_2; + rsCTP_3_1; + rsCTP_3_2; + rsCTP_4_1; + rsCTP_4_2; + rsCTP_5_1; + } + subgraph spiTTP { + rank = same; + node[shape=invtriangle,color=red]; + spiTTP_1_2; + spiTTP_2_1; + spiTTP_2_2; + spiTTP_3_1; + spiTTP_3_2; + spiTTP_4_1; + spiTTP_4_2; + spiTTP_5_1; + } + subgraph me { + rank = same; + node[shape=box,peripheries=2]; + me_1; + me_2; + me_3; + me_4; + me_5; + } + subgraph client_server { + edge[style=dotted,dir=none,weight=100]; + ds3CTP_1_1->t3TTP_1_1; + ds3CTP_1_2->vc3TTP_1_2; + au3CTP_1_2->aug_1_2->prTTP_1_2; + prCTP_1_2->msTTP_1_2; + msCTP_1_2->rsTTP_1_2; + rsCTP_1_2->spiTTP_1_2; + rsCTP_2_1->spiTTP_2_1; + rsCTP_2_2->spiTTP_2_2; + msCTP_3_1->rsTTP_3_1; + rsCTP_3_1->spiTTP_3_1; + msCTP_3_2->rsTTP_3_2; + rsCTP_3_2->spiTTP_3_2; + au3CTP_4_1->aug_4_1->prTTP_4_1; + prCTP_4_1->msTTP_4_1; + msCTP_4_1->rsTTP_4_1; + rsCTP_4_1->spiTTP_4_1; + au3CTP_4_2->aug_4_2->prTTP_4_2; + prCTP_4_2->msTTP_4_2; + msCTP_4_2->rsTTP_4_2; + rsCTP_4_2->spiTTP_4_2; + ds3CTP_5_1->vc3TTP_5_1; + au3CTP_5_1->aug_5_1->prTTP_5_1; + prCTP_5_1->msTTP_5_1; + msCTP_5_1->rsTTP_5_1; + rsCTP_5_1->spiTTP_5_1; + ds3CTP_5_2->t3TTP_5_2; + } + subgraph trail { + edge[style=dashed,dir=none]; + vc3TTP_1_2->vc3TTP_5_1; + prTTP_1_2->prTTP_4_1; + prTTP_4_2->prTTP_5_1; + msTTP_1_2->msTTP_4_1; + msTTP_4_2->msTTP_5_1; + rsTTP_1_2->rsTTP_3_1; + rsTTP_3_2->rsTTP_4_1; + rsTTP_4_2->rsTTP_5_1; + spiTTP_1_2->spiTTP_2_1; + spiTTP_2_2->spiTTP_3_1; + spiTTP_3_2->spiTTP_4_1; + spiTTP_4_2->spiTTP_5_1; + } + subgraph contain { + pu_1_2->pg_1_2; + pu_4_1->pg_4_1; + pu_4_2->pg_4_2; + pu_5_1->pg_5_1; + xp_1_2->fabric_1_2; + xp_4_1->fabric_4_1; + xp_5_1->fabric_5_1; + fabric_1_2->me_1; + fabric_4_1->me_4; + fabric_5_1->me_5; + pg_1_2->me_1; + pg_4_1->me_4; + pg_4_2->me_4; + pg_5_1->me_5; + t3TTP_1_1->me_1; + t3TTP_5_2->me_5; + vc3TTP_1_2->me_1; + vc3TTP_5_1->me_5; + prTTP_1_2->me_1; + prTTP_4_1->me_4; + prTTP_4_2->me_4; + prTTP_5_1->me_5; + msTTP_1_2->me_1; + msTTP_4_1->me_4; + msTTP_4_2->me_4; + msTTP_5_1->me_5; + rsTTP_1_2->me_1; + rsTTP_3_1->me_3; + rsTTP_3_2->me_3; + rsTTP_4_1->me_4; + rsTTP_4_2->me_4; + rsTTP_5_1->me_5; + spiTTP_1_2->me_1; + spiTTP_2_1->me_2; + spiTTP_2_2->me_2; + spiTTP_3_1->me_3; + spiTTP_3_2->me_3; + spiTTP_4_1->me_4; + spiTTP_4_2->me_4; + spiTTP_5_1->me_5; + } + subgraph connectedBy { + vc3TTP_1_2->fabric_1_2; + au3CTP_1_2->fabric_1_2; + au3CTP_4_1->fabric_4_1; + au3CTP_4_2->fabric_4_1; + vc3TTP_5_1->fabric_5_1; + au3CTP_5_1->fabric_5_1; + prTTP_1_2->pg_1_2; + prTTP_4_1->pg_4_1; + prTTP_4_2->pg_4_2; + prTTP_5_1->pg_5_1; + prCTP_1_2->pg_1_2; + prCTP_4_1->pg_4_1; + prCTP_4_2->pg_4_2; + prCTP_5_1->pg_5_1; + } + subgraph crossConnection { + edge[style=dotted,dir=none]; + vc3TTP_1_2->xp_1_2->au3CTP_1_2; + prTTP_1_2->pu_1_2->prCTP_1_2; + prTTP_4_1->pu_4_1->prCTP_4_1; + au3CTP_4_1->xp_4_1->au3CTP_4_2; + prTTP_4_2->pu_4_2->prCTP_4_2; + prTTP_5_1->pu_5_1->prCTP_5_1; + vc3TTP_5_1->xp_5_1->au3CTP_5_1; + } + subgraph bindingConnection { + edge[style=bold,dir=none,weight=100]; + ds3CTP_1_1->ds3CTP_1_2; + vc3TTP_1_2->au3CTP_1_2; + prTTP_1_2->prCTP_1_2; + msTTP_1_2->msCTP_1_2; + rsTTP_1_2->rsCTP_1_2; + rsCTP_2_1->rsCTP_2_2; + rsTTP_3_1->rsCTP_3_1; + msCTP_3_1->msCTP_3_2; + rsTTP_3_2->rsCTP_3_2; + prTTP_4_1->prCTP_4_1; + msTTP_4_1->msCTP_4_1; + rsTTP_4_1->rsCTP_4_1; + au3CTP_4_1->au3CTP_4_2; + prTTP_4_2->prCTP_4_2; + msTTP_4_2->msCTP_4_2; + rsTTP_4_2->rsCTP_4_2; + prTTP_5_1->prCTP_5_1; + msTTP_5_1->msCTP_5_1; + rsTTP_5_1->rsCTP_5_1; + ds3CTP_5_1->ds3CTP_5_2; + vc3TTP_5_1->au3CTP_5_1; + } +} diff --git a/graphs/directed/shells.dot b/graphs/directed/shells.dot new file mode 100644 index 000000000..c68458e30 --- /dev/null +++ b/graphs/directed/shells.dot @@ -0,0 +1,55 @@ +digraph shells { + size="7,8"; + node [fontsize=24, shape = plaintext]; + + 1972 -> 1976; + 1976 -> 1978; + 1978 -> 1980; + 1980 -> 1982; + 1982 -> 1984; + 1984 -> 1986; + 1986 -> 1988; + 1988 -> 1990; + 1990 -> future; + + node [fontsize=20, shape = box]; + { rank=same; 1976 Mashey Bourne; } + { rank=same; 1978 Formshell csh; } + { rank=same; 1980 esh vsh; } + { rank=same; 1982 ksh "System-V"; } + { rank=same; 1984 v9sh tcsh; } + { rank=same; 1986 "ksh-i"; } + { rank=same; 1988 KornShell Perl rc; } + { rank=same; 1990 tcl Bash; } + { rank=same; "future" POSIX "ksh-POSIX"; } + + Thompson -> Mashey; + Thompson -> Bourne; + Thompson -> csh; + csh -> tcsh; + Bourne -> ksh; + Bourne -> esh; + Bourne -> vsh; + Bourne -> "System-V"; + Bourne -> v9sh; + v9sh -> rc; + Bourne -> Bash; + "ksh-i" -> Bash; + KornShell -> Bash; + esh -> ksh; + vsh -> ksh; + Formshell -> ksh; + csh -> ksh; + KornShell -> POSIX; + "System-V" -> POSIX; + ksh -> "ksh-i"; + "ksh-i" -> KornShell; + KornShell -> "ksh-POSIX"; + Bourne -> Formshell; + + edge [style=invis]; + 1984 -> v9sh -> tcsh ; + 1988 -> rc -> KornShell; + Formshell -> csh; + KornShell -> Perl; +} diff --git a/graphs/directed/states.dot b/graphs/directed/states.dot new file mode 100644 index 000000000..758abc901 --- /dev/null +++ b/graphs/directed/states.dot @@ -0,0 +1,21 @@ +/* +The command line is + + dot -Tps -Grankdir=LR states.dot > states.ps + +and the file is: +*/ +digraph states { + size="3,2"; + rankdir=LR; + node [shape=ellipse]; + empty [label = "Empty"]; + stolen [label = "Stolen"]; + waiting [label = "Waiting"]; + full [label = "Full"]; + empty -> full [label = "return"] + empty -> stolen [label = "dispatch", wt=28] + stolen -> full [label = "return"]; + stolen -> waiting [label = "touch"]; + waiting -> full [label = "return"]; + } diff --git a/graphs/directed/structs.dot b/graphs/directed/structs.dot new file mode 100644 index 000000000..ab83312e6 --- /dev/null +++ b/graphs/directed/structs.dot @@ -0,0 +1,8 @@ +digraph structs { +node [shape=record]; + struct1 [shape=record,label=" left| middle| right"]; + struct2 [shape=record,label=" one| two"]; + struct3 [shape=record,label="hello\nworld |{ b |{c| d|e}| f}| g | h"]; + struct1:f1 -> struct2:f0; + struct1:f2 -> struct3:here; +} diff --git a/graphs/directed/switch.dot b/graphs/directed/switch.dot new file mode 100644 index 000000000..431ba48c5 --- /dev/null +++ b/graphs/directed/switch.dot @@ -0,0 +1,60 @@ +digraph G { + graph [center rankdir=LR bgcolor="#808080"] + edge [dir=none] + node [width=0.3 height=0.3 label=""] + { node [shape=circle style=invis] + 1 2 3 4 5 6 7 8 10 20 30 40 50 60 70 80 + } + { node [shape=circle] + a b c d e f g h i j k l m n o p q r s t u v w x + } + { node [shape=diamond] + A B C D E F G H I J K L M N O P Q R S T U V W X + } + 1 -> a -> {A B} [color="#0000ff"] + 2 -> b -> {B A} [color="#ff0000"] + 3 -> c -> {C D} [color="#ffff00"] + 4 -> d -> {D C} [color="#00ff00"] + 5 -> e -> {E F} [color="#000000"] + 6 -> f -> {F E} [color="#00ffff"] + 7 -> g -> {G H} [color="#ffffff"] + 8 -> h -> {H G} [color="#ff00ff"] + { edge [color="#ff0000:#0000ff"] + A -> i -> {I K} + B -> j -> {J L} + } + { edge [color="#00ff00:#ffff00"] + C -> k -> {K I} + D -> l -> {L J} + } + { edge [color="#00ffff:#000000"] + E -> m -> {M O} + F -> n -> {N P} + } + { edge [color="#ff00ff:#ffffff"] + G -> o -> {O M} + H -> p -> {P N} + } + { edge [color="#00ff00:#ffff00:#ff0000:#0000ff"] + I -> q -> {Q U} + J -> r -> {R V} + K -> s -> {S W} + L -> t -> {T X} + } + { edge [color="#ff00ff:#ffffff:#00ffff:#000000"] + M -> u -> {U Q} + N -> v -> {V R} + O -> w -> {W S} + P -> x -> {X T} + } + { edge [color="#ff00ff:#ffffff:#00ffff:#000000:#00ff00:#ffff00:#ff0000:#0000ff"] + Q -> 10 + R -> 20 + S -> 30 + T -> 40 + U -> 50 + V -> 60 + W -> 70 + X -> 80 + } +} diff --git a/graphs/directed/table.dot b/graphs/directed/table.dot new file mode 100644 index 000000000..2a81d9fc4 --- /dev/null +++ b/graphs/directed/table.dot @@ -0,0 +1,57 @@ +digraph structs { + node [shape=plaintext]; + + struct1 [label=< + + + + + +
abc
>]; + + struct2 [label=< + + + + + + + + + +
elefanteltwo
+ + + + + + + +
buca
c
f
patratos
4
+ >]; + + struct3 [label=< + + + + + + + + + +
Hello + + + + + + + + + +
b
adinoy
rhino
climbUp
low
>]; + + struct1 -> struct3; + struct1 -> struct2; +} diff --git a/graphs/directed/train11.dot b/graphs/directed/train11.dot new file mode 100644 index 000000000..710645d71 --- /dev/null +++ b/graphs/directed/train11.dot @@ -0,0 +1,30 @@ +digraph G { + size="6,6"; + node [shape=circle,fontsize=8]; + rankdir=LR; + st9 -> st9 [label="11/1"]; + st9 -> st10 [label="10/1"]; + st8 -> st8 [label="10/1"]; + st8 -> st0 [label="00/-"]; + st7 -> st8 [label="10/1"]; + st7 -> st7 [label="00/1"]; + st6 -> st6 [label="01/1"]; + st6 -> st0 [label="00/-"]; + st5 -> st6 [label="01/1"]; + st5 -> st5 [label="11/1"]; + st4 -> st4 [label="01/1"]; + st4 -> st0 [label="00/-"]; + st3 -> st4 [label="01/1"]; + st3 -> st3 [label="00/1"]; + st2 -> st9 [label="11/1"]; + st2 -> st7 [label="00/1"]; + st2 -> st2 [label="01/1"]; + st10 -> st10 [label="10/1"]; + st10 -> st0 [label="00/-"]; + st1 -> st5 [label="11/1"]; + st1 -> st3 [label="00/1"]; + st1 -> st1 [label="10/1"]; + st0 -> st2 [label="01/-"]; + st0 -> st1 [label="10/-"]; + st0 -> st0 [label="00/0"]; +} diff --git a/graphs/directed/trapeziumlr.dot b/graphs/directed/trapeziumlr.dot new file mode 100644 index 000000000..ccd3c42a3 --- /dev/null +++ b/graphs/directed/trapeziumlr.dot @@ -0,0 +1,79 @@ +digraph test { + + size="7,9.5"; + page="8,10.5"; + ratio=fill; + rankdir=LR; + + { rank=same; + node [shape=house]; + A;C;E;G;I;K;M;O;Q;S;U;W;Y; + node [shape=invhouse]; + B;D;F;H;J;L;N;P;R;T;V;X;Z; + } + + { rank=same; + node [shape=trapezium]; + "Trapezium"; + ordering=out; + } + + Trapezium -> A; + Trapezium -> B; + Trapezium -> C; + Trapezium -> D; + Trapezium -> E; + Trapezium -> F; + Trapezium -> G; + Trapezium -> H; + Trapezium -> I; + Trapezium -> J; + Trapezium -> K; + Trapezium -> L; + Trapezium -> M; + Trapezium -> N; + Trapezium -> O; + Trapezium -> P; + Trapezium -> Q; + Trapezium -> R; + Trapezium -> S; + Trapezium -> T; + Trapezium -> U; + Trapezium -> V; + Trapezium -> W; + Trapezium -> X; + Trapezium -> Y; + Trapezium -> Z; + + { rank=same; + node [shape=parallelogram]; + a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z; + } + + a -> Trapezium; + b -> Trapezium; + c -> Trapezium; + d -> Trapezium; + e -> Trapezium; + f -> Trapezium; + g -> Trapezium; + h -> Trapezium; + i -> Trapezium; + j -> Trapezium; + k -> Trapezium; + l -> Trapezium; + m -> Trapezium; + n -> Trapezium; + o -> Trapezium; + p -> Trapezium; + q -> Trapezium; + r -> Trapezium; + s -> Trapezium; + t -> Trapezium; + u -> Trapezium; + v -> Trapezium; + w -> Trapezium; + x -> Trapezium; + y -> Trapezium; + z -> Trapezium; +} diff --git a/graphs/directed/tree.dot b/graphs/directed/tree.dot new file mode 100644 index 000000000..6d2c60cce --- /dev/null +++ b/graphs/directed/tree.dot @@ -0,0 +1,20 @@ +digraph g { +node [shape = record,height=.1]; +node0[label = " | G| "]; +node1[label = " | E| "]; +node2[label = " | B| "]; +node3[label = " | F| "]; +node4[label = " | R| "]; +node5[label = " | H| "]; +node6[label = " | Y| "]; +node7[label = " | A| "]; +node8[label = " | C| "]; +"node0":f2 -> "node4":f1; +"node0":f0 -> "node1":f1; +"node1":f0 -> "node2":f1; +"node1":f2 -> "node3":f1; +"node2":f2 -> "node8":f1; +"node2":f0 -> "node7":f1; +"node4":f2 -> "node6":f1; +"node4":f0 -> "node5":f1; +} diff --git a/graphs/directed/triedds.dot b/graphs/directed/triedds.dot new file mode 100644 index 000000000..e68eb33e2 --- /dev/null +++ b/graphs/directed/triedds.dot @@ -0,0 +1,114 @@ +digraph g { +graph [ +rankdir = "LR" +]; +node [ +fontsize = "16" +shape = "ellipse" +]; +edge [ +]; +"node0" [ +label = " 0x10ba8| " +shape = "record" +]; +"node1" [ +label = " 0xf7fc4380| | |-1" +shape = "record" +]; +"node2" [ +label = " 0xf7fc44b8| | |2" +shape = "record" +]; +"node3" [ +label = " 3.43322790286038071e-06|44.79998779296875|0" +shape = "record" +]; +"node4" [ +label = " 0xf7fc4380| | |2" +shape = "record" +]; +"node5" [ +label = " (nil)| | |-1" +shape = "record" +]; +"node6" [ +label = " 0xf7fc4380| | |1" +shape = "record" +]; +"node7" [ +label = " 0xf7fc4380| | |2" +shape = "record" +]; +"node8" [ +label = " (nil)| | |-1" +shape = "record" +]; +"node9" [ +label = " (nil)| | |-1" +shape = "record" +]; +"node10" [ +label = " (nil)| | |-1" +shape = "record" +]; +"node11" [ +label = " (nil)| | |-1" +shape = "record" +]; +"node12" [ +label = " 0xf7fc43e0| | |1" +shape = "record" +]; +"node0":f0 -> "node1":f0 [ +id = 0 +]; +"node0":f1 -> "node2":f0 [ +id = 1 +]; +"node1":f0 -> "node3":f0 [ +id = 2 +]; +"node1":f1 -> "node4":f0 [ +id = 3 +]; +"node1":f2 -> "node5":f0 [ +id = 4 +]; +"node4":f0 -> "node3":f0 [ +id = 5 +]; +"node4":f1 -> "node6":f0 [ +id = 6 +]; +"node4":f2 -> "node10":f0 [ +id = 7 +]; +"node6":f0 -> "node3":f0 [ +id = 8 +]; +"node6":f1 -> "node7":f0 [ +id = 9 +]; +"node6":f2 -> "node9":f0 [ +id = 10 +]; +"node7":f0 -> "node3":f0 [ +id = 11 +]; +"node7":f1 -> "node1":f0 [ +id = 12 +]; +"node7":f2 -> "node8":f0 [ +id = 13 +]; +"node10":f1 -> "node11":f0 [ +id = 14 +]; +"node10":f2 -> "node12":f0 [ +id = 15 +]; +"node11":f2 -> "node1":f0 [ +id = 16 +]; +} diff --git a/graphs/directed/try.dot b/graphs/directed/try.dot new file mode 100644 index 000000000..37bc82983 --- /dev/null +++ b/graphs/directed/try.dot @@ -0,0 +1,15 @@ +digraph G { + subgraph cluster_small { + a -> b; + label=small; + } + + subgraph cluster_big { + p -> q -> r -> s -> t; + label=big; + t -> p; + } + + t -> a; + b -> q; +} diff --git a/graphs/directed/unix.dot b/graphs/directed/unix.dot new file mode 100644 index 000000000..6de8f6dfb --- /dev/null +++ b/graphs/directed/unix.dot @@ -0,0 +1,53 @@ +/* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */ +digraph unix { +size="6,6"; + "5th Edition" -> "6th Edition"; + "5th Edition" -> "PWB 1.0"; + "6th Edition" -> "LSX"; + "6th Edition" -> "1 BSD"; + "6th Edition" -> "Mini Unix"; + "6th Edition" -> "Wollongong"; + "6th Edition" -> "Interdata"; + "Interdata" -> "Unix/TS 3.0"; + "Interdata" -> "PWB 2.0"; + "Interdata" -> "7th Edition"; + "7th Edition" -> "8th Edition"; + "7th Edition" -> "32V"; + "7th Edition" -> "V7M"; + "7th Edition" -> "Ultrix-11"; + "7th Edition" -> "Xenix"; + "7th Edition" -> "UniPlus+"; + "V7M" -> "Ultrix-11"; + "8th Edition" -> "9th Edition"; + "1 BSD" -> "2 BSD"; + "2 BSD" -> "2.8 BSD"; + "2.8 BSD" -> "Ultrix-11"; + "2.8 BSD" -> "2.9 BSD"; + "32V" -> "3 BSD"; + "3 BSD" -> "4 BSD"; + "4 BSD" -> "4.1 BSD"; + "4.1 BSD" -> "4.2 BSD"; + "4.1 BSD" -> "2.8 BSD"; + "4.1 BSD" -> "8th Edition"; + "4.2 BSD" -> "4.3 BSD"; + "4.2 BSD" -> "Ultrix-32"; + "PWB 1.0" -> "PWB 1.2"; + "PWB 1.0" -> "USG 1.0"; + "PWB 1.2" -> "PWB 2.0"; + "USG 1.0" -> "CB Unix 1"; + "USG 1.0" -> "USG 2.0"; + "CB Unix 1" -> "CB Unix 2"; + "CB Unix 2" -> "CB Unix 3"; + "CB Unix 3" -> "Unix/TS++"; + "CB Unix 3" -> "PDP-11 Sys V"; + "USG 2.0" -> "USG 3.0"; + "USG 3.0" -> "Unix/TS 3.0"; + "PWB 2.0" -> "Unix/TS 3.0"; + "Unix/TS 1.0" -> "Unix/TS 3.0"; + "Unix/TS 3.0" -> "TS 4.0"; + "Unix/TS++" -> "TS 4.0"; + "CB Unix 3" -> "TS 4.0"; + "TS 4.0" -> "System V.0"; + "System V.0" -> "System V.2"; + "System V.2" -> "System V.3"; +} diff --git a/graphs/directed/unix2.dot b/graphs/directed/unix2.dot new file mode 100644 index 000000000..25a74a5cf --- /dev/null +++ b/graphs/directed/unix2.dot @@ -0,0 +1,63 @@ +/* Courtesy of Ian Darwin + * and Geoff Collyer + * Mildly updated by Ian Darwin in 2000. + */ +digraph unix { + size="6,6"; + node [color=lightblue2, style=filled]; + "5th Edition" -> "6th Edition"; + "5th Edition" -> "PWB 1.0"; + "6th Edition" -> "LSX"; + "6th Edition" -> "1 BSD"; + "6th Edition" -> "Mini Unix"; + "6th Edition" -> "Wollongong"; + "6th Edition" -> "Interdata"; + "Interdata" -> "Unix/TS 3.0"; + "Interdata" -> "PWB 2.0"; + "Interdata" -> "7th Edition"; + "7th Edition" -> "8th Edition"; + "7th Edition" -> "32V"; + "7th Edition" -> "V7M"; + "7th Edition" -> "Ultrix-11"; + "7th Edition" -> "Xenix"; + "7th Edition" -> "UniPlus+"; + "V7M" -> "Ultrix-11"; + "8th Edition" -> "9th Edition"; + "9th Edition" -> "10th Edition"; + "1 BSD" -> "2 BSD"; + "2 BSD" -> "2.8 BSD"; + "2.8 BSD" -> "Ultrix-11"; + "2.8 BSD" -> "2.9 BSD"; + "32V" -> "3 BSD"; + "3 BSD" -> "4 BSD"; + "4 BSD" -> "4.1 BSD"; + "4.1 BSD" -> "4.2 BSD"; + "4.1 BSD" -> "2.8 BSD"; + "4.1 BSD" -> "8th Edition"; + "4.2 BSD" -> "4.3 BSD"; + "4.2 BSD" -> "Ultrix-32"; + "4.3 BSD" -> "4.4 BSD"; + "4.4 BSD" -> "FreeBSD"; + "4.4 BSD" -> "NetBSD"; + "4.4 BSD" -> "OpenBSD"; + "PWB 1.0" -> "PWB 1.2"; + "PWB 1.0" -> "USG 1.0"; + "PWB 1.2" -> "PWB 2.0"; + "USG 1.0" -> "CB Unix 1"; + "USG 1.0" -> "USG 2.0"; + "CB Unix 1" -> "CB Unix 2"; + "CB Unix 2" -> "CB Unix 3"; + "CB Unix 3" -> "Unix/TS++"; + "CB Unix 3" -> "PDP-11 Sys V"; + "USG 2.0" -> "USG 3.0"; + "USG 3.0" -> "Unix/TS 3.0"; + "PWB 2.0" -> "Unix/TS 3.0"; + "Unix/TS 1.0" -> "Unix/TS 3.0"; + "Unix/TS 3.0" -> "TS 4.0"; + "Unix/TS++" -> "TS 4.0"; + "CB Unix 3" -> "TS 4.0"; + "TS 4.0" -> "System V.0"; + "System V.0" -> "System V.2"; + "System V.2" -> "System V.3"; + "System V.3" -> "System V.4"; +} diff --git a/graphs/directed/viewfile.dot b/graphs/directed/viewfile.dot new file mode 100644 index 000000000..ec316d263 --- /dev/null +++ b/graphs/directed/viewfile.dot @@ -0,0 +1,64 @@ +digraph Viewfile { +node [ style = filled ]; +atoi [color=green]; +chkmalloc [color=green]; +close [color=green]; +error [color=blue]; +exit [color=blue]; +fclose [color=green]; +fgets [color=red]; +fopen [color=green]; +fprintf [color=blue]; +free [color=blue]; +free_list [color=blue]; +fstat [color=green]; +getopt [color=green]; +init_list [color=green]; +insert_list [color=green]; +main [color=green]; +makeargs [color=blue]; +makepairs [color=green]; +malloc [color=green]; +open [color=green]; +printf [color=red]; +read [color=green]; +rewind [color=green]; +viewline [color=green]; +viewlines [color=green]; +walk_list [color=green]; +write [color=green]; +fclose -> close [color=green]; +fgets -> fstat [color=green]; +fgets -> read [color=green]; +fopen -> open [color=green]; +printf -> write [color=green]; +main -> fgets [color=blue]; +main -> getopt [color=green]; +main -> makeargs [color=blue]; +main -> makepairs [color=green]; +main -> chkmalloc [color=green]; +main -> error [color=blue]; +main -> viewlines [color=green]; +makeargs -> chkmalloc [color=blue]; +makepairs -> atoi [color=green]; +makepairs -> init_list [color=green]; +makepairs -> insert_list [color=green]; +makepairs -> chkmalloc [color=green]; +free_list -> free [color=blue]; +init_list -> chkmalloc [color=green]; +insert_list -> chkmalloc [color=green]; +walk_list -> error [color=blue]; +walk_list -> viewline [color=green]; +chkmalloc -> malloc [color=green]; +chkmalloc -> error [color=blue]; +error -> exit [color=blue]; +error -> fprintf [color=blue]; +error -> error [color=blue]; +viewline -> fgets [color=red]; +viewline -> printf [color=red]; +viewline -> rewind [color=green]; +viewlines -> fclose [color=green]; +viewlines -> fopen [color=green]; +viewlines -> walk_list [color=green]; +viewlines -> viewline [color=blue]; +} diff --git a/graphs/directed/world.dot b/graphs/directed/world.dot new file mode 100644 index 000000000..3e6e4e370 --- /dev/null +++ b/graphs/directed/world.dot @@ -0,0 +1,67 @@ +digraph world { +size="7,7"; + {rank=same; S8 S24 S1 S35 S30;} + {rank=same; T8 T24 T1 T35 T30;} + {rank=same; 43 37 36 10 2;} + {rank=same; 25 9 38 40 13 17 12 18;} + {rank=same; 26 42 11 3 33 19 39 14 16;} + {rank=same; 4 31 34 21 41 28 20;} + {rank=same; 27 5 22 32 29 15;} + {rank=same; 6 23;} + {rank=same; 7;} + + S8 -> 9; + S24 -> 25; + S24 -> 27; + S1 -> 2; + S1 -> 10; + S35 -> 43; + S35 -> 36; + S30 -> 31; + S30 -> 33; + 9 -> 42; + 9 -> T1; + 25 -> T1; + 25 -> 26; + 27 -> T24; + 2 -> {3 ; 16 ; 17 ; T1 ; 18} + 10 -> { 11 ; 14 ; T1 ; 13; 12;} + 31 -> T1; + 31 -> 32; + 33 -> T30; + 33 -> 34; + 42 -> 4; + 26 -> 4; + 3 -> 4; + 16 -> 15; + 17 -> 19; + 18 -> 29; + 11 -> 4; + 14 -> 15; + 37 -> {39 ; 41 ; 38 ; 40;} + 13 -> 19; + 12 -> 29; + 43 -> 38; + 43 -> 40; + 36 -> 19; + 32 -> 23; + 34 -> 29; + 39 -> 15; + 41 -> 29; + 38 -> 4; + 40 -> 19; + 4 -> 5; + 19 -> {21 ; 20 ; 28;} + 5 -> {6 ; T35 ; 23;} + 21 -> 22; + 20 -> 15; + 28 -> 29; + 6 -> 7; + 15 -> T1; + 22 -> T35; + 22 -> 23; + 29 -> T30; + 7 -> T8; + 23 -> T24; + 23 -> T1; +} diff --git a/graphs/undirected/.cvsignore b/graphs/undirected/.cvsignore new file mode 100644 index 000000000..58ec2e610 --- /dev/null +++ b/graphs/undirected/.cvsignore @@ -0,0 +1,9 @@ +*.la +*.lo +.deps +.libs +.xvpics +Makefile +Makefile.in +*.dot.* +node*.png diff --git a/graphs/undirected/ER.dot b/graphs/undirected/ER.dot new file mode 100644 index 000000000..55060f2d7 --- /dev/null +++ b/graphs/undirected/ER.dot @@ -0,0 +1,22 @@ +graph ER { + node [shape=box]; course; institute; student; + node [shape=ellipse]; {node [label="name"] name0; name1; name2;} + code; grade; number; + node [shape=diamond,style=filled,color=lightgrey]; "C-I"; "S-C"; "S-I"; + + name0 -- course; + code -- course; + course -- "C-I" [label="n",len=1.00]; + "C-I" -- institute [label="1",len=1.00]; + institute -- name1; + institute -- "S-I" [label="1",len=1.00]; + "S-I" -- student [label="n",len=1.00]; + student -- grade; + student -- name2; + student -- number; + student -- "S-C" [label="m",len=1.00]; + "S-C" -- course [label="n",len=1.00]; + + label = "\n\nEntity Relation Diagram\ndrawn by NEATO"; + fontsize=20; +} diff --git a/graphs/undirected/Heawood.dot b/graphs/undirected/Heawood.dot new file mode 100644 index 000000000..17fac56c8 --- /dev/null +++ b/graphs/undirected/Heawood.dot @@ -0,0 +1,31 @@ +/* + * The transitive 6-net, also known as Heawood's graph, + * can be used to test the "stability points" of the layout + * algorithm. + + * The "ideal" layout occurs when len="2.5". The layout + * loses the regularity when smaller values are used. + */ +graph "Heawood" { + node [ + fontname = "Arial" + label = "\N" + shape = "circle" + width = "0.50000" + height = "0.500000" + color = "black" + ] + edge [ + color = "black" + ] + /* The outer wheel */ + "0" -- "1" -- "2" -- "3" -- "4" -- "5" -- "6" -- "7" -- "8" -- "9" -- "10" -- "11" -- "12" -- "13" -- "0"; + /* The internal edges. The len = makes them internal */ + "0" -- "5" [len = 2.5]; + "2" -- "7" [len = 2.5]; + "4" -- "9" [len = 2.5]; + "6" -- "11" [len = 2.5]; + "8" -- "13" [len = 2.5]; + "10" -- "1" [len = 2.5]; + "12" -- "3" [len = 2.5]; +} diff --git a/graphs/undirected/Makefile.am b/graphs/undirected/Makefile.am new file mode 100644 index 000000000..13a08abec --- /dev/null +++ b/graphs/undirected/Makefile.am @@ -0,0 +1,158 @@ +## Process this file with automake to produce Makefile.in + +GRAPHS = ER.dot ngk10_4.dot process.dot Heawood.dot Petersen.dot + +graphdir = $(pkgdatadir)/graphs +undirecteddir = $(graphdir)/undirected +undirected_DATA = $(GRAPHS) + +EXTRA_DIST = $(GRAPHS) + +CLEANFILES = core *.dot.* *.png .xvpics/* + +test: + for i in $(GRAPHS); do \ + echo "neato $$i"; \ + $(top_builddir)/dotneato/neato \ + -Tcanon -o$$i.canon \ + -Tcmap -o$$i.cmap \ + -Tcmapx -o$$i.cmapx \ + -Tdia -o$$i.dia \ + -Tdot -o$$i.dot \ + -Tfig -o$$i.fig \ + -Tgd -o$$i.gd \ + -Tgd2 -o$$i.gd2 \ + -Tgif -o$$i.gif \ + -Thpgl -o$$i.hpgl \ + -Tismap -o$$i.ismap \ + -Timap -o$$i.imap \ + -Tjpg -o$$i.jpg \ + -Tmif -o$$i.mif \ + -Tmp -o$$i.mp \ + -Tpcl -o$$i.pcl \ + -Tpic -o$$i.pic \ + -Tplain -o$$i.plain \ + -Tplain-ext -o$$i.plain-ext \ + -Tpng -o$$i.png \ + -Tps -o$$i.ps \ + -Tps2 -o$$i.ps2 \ + -Tsvg -o$$i.svg \ + -Tsvgz -o$$i.svgz \ + -Twbmp -o$$i.wbmp \ + -Tvrml -o$$i.vrml \ + -Tvtx -o$$i.vtx \ + -Txdot -o$$i.xdot \ + $(top_srcdir)/graphs/undirected/$$i; \ + done + +canon: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tcanon -o$$i.canon $(top_srcdir)/graphs/undirected/$$i; done + +cmap: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tcmap -o$$i.cmap $(top_srcdir)/graphs/undirected/$$i; done + +cmapx: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tcmapx -o$$i.cmapx $(top_srcdir)/graphs/undirected/$$i; done + +dia: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tdia -o$$i.dia $(top_srcdir)/graphs/undirected/$$i; done + +dot: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tdot -o$$i.dot $(top_srcdir)/graphs/undirected/$$i; done + +fig: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tfig -o$$i.fig $(top_srcdir)/graphs/undirected/$$i; done + +gd: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tgd -o$$i.gd $(top_srcdir)/graphs/undirected/$$i; done + +gd2: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tgd2 -o$$i.gd2 $(top_srcdir)/graphs/undirected/$$i; done + +gif: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tgif -o$$i.gif $(top_srcdir)/graphs/undirected/$$i; done + +hpgl: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Thpgl -o$$i.hpgl $(top_srcdir)/graphs/undirected/$$i; done + +ismap: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tismap -o$$i.ismap $(top_srcdir)/graphs/undirected/$$i; done + +imap: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Timap -o$$i.imap $(top_srcdir)/graphs/undirected/$$i; done + +jpg: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tjpg -o$$i.jpg $(top_srcdir)/graphs/undirected/$$i; done + +mif: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tmif -o$$i.mif $(top_srcdir)/graphs/undirected/$$i; done + +mp: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tmp -o$$i.mp $(top_srcdir)/graphs/undirected/$$i; done + +pcl: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tpcl -o$$i.pcl $(top_srcdir)/graphs/undirected/$$i; done + +pic: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tpic -o$$i.pic $(top_srcdir)/graphs/undirected/$$i; done + +plain: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tplain -o$$i.plain $(top_srcdir)/graphs/undirected/$$i; done + +plain-ext: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tplain-ext -o$$i.plain-ext $(top_srcdir)/graphs/undirected/$$i; done + +png: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tpng -o$$i.png $(top_srcdir)/graphs/undirected/$$i; done + +ps: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tps -o$$i.ps $(top_srcdir)/graphs/undirected/$$i; done + +ps2: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tps2 -o$$i.ps2 $(top_srcdir)/graphs/undirected/$$i; done + +svg: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tsvg -o$$i.svg $(top_srcdir)/graphs/undirected/$$i; done + +svgz: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tsvgz -o$$i.svgz $(top_srcdir)/graphs/undirected/$$i; done + +wbmp: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Twbmp -o$$i.wbmp $(top_srcdir)/graphs/undirected/$$i; done + +vrml: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tvrml -o$$i.vrml $(top_srcdir)/graphs/undirected/$$i; done + +vtx: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Tvtx -o$$i.vtx $(top_srcdir)/graphs/undirected/$$i; done + +xdot: + for i in $(GRAPHS); do echo "neato $$i"; \ + $(top_builddir)/dotneato/neato -Txdot -o$$i.xdot $(top_srcdir)/graphs/undirected/$$i; done diff --git a/graphs/undirected/Petersen.dot b/graphs/undirected/Petersen.dot new file mode 100644 index 000000000..09d000156 --- /dev/null +++ b/graphs/undirected/Petersen.dot @@ -0,0 +1,48 @@ +/* + * The transitive 5-net, also known as Petersen's graph, + * can be used to test the "stability points" of the layout + * algorithm. + * + * The "ideal" layout is achieved for certain random seed + * values when len=1.5. For len=2.5 or above, the layout + * is stable. Sometimes, the graph is rendered "inside-out". + */ +graph "Petersen" { + node [ + fontname = "Arial" + label = "\N" + shape = "circle" + width = "0.400000" + height = "0.400000" + color = "black" + ] + edge [ + color = "black" + ] + /* Outer wheel. The len= is what makes it outer */ + "0" -- "1" -- "2" -- "3" -- "4" -- "0" [ + color = "blue" + len = 2.6 + ] + "0" -- "5" [ + color = "red" + weight = "5" + ] + "1" -- "6" [ + color = "red" + weight = "5" + ] + "2" -- "7" [ + color = "red" + weight = "5" + ] + "3" -- "8" [ + color = "red" + weight = "5" + ] + "4" -- "9" [ + color = "red" + weight = "5" + ] + "5" -- "7" -- "9" -- "6" -- "8" -- "5"; +} diff --git a/graphs/undirected/ngk10_4.dot b/graphs/undirected/ngk10_4.dot new file mode 100644 index 000000000..d99e7f44e --- /dev/null +++ b/graphs/undirected/ngk10_4.dot @@ -0,0 +1,103 @@ +graph G { + graph [splines=true overlap=false] + 1 -- 30 [f=1]; + 1 -- 40 [f=14]; + 8 -- 46 [f=1]; + 8 -- 16 [f=18]; + 10 -- 25 [f=1]; + 10 -- 19 [f=5]; + 10 -- 33 [f=1]; + 12 -- 8 [f=1]; + 12 -- 36 [f=5]; + 12 -- 17 [f=16]; + 13 -- 38 [f=1]; + 13 -- 24 [f=19]; + 24 -- 49 [f=1]; + 24 -- 13 [f=1]; + 24 -- 47 [f=12]; + 24 -- 12 [f=19]; + 25 -- 27 [f=1]; + 25 -- 12 [f=1]; + 27 -- 12 [f=1]; + 27 -- 14 [f=8]; + 29 -- 10 [f=1]; + 29 -- 8 [f=17]; + 30 -- 24 [f=1]; + 30 -- 44 [f=15]; + 38 -- 29 [f=1]; + 38 -- 35 [f=15]; + 2 -- 42 [f=2]; + 2 -- 35 [f=3]; + 2 -- 11 [f=19]; + 14 -- 18 [f=2]; + 14 -- 24 [f=15]; + 14 -- 38 [f=18]; + 18 -- 49 [f=2]; + 18 -- 47 [f=20]; + 26 -- 41 [f=2]; + 26 -- 42 [f=15]; + 31 -- 39 [f=2]; + 31 -- 47 [f=17]; + 31 -- 25 [f=14]; + 37 -- 26 [f=2]; + 37 -- 16 [f=14]; + 39 -- 50 [f=2]; + 39 -- 14 [f=2]; + 39 -- 18 [f=17]; + 39 -- 47 [f=10]; + 41 -- 31 [f=2]; + 41 -- 8 [f=16]; + 42 -- 44 [f=2]; + 42 -- 29 [f=12]; + 44 -- 37 [f=2]; + 44 -- 32 [f=15]; + 3 -- 20 [f=2]; + 3 -- 28 [f=19]; + 6 -- 45 [f=2]; + 6 -- 28 [f=10]; + 9 -- 6 [f=2]; + 9 -- 16 [f=1]; + 15 -- 16 [f=2]; + 15 -- 48 [f=2]; + 16 -- 50 [f=2]; + 16 -- 32 [f=14]; + 16 -- 39 [f=8]; + 20 -- 33 [f=2]; + 33 -- 9 [f=2]; + 33 -- 46 [f=3]; + 33 -- 48 [f=17]; + 45 -- 15 [f=2]; + 4 -- 17 [f=4]; + 4 -- 15 [f=6]; + 4 -- 12 [f=16]; + 17 -- 21 [f=4]; + 19 -- 35 [f=4]; + 19 -- 15 [f=9]; + 19 -- 43 [f=4]; + 21 -- 19 [f=4]; + 21 -- 50 [f=4]; + 23 -- 36 [f=4]; + 34 -- 23 [f=4]; + 34 -- 24 [f=11]; + 35 -- 34 [f=4]; + 35 -- 16 [f=6]; + 35 -- 18 [f=16]; + 36 -- 46 [f=4]; + 5 -- 7 [f=1]; + 5 -- 36 [f=6]; + 7 -- 32 [f=1]; + 7 -- 11 [f=2]; + 7 -- 14 [f=17]; + 11 -- 40 [f=1]; + 11 -- 50 [f=1]; + 22 -- 46 [f=1]; + 28 -- 43 [f=1]; + 28 -- 8 [f=18]; + 32 -- 28 [f=1]; + 32 -- 39 [f=13]; + 32 -- 42 [f=15]; + 40 -- 22 [f=1]; + 40 -- 47 [f=1]; + 43 -- 11 [f=1]; + 43 -- 17 [f=19]; +} diff --git a/graphs/undirected/process.dot b/graphs/undirected/process.dot new file mode 100644 index 000000000..34fe9fb5a --- /dev/null +++ b/graphs/undirected/process.dot @@ -0,0 +1,15 @@ +graph G { + run -- intr; + intr -- runbl; + runbl -- run; + run -- kernel; + kernel -- zombie; + kernel -- sleep; + kernel -- runmem; + sleep -- swap; + swap -- runswap; + runswap -- new; + runswap -- runmem; + new -- runmem; + sleep -- runmem; +}