// 2025-2026 Богданович Давид Когут Прихожденко (кдб.дійсність.укр)

взяти визначення мавка;

простір мавка {
  дія записати_метод_класу_Код__чародія_текст(М: *Машина);

  внутрішня дія записати_ознаки_класу_Код(М: *Машина) {
    М.клас_Код.ознаки = М.пуста_послідовність;
  }

  дія заповнити_клас_Код(
    М: *Машина
  ) {
    М.клас_Код.вбудований = так;
    М.клас_Код.заборонити_наслідування = так;

    записати_ознаки_класу_Код(М);

    записати_метод_класу_Код__чародія_текст(М);
  }

  дія створити_код(
    М: *Машина,
    константи: *ПредметПослідовності,
    вказівки: *ПредметДаних,
    шлях: *ПредметДаних,
    місцезнаходження_вказівок: МісцезнаходженняВказівок
  ) -> *ПредметКоду {
    змінна предмет = виділити_предмет<ПредметКоду>(М, М.клас_Код);

    предмет.константи = константи;
    предмет.вказівки = вказівки;
    предмет.шлях = шлях;
    предмет.місцезнаходження_вказівок = місцезнаходження_вказівок;

    вернути предмет;
  }

  дія знайти_рядок_вказівки(
    місцезнаходження_вказівок: МісцезнаходженняВказівок,
    позиція_вказівки: п32
  ) -> п32 {
    змінна п: природне = 0;

    поки п < місцезнаходження_вказівок.розмір {
      змінна м = місцезнаходження_вказівок.дані[п];

      якщо м.початок <= позиція_вказівки {
        якщо м.кінець >= позиція_вказівки {
          вернути м.рядок;
        }
      }

      п += 1;
    }

    вернути 0;
  }
}