Is the result of a game a (the) must at the end of every PGN? (I mean
any of "1-0", "0-1", "1/2-1/2", and "*") So... we can have a whole set
of tags, then a "1/2-1/2" result with no moves, and enjoy it as a
valid PGN. A PGN with no moves.
Your use of the term 'PGN' is unclear. Do you mean a 'PGN game'? If so, do you refer to a PGN game in 'export format' or in 'import format'? I'm going to assume export format/archival format, but you are making other statements that suggest that you may possibly think of input format.
PGN requires each PGN-game (see appendix J) in export format to end with a game-termination sequence of characters (I deliberately avoid to use the word 'token' because of the way PGN defines that term).
Although PGN does not specify that empty games be followed only by "*", it seems likely that other implementers of PGN may interpret it that a specific result implies that a non-empty set of moves are expected to be present.
And note that PGN does not claim to follow FIDE: 'games' that never start are not necessarily considerd to have terminated, and games with illegal moves are
not considered as 'interesting enough' to be represented as a PGN game.
Since I can have a PGN with no tags as well, I'm wondering if the
minimum requirement you need for a valid PGN game is only the result
at the end. Is it?
You can't omit the seven-tag roster from export or archive format PGN. You may omit them from import-format PGN, but there's no strict definition of that format, as it is intended for data created by hand.
For strict PGN archive format, you must include all seven mandatory tags in the specified order. (see 8.1.1)
Which brings me to the other question, should my superhuman
interdimensional parser nexus consider a PGN game without result a
no-go invalid PGN (especially considering no tag with result was not
If you are implementing a PGN import format parser, you do what you like.
If you are considering a PGN export/archive format reader, you must consider it an incorrectly formatted PGN game.
And I would appreciate if someone could tell us if, when the result is
in a tag, it is not necessary to display it after moves? (which would
then be a valid case of 'no need to write result at end' scenario.)
The content of the tag Result must be the same as the game-terminator actually used in the movetext section. It says so right there: (section 18.104.22.168). If it isn't the same, you have a PGN game that doesn't follow the specifications of a PGN export format.
PGN was (probably) created for parsing simplicity (my interpretation). It should (probably) be possible for a beginning programmer to write the code to read a PGN archive, and output a table of content without having to parse the entire move-text sections; just looking for the tag lines should be enough. So expect redundancies, and the need for cross-checks.
In this case, the smallest PGN would be: * "Nothing known about who
played, where or why, and nobody made a move, and then we also don't
know, but maybe they died if it is a very old game".
Please cross-check that with what PGN says about representing unknown information in export format games. (hint: see sections 22.214.171.124, 126.96.36.199, 188.8.131.52, 184.108.40.206, 220.127.116.11. and also 18.104.22.168, if only indirectly.)