2. Копирование текста
Для копирования текста необходимо предварительно скопировать разделы текста, на которые указывают указатели pDown
и pNext
Алгоритмы обхода NDT или DNT.
- Для навигации по тексту-копии также необходим стек
- Использование стеков исходного текста и текста-копии должны быть согласованы
- Для навигации по исходному тексту и тексту-копии используется один объединенный стек
Каждое звено текста копируется за два прохода:
- Первый проход – при подъеме из подуровня (pDown):
- создание копии звена
- заполнение поля
pDown
(подуровень уже скопирован)
- запись в поле
Str
значения Copy (для распознания звена при попадании на него при втором проходе)
- запись в поле
pNext
указателя на звено-оригинал (для возможности последующего копирования текста исходной строки)
- запись указателя на звено-копию в стек
- Второй проход – при извлечении звена из стека:
- заполнение полей
Str
и pNext
- указатель на звено-копию запоминается в переменной cpl