File: index.html

package info (click to toggle)
pgn-extract 19.04-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 2,492 kB
  • sloc: ansic: 13,372; makefile: 483; sh: 76; xml: 50
file content (195 lines) | stat: -rw-r--r-- 8,161 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
<!DOCTYPE HTML>
<html>
<head>
	<title>pgn-extract: Portable Game Notation (PGN) Manipulator for Chess Games</title>
	<link rev="made" href="mailto:d.j.barnes @ kent.ac.uk">
	<meta name="Author" content="David J. Barnes">
	<meta name="Description"
	      CONTENT="Directory with source of program to manipulate
	      chess games recorded in Portable Game Notation (PGN)
	      format">
	<meta name="Keywords" content="Chess PGN Portable Game Notation
			Database
			pgn-extract">
        <link href="style.css" rel="stylesheet" type="text/css" media="all">
</head>
<body>
<div id="body">

  <div id="banner-wrapper">
    <div id="banner">
<h1 align="center">pgn-extract:<br />A Portable Game Notation (PGN) Manipulator for Chess Games<br />
Version 19-04 by <a href="https://www.cs.kent.ac.uk/~djb/">David J. Barnes</a>
(<a href="https://twitter.com/kentdjb">@kentdjb</a>)<br />
<a href="pgn-extract.xml">
<img alt="RSS feed image" src="feed.png" width="25" height="25"></a>
</h1>
    </div>
  </div>

  <div id="page-wrapper">
    <div id="page">
<h2>Introduction</h2>
<p>This is the home page for
the <em>pgn-extract</em> program,
which is a <em>command-line</em> program for searching, manipulating and formatting
chess games recorded in the Portable Game Notation (PGN) or something close. It
is capable of handling files containing millions of games. It also recognises Chess960
encodings.
<p>A <a href="https://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/help.html">full
description of pgn-extract's functionality</a> is available and included
with the sources.

<p>Here you can find the C source code and win32 binary for the current
version.
pgn-extract compiles and runs under Windows, Linux and Mac OS X.
This program is made available under the terms of the
<a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/COPYING">GNU
General Public License (Version 1).</a>

<h2>Getting-started video for Windows users</h2>
<p>For Windows users who are really only interested in getting
the binary working, there is <a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/intro.mp4">a short introductory video</a>.

<h2>Blog post about data mining with pgn-extract</h2>
<p>In October 2018 I wrote <a href="http://blogs.kent.ac.uk/djb/2018/10/14/data-mining-with-pgn-extract/">blog post</a>
about using pgn-extract to mine a PGN database. 
As an example it looks at the effect of having a bishop pair versus a knight pair.

<h2>Overview</h2>
<p>The program is designed to make it easy to extract and format selected games from a
PGN format data file based on a wide variety of criteria.
The criteria include:
<ul>
<li><p>textual move sequences;</p></li>
<li><p>the position reached after a sequence of moves;</p></li>
<li><p>information in the tag fields;</p></li>
<li><p>fuzzy board position;</p></li>
<li><p>and material balance in the ending.</p></li>
</ul>
<p>Over the on-going 20+ year course of its development, it has also added
lots of features for controlling what is output (e.g., different
algebraic formats, EPD, no move numbers, restricting game length, etc.)

<p>The program includes a semantic analyser which will
report errors in game scores and it is also able to detect duplicate
games found in its input files.

<p>The range of input move formats accepted is fairly wide and includes
recognition of lower-case piece letters for English and upper-case
piece letters for Dutch and German.  The output is normally in English Standard
Algebraic Notation (SAN), but this can be varied.

<p>Extracted games may be written out either including or excluding
comments, NAGs, variations, move numbers, tags and/or results.
Games may be given ECO classifications
derived from the accompanying file eco.pgn, or a customised version
provided by the user.

<p>The program is designed to be relatively memory-friendly, so it
does not retain a game's moves in memory once it has been processed.
This also makes it suitable for bulk processing very large collections of games
- it can efficiently process files containing several millions of games.

<p>Use the <em>--help</em> argument to the program to
get the full lists of arguments.

