ручний переклад програми на Паскалі на мову СІ вимагає від програміста програми значних інтелектуальних зусиль, а реалізація конвертора для мови Паскаль можлива лише за наявності істотних часових і матеріальних ресурсів. Крім синтаксичних обмежень вхідна програма конвертора має ряд чисто семантичних обмежень, пов'язаних з реалізацією власне конвертора. Перелічимо основні з них:
Обмежене використання типів даних, у повному обсязі підтримуються тільки арифметичні типи даних.
Вкладеність блоків, в яких використовуються однойменні об'єкти, не повинна перевищувати двох рівнів.
Процедурні блоки не повинні бути всередині BEGIN-блоків, вкладеність процедурних блоків не обмежується.
Допускається використовувати тільки одномірні масиви з відкритою правою кордоном (динамічні масиви) в якості параметрів процедурних блоків; при цьому адресуються елементи масиву в Паскаль програмою, починаючи з нульового елемента.
Обмежене використання змішання різних типів даних.
Вирази в Паскалі
Конструкція мови, що задає порядок виконання дії над елементами даних, називається виразом. Вираз складається з операндів (operand - елемент даних, бере участь в операції), - величин і виразів, над якими проводиться операція (константи і змінні всіх типів, звернення до функцій); круглих дужок і знаків операцій. Операції визначають дії, які треба виконати над операндами. Наприклад, у виразі (X + Y-10) X, Y і 10 - операнди; а "+" І "-" - знаки операцій додавання і віднімання. p> У простому випадку вираз може складатися з однієї змінної або константи. Круглі дужки ставляться так само, як і в звичайних арифметичних виразах для управління асоціативністю і порядком виконання операцій.
Операції в мові Паскаль діляться на арифметичні, відносини, логічні (булеві), операцію @, рядкові та ін Вирази відповідно називаються арифметичними, відносини, Булевського, рядковими і т.д. залежно від того, якого типу операнди та операції в них використовуються. p> Тип значення, обчислюваного за допомогою виразу, визначається типом його операндів і знаками виконуються над ними операцій.
Операції можуть бути унарними і бінарними. У першому випадку операція відноситься до одного операнду і завжди записується перед ним, у другому - операція виражає відношення між двома операндами і записується між ними.
Наприклад, -А - унарний операція, Х + У - бінарна. p> Арифметичні вираження та операції.
Арифметичним називається вираз, складене з операндів арифметичного типу і використовує тільки знаки арифметичних операцій і круглі дужки. Порядок обчислення визначається дужками і старшинством операцій.
Арифметичне вираз породжує ціле або дійсне (дійсне) значення. Найбільш простими формами арифметичних виразів є:
Ціла або дійсна константа без знака;
Ціла або дійсна мінлива;
Елемент масиву цілого або дійсного типу;
Функція, приймаюча ціле або дійсне значення...