.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Graph::Reader::Dot 3pm" .TH Graph::Reader::Dot 3pm "2021-09-19" "perl v5.32.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Graph::Reader::Dot \- class for reading a Graph instance from Dot format .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& use Graph::Reader::Dot; \& use Graph; \& \& $reader = Graph::Reader::Dot\->new(); \& $graph = $reader\->read_graph(\*(Aqmygraph.dot\*(Aq); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBGraph::Reader::Dot\fR is a class for reading in a directed graph in the file format used by the \fIdot\fR tool (part of the \s-1AT+T\s0 graphviz package). .PP \&\fBGraph::Reader::Dot\fR is a subclass of \fBGraph::Reader\fR, which defines the generic interface for Graph reader classes. .SH "METHODS AND CONFIGURATION" .IX Header "METHODS AND CONFIGURATION" .ie n .SS """new()""" .el .SS "\f(CWnew()\fP" .IX Subsection "new()" Constructor \- generate a new reader instance. .PP .Vb 1 \& $reader = Graph::Reader::Dot\->new(); .Ve .PP This doesn't take any arguments. .ie n .SS """read_graph()""" .el .SS "\f(CWread_graph()\fP" .IX Subsection "read_graph()" Read a graph from a file: .PP .Vb 1 \& $graph = $reader\->read_graph( $file ); .Ve .PP The \f(CW$file\fR argument can be either a filename or a filehandle of a previously opened file. .ie n .SS "$Graph::Reader::Dot::UseNodeAttr" .el .SS "\f(CW$Graph::Reader::Dot::UseNodeAttr\fP" .IX Subsection "$Graph::Reader::Dot::UseNodeAttr" Controls, if implicit node attributes given by the dot directive \f(CW\*(C`node[]\*(C'\fR will be merged into (new) nodes. Setting it to \f(CW0\fR or \f(CW\*(C`undef\*(C'\fR (default) will not disable this feature. Setting it to any other value will enable this feature. .ie n .SS "$Graph::Reader::Dot::UseEdgeAttr" .el .SS "\f(CW$Graph::Reader::Dot::UseEdgeAttr\fP" .IX Subsection "$Graph::Reader::Dot::UseEdgeAttr" Controls, if implicit edge attributes given by the dot directive \f(CW\*(C`edge[]\*(C'\fR will be merged into edges. Setting it to \f(CW0\fR or \f(CW\*(C`undef\*(C'\fR (default) will not disable this feature. Setting it to any other value will enable this feature. .SH "RESTRICTIONS" .IX Header "RESTRICTIONS" .IP "\(bu" 4 Default (graph) attributes in subgraphs (i.e. inside \f(CW\*(C`{}\*(C'\fR) are not processed. .IP "\(bu" 4 Sub nodes as used by dot's \f(CW\*(C`record\*(C'\fR node shape are supported. .IP "\(bu" 4 Undirected graphs will be treated as directed graphs. This means that the \f(CW\*(C`\-\-\*(C'\fR edge operator works as the \f(CW\*(C`\->\*(C'\fR edge operator. .IP "\(bu" 4 Be aware that you are loosing scope information on writing back the graph. .IP "\(bu" 4 Multiple \f(CW\*(C`node[]\*(C'\fR or \f(CW\*(C`edge[]\*(C'\fR statements in the same scope are not correctly supported. .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "http://www.graphviz.org/" 4 .IX Item "http://www.graphviz.org/" The home page for the \s-1AT+T\s0 graphviz toolkit that includes the dot tool. .IP "Graph::Reader" 4 .IX Item "Graph::Reader" The base class for \fBGraph::Reader::Dot\fR. .IP "Graph::Writer::Dot" 4 .IX Item "Graph::Writer::Dot" Used to serialise a Graph instance in Dot format. .IP "Graph" 4 .IX Item "Graph" Jarkko Hietaniemi's classes for representing directed graphs. .IP "Parse::Yapp" 4 .IX Item "Parse::Yapp" Another base class for \fBGraph::Reader::Dot\fR. The \fBParse::Yapp\fR module comes with the following copyright notice: .Sp The Parse::Yapp module and its related modules and shell scripts are copyright (c) 1998\-1999 Francois Desarmenien, France. All rights reserved. .Sp You may use and distribute them under the terms of either the \s-1GNU\s0 General Public License or the Artistic License, as specified in the Perl \s-1README\s0 file. .Sp If you use the \*(L"standalone parser\*(R" option so people don't need to install Parse::Yapp on their systems in order to run you software, this copyright noticed should be included in your software copyright too, and the copyright notice in the embedded driver should be left untouched. .SH "AUTHOR" .IX Header "AUTHOR" Mark A. Hillebrand .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2001 by Mark A. Hillebrand. All rights reserved. .PP This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.