<h2>New in recent versions</h2>
<p>These are the main changes in the most recent versions:
<ul>
    <li><p>Accept Z0 as an alternative to --.
    <li><p>Added -y as an alternative to -z for colour-specific material matches.
    <li><p>Added --dropbefore to drop ply occuring before a particular comment pattern.
    <li><p>With --allownullmoves uppress the warning for null moves.
    <li><p>Added --dropply.
    <li><p>Added --nestedcomments to allow non-standard nested comments.
    <li><p>Corrected failure to OR rather than AND the pseudo Elo
        tag used with -t.
    <li><p>Fixed a memory leak with -z.
    <li><p>Made it possible to identify which -z pattern
    was matched in a game.
</ul>

<h2>Available Files</h2>
<p>You can take a copy of the full source and
documentation as either
<a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/pgn-extract.tgz">pgn-extract.tgz</a> 
or
<a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/pgn-extract.zip">pgn-extract.zip</a>.
Alternatively, <a
href="https://www.cs.kent.ac.uk/~djb/pgn-extract/pgn-extract.exe">a win32
binary</a> is available.
</p>
    <table>
    <tr>
    <td align="center"><b>Name</b></td>
    <td align="center"><b>Description</b></td>
    <td align="center"><b>Size</b></td>
    <td align="center"><b>Date</b></td>
    </tr>

    <tr valign="top">
    <td><a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/pgn-extract.tgz">pgn-extract.tgz</a><br>
    <td>GZipped tar file
    of the complete source of the latest version of the program.<br>
    Includes <a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/help.html">usage documentation</a>,
    Makefile for compilation and
    <a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/eco.pgn">eco.pgn</a> file for ECO classification.</td>
    <td align="right">393K bytes &nbsp;</td><td>14 Oct 2018</td>
    </tr>

    <tr valign="top">
    <td><a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/pgn-extract.zip">pgn-extract.zip</a></td>
    <td>Zipped file of the complete source of the latest version of the program.<br>
    Includes <a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/help.html">usage documentation</a>, Makefile for compilation and
    <a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/eco.pgn">eco.pgn</a> file for ECO classification.</td>
    <td align="right">547K bytes &nbsp;</td><td>14 Oct 2018</td>
    </tr>

    <tr>
    <td><a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/pgn-extract.exe">pgn-extract.exe</a></td>
    <td>win32 binary of the latest version of the program.</td>
    <td align="right">687K bytes &nbsp;</td><td>14 Oct 2018</td>
    </tr>

    <tr>
    <td><a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/eco.zip">eco.zip</a></td>
    <td>Zipped version of <a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/eco.pgn">eco.pgn</a>.</td>
    <td align="right">32K bytes &nbsp;</td><td>May 24 2013</td>
    </tr>

    <tr valign="top">
    <td><a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/eco.pgn">eco.pgn</a></td>
    <td>File of openings with PGN classification.<br>
	This file is already included in the source archives.
    </td>
    <td align="right">254K bytes &nbsp;</td><td>May 24 2013</td>
    </tr>

    <tr>
    <td><a href="https://www.cs.kent.ac.uk/~djb/pgn-extract/COPYING">COPYING</a></td>
    <td>GNU General Public License (version 3).</td>
    <td align="right">35K bytes &nbsp;</td><td>&nbsp;</td>
    </tr>
    </table>

<h2>Feedback</h2>
<p>Feedback and suggestions for further features are always welcome, although I can't always
promise to undertake significant development work.
<hr>
    </div>
  </div>

  <div id="footer">
<address>
<p>&#169; 1994-2019 David J. Barnes<br />
<a href="https://www.cs.kent.ac.uk/~djb/">My home page</a> at the University of Kent.<br />
<a href="mailto:d.j.barnes @ kent.ac.uk">d.j.barnes @ kent.ac.uk</a><br />
<a href="https://twitter.com/kentdjb">@kentdjb</a><br />
Last updated: 23rd April 2019: version 19-04 released.<br />
</p>
</address>
  </div>
</div>
  </body>
</html>