// для обробки
delete t; // видаляємо виділену память
}
else // якщо аргументів не знайдено
{
t_pos = y.find(";", pos);
if (t_pos > 0)
y.replace(t_pos, 1, ""); // видаляємо ";"
y = "void "+ y + "()" ; // додаємо спочатку ключ. слово void
}
InProcedure = true; // сигналізуємо початок процедури
InVar = false; // сигналізуємо кінець блоку var
}
break;
// знайдено ключове слово FUNCTION
case FUNCTION:
{
y.replace(pos, 9, ""); // видаляємо слово
t_pos = y.find("(", pos);
t2_pos = y.find(")", pos);
// якщо аргументи існують
if (t_pos >0 && t2_pos >0 && t_pos < t2_pos)
{
char *t = new char [t2_pos - t_pos+1];
y.copy(t, t2_pos - t_pos, t_pos+1);
t[t2_pos - t_pos+1] = '\0';
y.replace(t_pos, t2_pos-t_pos+1, "");
y = y + " (" + prochange (t, y) + ")"; // викликаємо функцію
t2_pos = y.find(";", 0);
if (t2_pos >0)
y.replace(t2_pos, 1, "");
delete t;
}
else // якщо аргументи не існують
{
t_pos = y.find(";", pos);
if (t_pos > 0)
y.replace(t_pos, 1, "");
y = y + " ( )";
}
InProcedure = true; // сигналізуємо початок функції
InVar = false; // сигналізуємо кінець блоку var
}
break;
// знайдено ключове слово INTEGER
case INTEGER:
{
y.replace(pos, 7, ""); // видаляємо