Я не знаю, что вы имеете в виду под отображаемым массивом, но поддержка вложенных процедур обычно не использует массив, но указатель кадра каждого родителя передается каждому дочернему элементу.Так как вы можете искать родительский стековый фрейм родителя (обычно parentparentptr: = [my parentptr + constant]), это создает связанный список стековых фреймов.
В компиляторе вы должны затем построить список переменных для каждого фрейма, а затем вы можете построить выражение (загрузить указатель кадра, затем загрузить переменную путем косвенной загрузки через framepointer) для доступа к нему.В глубоко вложенных структурах, вероятно, стоит один раз найти нужные родительские кадры и сохранить их в стеке.