It sounds like you're in for a world of pain and/or fun :) Writing an interpreter is no joke, and it looks like you may need to account for complex behavior that has already been done by someone else.
Might I suggest using an already made Javascript interpreter and see if that works for you? [Duktape](https://duktape.org/) is a good one that's been around since 2013 and has some [basic Nim bindings](https://github.com/manguluka/duktape-nim) (but they might not work as is due to them being for an older version of duktape).
