sbase/tsort.1
Hiltjo Posthuma a0998d0252 sbase: improve man pages and some warnings.
From ed5e4d34a16436a37c0e084666fcfb77cc4859c3 Mon Sep 17 00:00:00 2001
From: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Thu, 31 Jul 2025 14:42:59 +0200
Subject: [PATCH 4/4] improve man pages and some warnings.

Checking for warnings: mandoc -Tlint *.1

- Swap .St -p1003.1-2013 macro with text:
  mdoc does not support this macro and some texts were changed, like commit
  d4dfd42d3580ad36bedfdc5b8924ff6683981f53
- Typo fixes:
  exeption -> exception.
- xargs.1: document -P extension.
- sed.1: remove use of .Pp of .Ss.
- Wrap lines to less than 80 characters and use a new sentence for each line.
- find.1: Xr reference C library functions.
2025-09-19 09:16:25 +02:00

71 lines
1.4 KiB
Groff

.Dd February 16, 2016
.Dt TSORT 1
.Os sbase
.Sh NAME
.Nm tsort
.Nd topological sort
.Sh SYNOPSIS
.Nm
.Op Ar file
.Sh DESCRIPTION
.Nm
topologically sorts a graph.
The graph is read either from
.Ar file
or from standard input.
The result is not optimized for any particular usage.
Loops are detected and reported to standard error, but does not stop the
sort.
.Pp
The input is a list of edges (vertex pairs), where
the edge is directed from the first vertex to the
second vertex.
.Sh OPTIONS
None.
.Sh EXIT STATUS
.Bl -tag -width Ds
.It 0
The graph as successfully sorted.
.It 1
The graph as successfully sorted, but contained loops.
.It > 1
An error occurred.
.El
.Sh EXAMPLES
.Bd -literal -offset left
The input
a a
a b
a c
a c
a d
b c
c b
e f
or equivalently
a a a b a c a c a d
b c c b e f
represents the graph
┌─┐
↓ │
┏━━━┓
┌──────┃ a ┃──────┐
│ ┗━━━┛ │
│ │ │ │
↓ ↓ ↓ ↓
┏━━━┓───→┏━━━┓ ┏━━━┓
┃ b ┃ ┃ c ┃ ┃ d ┃
┗━━━┛←───┗━━━┛ ┗━━━┛
┏━━━┓ ┏━━━┓
┃ e ┃───→┃ f ┃
┗━━━┛ ┗━━━┛
.Ed
.Sh STANDARDS
POSIX.1-2013.