digraph G {
S, E [shape=point];
S -> begin_game -> begin_headers -> header;
header [shape=record,label="header|"];
header -> header -> end_headers;
end_headers -> end_game [label="Skip(true)",style=dotted];
end_headers -> moves [label="Skip(false)"];
moves [shape=record,label="san|nag|comment|outcome|<ral> begin_variation|<rar>end_variation|"];
moves:ral -> moves:rar [taillabel="Skip(true)",style="dotted"];
moves -> moves;
moves -> end_game -> E;
}