Funny in pgn

  

Funny in pgn


Back to forum


Ilmars Cirulis    (2008-08-20)
Funny in pgn

1.d4 Nf6 2.c4 g6 3.e3 d6 4.Bd3 Bg7 5.Nf3 O-O 6.o-o *
Look at different castles! :)
Mine is bigger! :D


Ilmars Cirulis    (2008-08-20 17:08:55)
Re

http://www.ficgs.com/user_page.php?page=move_express&game=23081


Thibault de Vassal    (2008-08-20 18:40:41)
PGN format

If I remember, PGN format allows zero-zero, O-O, o-o ... so


Ilmars Cirulis    (2008-08-20 19:01:29)
Re

Ok.

P.S. But it looks like my Arena dosn't understand "o-o".


Normajean Yates    (2008-08-21 05:16:52)
O-O is output standard for pgn, but..

o-o is allowed as input. [again it depends on which version of the pgn standard we are talking about.] Also re Arena: it is just like: most C++ compilers for PCs do not implement the full C++ [or implement it wrong - Arena is a program; compilers are programs; programs have bugs aka features ;)] .


Marc Lacrosse    (2008-08-21 10:41:22)
Thibault I fear you are wrong ...

From PGN standard 1994.03.12 (8.2.3.3: Basic SAN move construction):

"SAN kingside castling is indicated by the sequence "O-O"; queenside castling is indicated by the sequence "O-O-O". Note that the upper case letter "O" is used, not the digit zero. The use of a zero character is not only incompatible with traditional text practices, but it can also confuse parsing algorithms which also have to understand about move numbers and game termination markers. Also note that the use of the letter "O" is consistent with the practice of having all chess move symbols start with a letter; also, it follows the convention that all non-pwn move symbols start with an upper case letter."

So only the "Ooh" letter is allowed, not the "zero" number.

Marc


Normajean Yates    (2008-08-21 11:15:31)
that is quite convincing!

Marc Lacrosse - thanks for quoting that ... though a good algorithm shouldnt have trouble but with heavily nested variations, many of then terminating 0-1 .. it would complicate algorithms. Programmers' time is expensive ...

I am convinced now that allowing O-O and O-O-O is a good decision - then yacc and lex can do most of the parsing etc.

[btw it should be simple to write a program to convert simple algebaraic (by simple I mean nested variations are treated as comments and left untouched) to simple descriptive and vice versa, in the formal case without redundancy in descriptive output. [again lex-yacc (or whatever latest tools have superceded them) can do most of the work]. So it is surprising I couldn't find any such free open-source utility on the internet -- (and I am too lazy now to write simplest code any more - written more than enough for a lifetime ;) )


Normajean Yates    (2008-08-21 11:17:15)
typo coorections in prev post..

formal* -> former, algebaraic* -> algebraic


Thibault de Vassal    (2008-08-21 12:15:00)
O-O

Thank you Marc, I'll correct the program and all games very soon.


Thibault de Vassal    (2008-08-21 22:01:05)
PGN and castling

Bug fixed, here are the corrected games :

id -> 500
id -> 539
id -> 545
id -> 685
id -> 3133
id -> 3143
id -> 4599
id -> 4460
id -> 5789
id -> 5798
id -> 5803
id -> 9162
id -> 12521
id -> 13473
id -> 13474
id -> 13511
id -> 13523
id -> 13525
id -> 13526
id -> 13527
id -> 23287
id -> 20065
id -> 23291
id -> 23217
id -> 23146
id -> 23222
id -> 23149
id -> 23134
id -> 23084
id -> 23135
id -> 23081
id -> 22959
id -> 22966
id -> 23071
id -> 23144
id -> 23011
id -> 23015
id -> 23085
id -> 23072
id -> 23281
id -> 23051
id -> 23056
id -> 23060
id -> 23065
id -> 23139
id -> 23087
id -> 23148
id -> 23227
id -> 23228
id -> 23224
id -> 23225
id -> 23226
id -> 23216
id -> 23304
id -> 23292
id -> 23263
id -> 23271
id -> 23277
id -> 23278
id -> 23279
id -> 23329
id -> 23330
id -> 23331
id -> 23332
id -> 23333
id -> 23338
id -> 23339
id -> 23340
id -> 23680



Thibault de Vassal    (2008-08-22 04:22:51)
Castling bug fixed

More than 600 games using 0-0 with zero instead of "O" letter have been corrected, everything should work fine now (please report any bug if there's one anyway, thanks in advance)