A Recursive Descent Parser & Interpreter Implemented in JavaScript