The Portable Game Notation (PGN) specification appears to contradict itself regarding the valid characters that may appear in a symbol token.
From [1], section 7, quote:
A symbol token starts with a letter or digit character and is immediately followed by a sequence of zero or more symbol continuation characters. These continuation characters are letter characters ("A-Za-z"), digit characters ("0-9"), the underscore ("_"), the plus sign ("+"), the octothorpe sign ("#"), the equal sign ("="), the colon (":"), and the hyphen ("-") ...
Or, to put it more concisely, a symbol token conforms to the regular expression /^[A-Za-z0-9][A-Za-z0-9_+#=:-]*/
.
However, this definition explicitly precludes the game draw termination marker 1/2-1/2
. Quoting again from [1], section 8.2.6:
Each movetext section has exactly one game termination marker; the marker always occurs as the last element in the movetext. The game termination marker is a symbol that is one of the following four values: "1-0" (White wins), "0-1" (Black wins), "1/2-1/2" (drawn game), and "*" (game in progress, result unknown, or game abandoned).
The string "1/2-1/2" very obviously does not meet the definition of a symbol token, so either:
a) the solidus character ('/', 0x2f) should have been included in the definition of symbol continuation characters, but the author failed to do so, or;
b) game termination markers should not be considered symbol tokens, but rather a distinct type of token which is separate from symbol tokens, and the author failed to indicate this, or;
c) I have completely misunderstood the wording of the specification, and am an idiot.
Somebody has screwed up here, and either it's me, or it's Steven J. Edwards. Hopefully it's me. Personally I think (a) is the most likely of the three but perhaps I've missed something.
[1] http://www.saremba.de/chessgml/standards/pgn/pgn-complete.htm