summaryrefslogtreecommitdiff
path: root/pkgtools/pkglint4/files/doc/chap.statemachines.xml
diff options
context:
space:
mode:
Diffstat (limited to 'pkgtools/pkglint4/files/doc/chap.statemachines.xml')
-rw-r--r--pkgtools/pkglint4/files/doc/chap.statemachines.xml77
1 files changed, 0 insertions, 77 deletions
diff --git a/pkgtools/pkglint4/files/doc/chap.statemachines.xml b/pkgtools/pkglint4/files/doc/chap.statemachines.xml
deleted file mode 100644
index 42f5b1792fe..00000000000
--- a/pkgtools/pkglint4/files/doc/chap.statemachines.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<!-- $NetBSD: chap.statemachines.xml,v 1.1 2015/11/25 16:42:21 rillig Exp $ -->
-
-<chapter id="statemachines">
-<title>State machines</title>
-
- <para>This chapter explains the various state machines that are
- used in &pkglint;. It also provides graphical representations of
- them that are much easier to read than the source code.</para>
-
- <para>The opaque arrows in the figures represent transitions
- that have a regular expression as condition. The hollow arrows
- are the default transitions if nothing else matches. When
- multiple regular expressions match in a state, the one that
- appears first in the source code is chosen.</para>
-
-<sect1 id="statemachines.shellword">
-<title>The state machine for shell words</title>
-
- <para>The state machine for single shell words is pretty simple,
- and I think it can be understood from the source code alone. So
- no graphical representation is provided.</para>
-
-</sect1>
-
-<sect1 id="statemachines.shellcommand">
-<title>The state machine for shell commands</title>
-
- <figure id="statemachine.shellcommand">
- <title>The state transitions for shell commands</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="statemachine.shellcmd.png" format="PNG"/>
- </imageobject>
- <textobject><para>(Here should be a drawing of the state transitions.)</para></textobject>
- </mediaobject>
- </figure>
-
- <para>The punch card symbols provide a means to go to a certain
- state whenever the input matches the text on the punch
- card.</para>
-
-</sect1>
-
-<sect1 id="statemachines.patch">
-<title>The state machine for patch files</title>
-
- <para>The state machine for patch files is the newest of the
- state machines. Here, the state transitions are separated from
- the code, which makes the code itself pretty small. I don't know
- yet if this programming style is elegant or not. Time will
- show.</para>
-
- <figure id="statemachine.patch">
- <title>The state transitions for patch files</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="statemachine.patch.png" format="PNG"/>
- </imageobject>
- <textobject><para>(Here should be a drawing of the state transitions.)</para></textobject>
- </mediaobject>
- </figure>
-
- <para>The states on the left side are for parsing context diffs,
- the ones on the right side are for unified diffs. Some of the
- state names are highly abbreviated as follows. The first letter
- gives the format of the patch, which is <quote>c</quote> for
- context diffs and <quote>u</quote> for unified diffs. The second
- letter gives the current syntactical level, which is
- <quote>f</quote> for a file header, <quote>h</quote> for a hunk
- header, or <quote>l</quote> for the hunk lines. The third letter
- describes the action that belongs to the line, which is
- <quote>a</quote> for an addition, and <quote>d</quote> for a
- deletion.</para>
-
-</sect1>
-
-</chapter>