Daniel@0: .TH ACYCLIC 1 "21 March 2001" Daniel@0: .SH NAME Daniel@0: acyclic \- make directed graph acyclic Daniel@0: .SH SYNOPSIS Daniel@0: .B acyclic Daniel@0: [ Daniel@0: .B \-nv? Daniel@0: ] [ Daniel@0: .B \-o Daniel@0: .I outfile Daniel@0: ] Daniel@0: [ Daniel@0: .I file Daniel@0: ] Daniel@0: .SH DESCRIPTION Daniel@0: .B acyclic Daniel@0: is a filter that takes a directed graph as input and outputs Daniel@0: a copy of the graph with sufficient edges reversed to make Daniel@0: the graph acyclic. The reversed edge inherits all of the attributes Daniel@0: of the original edge. The optional file argument specifies where the Daniel@0: the input graph is stored; by default, the program reads from \fBstdin\fP. Daniel@0: .SH OPTIONS Daniel@0: The following options are supported: Daniel@0: .TP Daniel@0: .B \-n Daniel@0: No output is produced, though the return value Daniel@0: will indicate whether the graph is acyclic or not. Daniel@0: .TP Daniel@0: .B \-v Daniel@0: Print information about whether the file is acyclic, has a cycle or Daniel@0: is undirected. Daniel@0: .TP Daniel@0: .BI \-o " outfile" Daniel@0: causes the output to be written to the specified file; by default, Daniel@0: output is written to \fBstdout\fP. Daniel@0: .TP Daniel@0: .B \-? Daniel@0: option causes the program to print usage information. Daniel@0: .SH RETURN CODES Daniel@0: .B acyclic Daniel@0: returns Daniel@0: .B 0 Daniel@0: if the graph is acyclic; Daniel@0: .B 1 Daniel@0: if the graph has a cycle; Daniel@0: .B 2 Daniel@0: if the graph is undirected; and Daniel@0: .B 255 Daniel@0: if there are any errors. Daniel@0: .SH BUGS Daniel@0: If the graph is strict and there is a cycle of length 2, Daniel@0: the attributes of the reversed edge are lost. Daniel@0: .PP Daniel@0: Some edge attributes are non-symmetric, referring to either the head Daniel@0: or tail node. At present, there is no mechanism or convention for Daniel@0: for correctly switching or renaming these. Daniel@0: .SH AUTHORS Daniel@0: Stephen C. North Daniel@0: .br Daniel@0: Emden R. Gansner Daniel@0: .SH "SEE ALSO" Daniel@0: gc(1), dot(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)