Yup, standard practice for interpreters in languages that don't have tail call optimization.