Как я могу преобразовать линии данных соединения в блок схем, используя Perl? - PullRequest
3 голосов
/ 03 мая 2010

Я ищу способ преобразования сигналов соединений в простую схему или график.

Допустим, у меня есть 2 компонента с 2 линиями / сигналами вокруг них:

component A:
 input - S1
 output - S2

component B: 
 input - S2
 output - S1

Это будет файл входных данных, а на выходе будет схема, которая показывает его в виде 2-х блоков с соединительными линиями вокруг них или графического изображения.

Мне интересно, существует ли реализация этого в мире Perl.

Ответы [ 2 ]

6 голосов
/ 03 мая 2010

Звучит так, будто вы хотите что-то вроде graphviz генератора графиков.

Он написан на C, но есть интерфейс Perl: GraphViz .

Пример:

use GraphViz;
use File::Slurp qw(write_file);

my $g = GraphViz->new;
$g->add_node('componentA');
$g->add_node('componentB');
$g->add_edge('componentB' => 'componentA', label => 'S1');
$g->add_edge('componentA' => 'componentB', label => 'S2');

write_file('out.png', $g->as_png);

Вы можете загрузить свои входные данные и отслеживать соединения компонентов через хеш-код номера сигнала, а затем вызывать add_edge для каждого из них.

Выход:

вывод графика http://img704.imageshack.us/img704/2624/outd.png

(ярлыки не обязательны).

1 голос
/ 03 мая 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...