|
Данная проблема решается использованием для
каждого уровня вложенности своего счетчика.
Уникальные метки создаются посредством включения в каждую из
них трех элементов информации. Первым элементом является иденти-
фикатор типа структуры, например, ?if_us, do_, ?rep_.Знак вопроса
используется для уменьшения вероятности конфликта с создаваемыми
пользователем символами или метками. Второй элемент информации
представляет собой уровень вложенности, который используется для
различения между номером метки n на одном уровне вложенности и
номером метки n на основном уровне вложенности и номером метки n
на другом уровне вложенности.Наконец, для обеспечения уникальнос-
ти метки каждого перехода конкретного уровня вложенности включа-
ется значение счетчика.
СТРУКТУРА УПРАВЛЕНИЯ НА АССЕМБЛЕРЕ
[ j(a) 1_1:
[ jmp 1_2:
IF(условие а) ----[ L_1: . (а)старт true-
[ . |
. |
[ j(b) 1_3: |
IF(условие b)---[ jmp 1_4: |
[ L_3: (b) кoд true|
. |
. |
. |
[ jmp 1_5: |
ELSE ----------[ L_4: . (b) код false|
[ .
|