Функція convertcpp() отримує в якості аргументу строку коду, конвертує її до типу string і проводить її обробку. Процес обробки проходить наступним чином: функція містить цикл do-while в тілі якого проводиться пошук в переданій строці ключових слів мови Pascal (які перераховані в строковому масиві chg[]). В разі позитивного результату відбувається обробка в тілі оператора switch (селектором, якого є індекс елементу строкового масиву).
Цикл продовжується до тих пір, доки знайдено хоча б одну відповідність.
В більшості випадків обробка зводиться до заміни ключового слова мови Pascal на його еквівалент в мові С++. При цьому для пошуку використовується метод find класу string, а для заміни метод replace.
Метод find повертає позицію в тексті, де було знайдено фрагмент.
Синтаксис: int find (char * _text, int _pos)
А метод replace проводить заміну.
Синтаксис: void replace (int _pos, int _n, char * text)
У випадку складних синтаксичних конструкцій використовується допоміжні змінні t_pos, t2_pos, firstFlag, InFor і т.д.
В якості значення функція повертає змінну строкового типу, яка є результуючим кодом (записується до кінцевого файлу).
Функція coments()
void coments (string &y)
Допоміжна зовнішня функція, використовується для проведення обробки коментарів. В якості аргументу отримує посилання на строку. Викликається одноразово перед початком обробки безпосередньо в функції convertcpp (щоб запобігти повторній заміні операторних дужок {}). Розташована в допоміжному модулі cach.cpp.
Функція massiv ()
void massiv (string &y)