проработай код конвертации улучши его, и добавь работу со всеми оператарами и возможными сценариями и обработку его 
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>C to Pascal Конвертер</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/codemirror.min.css">
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
        }
        .CodeMirror {
            height: 300px;
        }
        .button {
            margin-top: 10px;
        }
        pre {
            background-color: #f4f4f4;
            padding: 10px;
            overflow: auto;
        }
    </style>
</head>
<body>
    <h1>C to Pascal Конвертер</h1>
    <h3>Код на C:</h3>
    <textarea id="cCode" placeholder="Введите ваш C код здесь...">
#include <stdio.h>

// Функция сложения двух чисел
int add(int a, int b) {
    return a + b;
}

int main() {
    int a = 10;
    int b = 20;
    int sum = add(a, b);
    printf("Сумма: %d\n", sum);

    if (sum > 20) {
        printf("Сумма больше 20\n");
    } else {
        printf("Сумма 20 или меньше\n");
    }

    for (int i = 0; i < sum; i++) {
        printf("i = %d\n", i);
    }

    return 0;
}
    </textarea>
    <button class="button" onclick="convertCtoPascal()">Конвертировать в Pascal</button>

    <h3>Код на Pascal:</h3>
    <pre id="pascalCode"></pre>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/codemirror.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.13/mode/clike/clike.min.js"></script>
    <script>function convertCtoPascal() {
    let cCode = document.getElementById('cCode').value;
    let pascalCode = cCode;

    // Удаление препроцессорных директив
    pascalCode = pascalCode.replace(/#include\s*<[^>]+>/g, '');

    // Замена типов данных
    pascalCode = pascalCode.replace(/\bint\b/g, 'integer');
    pascalCode = pascalCode.replace(/\bfloat\b/g, 'real');
    pascalCode = pascalCode.replace(/\bdouble\b/g, 'real');
    pascalCode = pascalCode.replace(/\bchar\b/g, 'char');

    // Замена объявлений переменных (простые случаи)
    pascalCode = pascalCode.replace(/int\s+(\w+)\s*=\s*(.+);/g, 'var $1: integer := $2;');
    pascalCode = pascalCode.replace(/float\s+(\w+)\s*=\s*(.+);/g, 'var $1: real := $2;');
    pascalCode = pascalCode.replace(/double\s+(\w+)\s*=\s*(.+);/g, 'var $1: real := $2;');
    pascalCode = pascalCode.replace(/char\s+(\w+)\s*=\s*'(.+)';/g, "var $1: char := '$2';");

    // Замена printf на writeln
    pascalCode = pascalCode.replace(/printf\("([^"]+)",\s*(.+)\);/g, 'writeln($1, $2);');
    pascalCode = pascalCode.replace(/printf\("([^"]+)"\);/g, 'writeln($1);');

    // Замена return 0; на end.
    pascalCode = pascalCode.replace(/return\s+0;/g, 'end.');

    // Замена функции main
    pascalCode = pascalCode.replace(/int\s+main\s*\(\s*\)\s*\{/g, 'begin');

    // Замена if-else
    pascalCode = pascalCode.replace(/if\s*\(([^)]+)\)\s*\{/g, 'if ($1) then begin');
    pascalCode = pascalCode.replace(/else\s*\{/g, 'end else begin');

    // Замена цикла for
    // Предполагается, что цикл for имеет форму: for (int i = 0; i < n; i++) { ... }
    pascalCode = pascalCode.replace(/for\s*\(\s*int\s+(\w+)\s*=\s*(\d+);\s*\1\s*<\s*(\w+);\s*\1\+\+\s*\)\s*\{/g, 'for $1 := $2 to $3 - 1 do begin');

    // Замена закрывающих фигурных скобок
    pascalCode = pascalCode.replace(/\}/g, 'end;');

    // Добавление заголовка программы
    pascalCode = "program ConvertedProgram;\n\n" + pascalCode;

    // Форматирование отступов (простой вариант)
    pascalCode = pascalCode.replace(/;/g, ';\n  ');

    // Отображение результата
    document.getElementById('pascalCode').innerText = pascalCode;
}

</script>
</body>
</html>