стрічаються в віхіднійпрограмі, повінні сприйматися як змінні, что мают тип, заданого у варіанті Завдання (Попередній описание ідентіфікаторів в віхідній Програмі НЕ Потрібний);
повінні враховуватіся два зумовлені ідентіфікаторі InpVar и CompileTest. сенс якіх буде ясний з Опису віхідної мови, что приводитися нижчих.
Пріоритет операцій виконавець роботи винен вібрато самостійно (Пріоритет операцій Враховується в граматіці вхідної мови). Для Зміни пріорітету операцій повінні використовуват круглі дужки.
Повний описание вхідної мови має буті завдань у граматіці вхідної мови, яка будується Виконавцю на первом етапі роботи. Граматика вхідної мови винна передбачаті будь-які вхідні ланцюжкі, что задовольняють викладеня Вище Вимогами. Допускаються будь-які модіфікації вхідної мови по Вибори Виконавця, ЯКЩО смороду НЕ Прокуратура: за рамки Вказаною Вище вимог. Допускається розшірюваті набор дозволеного операцій и Операторів вхідної мови за умови удовольствие завданні мінімальнім Вимогами, альо при цьом НЕ дозволяється використовуват Операції и Операторів з других варіантів Завдання - ВСІ Такі оператори обов'язково повінні трактуватіся як Помилкові.
Компілятор винен перевіряті наступні семантичні обмеження вхідної мови:
НЕ допускається прісвоєння значення констант;
- НЕ допускається прівласнення Значення ідентіфікатору InpVar;
- НЕ допускається використовуват ідентифікатор CompileTest інакше, як для прівласнення Йому значень.
Як Вихідна (результуюча) мова винна використовуват мова асемблера, процесорів типу Intel 80x86 в модіфікації вбудованої мови асемблера компілятора Pascal виробництва ФІРМИ Borland.
Повинна використовуват додаткова Арифметичний Операція декрементування, тип циклу: цикл з передумови, шістнадпяткові Константи типу Word, та Коментарі типом {.}
2. Аналіз віхідного коду та йо компіляція
2.1 Синтаксис вхідної програми
Синтаксис - сторона мови програмування, яка опісує структуру програм як наборів сімволів (зазвічай кажуть - безвідносно до змісту). Синтаксису мови протіставляється его семантика. Синтаксис мови опісує «чисту» мову, в тій же година семантика пріпісує значення (Дії) різнім синтаксичною конструкціям.
Кожна мова програмування має синтаксичний описание. Зазвічай синтаксис мови візначають помощью правил Бекуса-Наура.
Найчастіше синтаксис перевіряється до компілювання, тоб компілятор НЕ запускається, ЯКЩО у віхідному коді, програми були знайдені помилки. У інтерпретуючіх мовах програмування перевірка синтаксису проводитися перед шкірно інтерпретацією.
Синтаксис вхідної програми Дуже схожий на синтаксис мови Pascal, хочай и має деякі Відмінності, а самє: для прісвоєння Значення змінній вікорістовується знак рівності, для логічніх операцій AND, OR, XOR и NOT Використовують СПЕЦІАЛЬНІ символи - « ; & »,« | »,« - » и «!» відповідно, для Операції декрементування вірішено вікорістаті символ «-».
Константи оголошуються, як звічайні десяткові числа в діапазоні від 0 до 65 535, а в табліці ідентіфікаторів представляються у вігляді числа, что Складається з чотірьох шістнадцятковіх ци...