Page 14 - 4476
P. 14
вище вимог. Допускається розширювати набір дозволених
операцій і операторів вхідної мови за умови задоволення
заданим мінімальним вимогам, але при цьому не дозволяється
використовувати операції і операторів з інших варіантів
завдання – всі такі оператори обов'язково повинні
трактуватися як помилкові.
Компілятор повинен перевіряти наступні семантичні
обмеження вхідної мови:
не допускається присвоєння значень константам;
перевіряти змінні та константи на сумісність типів
даних.
Як вихідна (результуюча) мова повинна
використовуватися мова асемблера процесорів типу
Intel 80x86 .
У загальному вигляді результуюча програма повинна
мати наступний вигляд:
Program <Ім’я_програми>; {Ім'я програми вибирається
виконавцем самостійно}
Var InpVar: <Тип_данних>; {Тип даних вказаний у
варіанті завдання}
Var <Спісок_змінних>: <Тип_даних>;
{Список змінних повинен містити перелік всіх змінних з
вихідної програми}
Function CompileTest(InpVar: <Тип_данних>):
<Тип_данних>;
{Змінні являються оголошені в тексті вихідної програми}
Begin|
Asm|
{Сюди має бути включений текст результуючої програми,
породжений компілятором}
end;
end;
begin
13