     (* immediately followed by a sequence of zero or more symbol continuation *)
     (* characters. These continuation characters are letters, digits, *)
     (* and the special character '_', '+', '-', '#', ':' and '='. *)
-    symbol = symbol-start symbol-continuation
-    <symbol-start> = #'[A-Za-z0-9]'
-    <symbol-continuation> = #'[A-Za-z0-9_+\\-:=#]*'
+    <symbol> = #'[A-Za-z0-9][A-Za-z0-9_+\\-:=#]*'
 
     number = #'[0-9]+'
     whitespace = #'\\s+'

  (ip/parser
    "
    (* A PGN game consists of PGN headers followed by the move text. *)
    game = headers <whitespace> movetext
    headers = {header [<whitespace>]}

    (* Each header consists of a header name and a corresponding value, *)

                  #?(:clj parsed-pgn
                     :cljs (vectorize-parsed-pgn parsed-pgn)))))

