Действительно, стеки можно сократить, раза в четыре...
Тогда желательно, контролировать глубину вызова (например предупреждениями при отладке кода)
и использование буферных областей.
P.S. Может сразу ввести сжатие текстовой информации, по примеру Radiх-50 кодирования.
А отлаживаемые слова в ОЗУ хранить в байт-коде, если ещё это не используется.
Может ещё подумать об возможных вариантах использования регистров контроллера.
И если необходимо, то и ввести мультизадачность.
произвели неизгладимое впечатление: "круто, он учится понимать новые слова!"
Синонимы уже научился определять, а далее если так пойдёт то и антонимы научится использовать

языка.