PUGKJMPLL5M2BBKP572VUX6SNYVMBACJXH5EE4SKA4DQHXDQS52AC
(unless (equalp ":" (next-token toks))
(warn "Missing colon"))
(loop for count = (let ((tok (next-token toks)))
(if tok
(parse-integer tok)))
(unless (equalp ":" (next-token toks)) (warn "Missing colon"))
(loop for
count = (let ((tok (next-token toks)))
(if tok
(parse-integer tok)))
do (setf (gethash colour current-grab) count)
(unless (equalp "," (next-token toks))
(push current-grab grabs)
(setf current-grab (make-hash-table))))
(cons game-number (reverse grabs))))
do (setf (gethash colour grab) (max (or (gethash colour grab) 0) count))
(unless (or (equalp delim ";") (equalp delim ",") (not delim))
(warn (format nil "Unrecognized delimiter: ~a" delim))))
(cons game-number grab)))