Giving up on hand-written parser, using BNFC
Insanely productive parser generation - 5 minutes
Working type signature parser