Тебе трудно будет достичь лимита на куче, а лимита рекурсии вполне реально
Не, ну просто можно на стеке хранить указатели. И лимит действительно можно увеличить так, что для практических нужд хватит более чем.
Если у тебя глубина AST превышает 1 миллиона (насколько я знаю, дефолтный стек равен 8Мб), значит тут явно что-то не так. И всегда можно контролировать глубину рекурсии через глобальную переменную и вызывать кастомную обработку переполнения рекурсии, если уж так надо.