This directory contains the C source code and win32 binary for version 17-13 of the pgn-extract program. This is a command-line program for manipulating chess games recorded in the Portable Game Notation (PGN). It runs under Windows, Linux and Mac OSX. This program is made available under the terms of the GNU General Public License.
These are the C sources and win32 binary for a program to extract selected games from a PGN format data file. There are several ways to specify the criteria on which to extract: for instance, textual move sequences, the position reached after a sequence of moves, information in the tag fields, fuzzy board position, and material balance in the ending. 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.
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.
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.
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.
A full description of pgn-extract's functionality is available and included with the sources.
Use the --help argument to the program to get the full lists of arguments.
These are the major additions in version 17-1x:
--fuzzydepth flag allows duplicate detection based on position reached at a particular ply depth.
-Wuci outputs a game in a format suitable for input to a UCI-compatible engine.
Board position matches with the -t flag that allow fuzzy board position matches.
A test suite of the program's basic functionality to support regression testing. This won't be of interest to users but might be to developers.
You can take a copy of the full source and documentation as either pgn-extract-17-13.tgz or pgn-extract-17-13.zip. Alternatively, a win32 binary is available.
| Name | Description | Bytes | Date |
| pgn-extract-17-13.tgz | GZipped tar file
of the complete source of version 17-13 of the program. Includes help.html, Makefile for compilation and eco.pgn file for ECO classification. |
290 | Apr 19 2013 |
| pgn-extract-17-13.zip | Zipped file of the complete source of version 17-13 of the program. Includes help.html, Makefile for compilation and eco.pgn file for ECO classification. |
402KB | Apr 19 2013 |
| pgn-extract-17-13.exe | 32-bit win32 binary of version 17-13 of the program. | 301KB | Apr 19 2013 |
| eco.zip | Zipped version of eco.pgn. | 32081 | Sep 30 1999 |
| eco.pgn | File of openings with PGN classification. This file is already included in the source archives. |
254722 | Dec 05 1997 |
| COPYING | GNU General Public License. | 12488 | Dec 05 1997 |
Feedback and suggestions for further features are always welcome, although I can't always promise to undertake significant development work.