Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Graphviz: язык визуализации графов + / 10 сообщений из 10, страница 1 из 1
02.05.2006, 23:25
    #33702826
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
опен соурс.
на производимые графы лицензия GPL не распостраняется.
Код: plaintext
1.
2.
3.
4.
digraph X { 
  hello  ->  world;
}


командная строка

dot.exe -Tjpg hello.dot -o.hello.jpg

.hello.jpg файл
...
Рейтинг: 0 / 0
02.05.2006, 23:26
    #33702828
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
построение pdf файла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
digraph X { 
  node[shape=box]
  dot  -> "dot.exe"   -> "epstopdf.exe" -> "pdflatex.exe(1)"
  txt  -> "mkTex.exe" -> "pdflatex.exe(1)";
  "pdflatex.exe(1)" -> "makeindex.exe" -> "pdflatex.exe(2)";
  "pdflatex.exe(1)" -> "bibtex.exe" -> "pdflatex.exe(2)";
  "pdflatex.exe(2)" -> "pdflatex.exe(3)" -> pdf ;
   dot [shape=plaintext, label="mkDoc.dot"  ];
   txt [shape=plaintext, label="bibTest.txt"];
   pdf [shape=plaintext, label="bibTest.pdf"];
}




командная строка
dot.exe -Tjpg mkDoc.dot -o.mkDoc.jpg

файл .mkDoc.jpg
...
Рейтинг: 0 / 0
28.05.2006, 07:34
    #33756481
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
русскоязычное руководство
http://lib.custis.ru/index.php?title=Graphviz&redirect=no
скрипт седа для построения описания графа из пар
потомок - родитель.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#
#     classParent: classChild +> to make dot graph
#
                            # 1) begin of graph
1i\
digraph X { \
  rankdir=LR;\
  node[shape=box]\

                            # 2) make  next arc
s/\([^ :]*\):[ 	]*\(\w\w*\).*/ "\2" -> "\1"/p

                            # 3) end of graph
$a\
}



...
Рейтинг: 0 / 0
28.05.2006, 07:46
    #33756484
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
следующий скрипт
Код: plaintext
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.
#                  1)     delete multiline comment 
/\/\*/,/\*\//d
#                  2)     delete : and , 
/:/d
/,/d

#                  3)     between class and { 
/\bclass\b/,/{/{
                          # class
                          # name1
                          # name2
                          # ...
                          # {    ------ or
                          # class
                          # name1
                          # {
                          # if class name1 +> remember  name1
  /\bclass\b/,/\b\w\w*\b/{
                         #   1) delete class
    /\bclass\b/d
                         #   2) save class- child
    /\b\w\w*\b/h
                         #   3) delete all the lines
    d
  }
  /{/d

                         #   4) restore name1

  G
                         #   5)  2 lines +> 1 line
  s/\n/:	/
                         #   6) print pair (parent, child)
  p
}



из обработанного с++ или с# текста делает список требуемых пар.
...
Рейтинг: 0 / 0
28.05.2006, 07:47
    #33756485
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
скрипт обработки кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#  #            #   1)  delete single line comment
s/\/\/.*// 
                #   2)  put myltiline comment to multi line
s/\/\*/\
&\
/g
s/\*\//\
&\
/g
                #  3)  surround different lexemas (:,{) with  new line
s/[:,{]/\
&\
/g

               #   4)  map blanks to new line
s/[ 	][ 	]*/\
/g
p

...
Рейтинг: 0 / 0
28.05.2006, 07:49
    #33756486
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
после выполнения такого командного файла
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SET GOAL=hrrchy


SET F=lib
sed -nf newline.sed %F%.cs  >.%F%.cs. 1 
grep . <.%F%.cs. 1   >.%F%.cs. 2 
sed -nf mkPair.sed <.%F%.cs. 2      >.%F%.cl

SET F=main
sed -nf newline.sed %F%.cs | grep . |  sed -nf mkPair.sed >.%F%.cl


cat *.cl |  sort_ -u >.prg_cls_hrr.l

sed -nf mkDot.sed <.prg_cls_hrr.l  >%GOAL%.dot
dot -Tpng %GOAL%.dot -o%GOAL%.png

start                  %GOAL%.png




из программы

Код: plaintext
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.
/** \file  
    \brief файл с библиотекой
*/
using System;
using System.IO;   // foo
namespace adm_w{
 class a{
   static public void    wrLn (   string s   ) {        /// \callgraph
        Console.WriteLine (s);
   }
 }
 class b: a,
  /* multiple inheritance */ IComparer   {     int dummy;  }
 class c2
        : b   {     int dummy2; }
 class d2:
         app {     int dummy;  }
 class   // last class
      e : d2  {
    public int dummy;
    public d   foo;
 }
}




получается такая картинка
...
Рейтинг: 0 / 0
28.05.2006, 07:53
    #33756487
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
подробное обсуждение
http://users.iptelecom.net.ua/~agp1/ru/mkHrrchy.html
...
Рейтинг: 0 / 0
13.06.2006, 00:30
    #33786577
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
...
Рейтинг: 0 / 0
13.06.2006, 15:44
    #33787944
Lelikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
Интересно, а решается автоматически задача определения плоскостности графа, то есть возможности нарисовать его на плоскости без пересечений?
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
13.06.2006, 23:36
    #33788953
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Graphviz: язык визуализации графов +
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Graphviz: язык визуализации графов + / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]