In case you weren't aware, Crafting Interpreters is a great book and freely available online:
<http://craftinginterpreters.com/> It gently walks you through writing a parser (and later an interpreter) for a java-like language using recursive descent (with code in java) and Pratt parsing (in C). In my experience the code is pretty easily translated to Nim, and you can find a bunch of people's implementations in Nim if your search GitHub for "Nim lox" or "Nim Crafting Interpreters".
