NAME acyclic - make directed graph acyclic

SYNOPSIS acyclic [ -nv? ] [ -o outfile ] [ file ]

DESCRIPTION acyclic is a filter that takes a directed graph as input and outputs a copy of the graph with sufficient edges reversed to make the graph acyclic. The reversed edge inherits all of the attributes of the origi- nal edge. The optional file argument specifies where the the input graph is stored; by default, the program reads from stdin.

OPTIONS The following options are supported:

-n No output is produced, though the return value will indicate whether the graph is acyclic or not.

-v Print information about whether the file is acyclic, has a cycle or is undirected.

-o outfile causes the output to be written to the specified file; by default, output is written to stdout.

-? option causes the program to print usage information.

RETURN CODES acyclic returns 0 if the graph is acyclic; 1 if the graph has a cycle; 2 if the graph is undirected; and 255 if there are any errors.

BUGS If the graph is strict and there is a cycle of length 2, the attributes of the reversed edge are lost.

Some edge attributes are non-symmetric, referring to either the head or tail node. At present, there is no mechanism or convention for cor- rectly switching or renaming these.

AUTHORS Stephen C. North <> Emden R. Gansner <>

SEE ALSO gc(1), dot(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), lib- graph(3)

21 March 2001 ACYCLIC(1)