File: graphviz

package info (click to toggle)
wims 2%3A4.29a%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 185,704 kB
  • sloc: xml: 366,687; javascript: 120,570; ansic: 62,341; java: 62,170; sh: 7,744; perl: 3,937; yacc: 3,217; cpp: 1,915; lex: 1,805; makefile: 1,084; lisp: 914; pascal: 601; python: 520; php: 318; asm: 7
file content (75 lines) | stat: -rw-r--r-- 2,035 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
!if $wims_read_parm!=slib_header
  !goto proc
!endif

slib_author=Bernadette, Perrin-Riou

slib_example=[0,1,0;0,1,1;0,0,0]\
[u,v,0;0,w,x;0,y,0],[a,b,c],edge\
[0,T,0;0,1,0;0,1,0],[a,b,c],,rankdir="RL"\
[0,1,0;0,1,1;0,0,0],no_label_node,html
slib_require=graphviz
!exit

:proc

slib_labelnode=0
!reset slib_options slib_Node slib_output slib_l

!distribute item $wims_read_parm into slib_A,slib_Node,slib_output,slib_options
slib_A=!declosing $slib_A
slib_Node=!declosing $slib_Node
!if no_label_node isin $slib_Node
  slib_Node=
  slib_label_node=0
!endif

slib_options=!declosing $slib_options
!default slib_options=rankdir="LR"; node [fontsize=10,width=".2", height=".2", margin=0 shape=box];

slib_sA=!rows2lines $slib_A
slib_r=!linecnt $slib_sA
slib_A=!lines2rows $slib_A

!default slib_orient=1
slib_graphv=

!if $slib_orient=1
   graphviz_dot=dot
   slib_graph=digraph
   slib_arrow=->
!else
  graphviz_dot=neato
  slib_graph=graph
  slib_arrow=--
!endif
slib_rA=!rows2lines $slib_A
!for slib_i = 1 to $slib_r
  !for slib_j = 1 to $slib_i
    !if $(slib_A[$slib_i;$slib_j]) != 0
      !if edge iswordof $slib_output
        slib_l=[label="$(slib_A[$slib_i;$slib_j])"]
      !endif
      slib_graphv=!append line $slib_i $slib_arrow $slib_j [color="blue"] $slib_l ; to $slib_graphv
    !endif
    !if $slib_orient=1
      !if $slib_i != $slib_j and $(slib_A[$slib_j;$slib_i]) != 0
        !if edge iswordof $slib_output
          slib_l=[label="$(slib_A[$slib_j;$slib_i])"]
        !endif
        slib_graphv=!append line $slib_j $slib_arrow $slib_i [color="blue"] $slib_l ; to $slib_graphv
      !endif
    !endif
  !next
  !if $(slib_Node[$slib_i])!= or $slib_label_node=0
    slib_graphv=!append line $slib_i [label="$(slib_Node[$slib_i])"] [color="blue"] ; to $slib_graphv
  !endif
!next

slib_out=$slib_graph bar {$slib_options $slib_graphv}

slib_graphviz_out=!exec graphviz $slib_out
slib_out=!line 1 of $slib_graphviz_out
!if url notin $slib_output or html isin $slib_output
  slib_out=<img src="$slib_out" alt="">
!endif