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