При возврате возникают другие трудности. К примеру, при окончании конструкции происходит переход на пустую ячейку, затем осуществляется переход на ячейку возврата. Значение, заполненное в ячейке возврата ищется по таблице. По полученному значению осуществляется переход. Например, при окончании конструкции <id-list> (шаг 20), текущей ячейкой оказывается ячейка 5,7. Затем производится переход в ячейку 5,1 (шаг 21). По таблице определяем, что адрес возврата @4,3 (значение из шага 14), т.е. перейти на четвертую строку, третий столбец.
Далее отыскивается положение в грамматике БНФ по имени предыдущей позиции. Например, после перехода в ячейку 4,3 (шаг 22) отыскиваем в таблице имя элемента грамматики ячейки 4,2 (значение из шага 13), им оказывается нетерминальный символ <id-list> конструкции <dec>. По грамматике БНФ определяется, что следующий элемент конструкции <dec> является «:».
Таблица 13 – Таблица построений
Шаги
Таблица кодов лексем
Имя в программе
Элемент грамматики БНФ
Результат сравнения
Формируемая таблица переходов
Выполненное действие
текущая позиция
следующая позиция
позиция
табл
код, специф
тип
имя
текущая конструкция
код
(для ТС)
строка
столбец
вносимое значение
1
ТС
PROGRAM
<prog>
–ТС
+
2
$1,1
3
ИД
Prog1
<prog-name>
НС
@2,2
@1,4
4
id
$2,1
5
27
;
$1,27
6
VAR
конец конструкции
7
переход
8
$1,2
9
a
<dec-list>
@3,2
10
@1,6
11
а
<dec>
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26