
Варіанти завдань
Таблиця 2 - Варіанти завдань на виконання курсової роботи.
№ п/п |
Тип допусти-мих констант |
Додаткові арифме-тичні операції |
Опера-тор циклу вхідної мови |
Опти-мізація |
Тип даних |
Тип комен-таря |
Граф станів ЛА |
1 |
2 |
*, / |
1 |
1 |
Byte |
1 |
1 |
2 |
2 |
>> << |
1 |
1 |
Byte |
2 |
2 |
3 |
2 |
++ |
1 |
1 |
Byte |
3 |
6 |
4 |
2 |
-- |
2 |
1 |
Byte |
4 |
4 |
5 |
8 |
*, / |
2 |
1 |
Word |
1 |
5 |
6 |
8 |
>> << |
2 |
1 |
Word |
2 |
3 |
7 |
8 |
++ |
3 |
1 |
Word |
3 |
1 |
8 |
8 |
-- |
3 |
1 |
Word |
4 |
6 |
9 |
16 |
*, / |
3 |
1 |
Integer |
1 |
2 |
10 |
16 |
>> << |
1 |
1 |
Integer |
2 |
3 |
11 |
16 |
++ |
1 |
1 |
Integer |
3 |
4 |
12 |
16 |
-- |
1 |
1 |
Integer |
4 |
5 |
13 |
2 |
*, / |
2 |
1 |
Byte |
1 |
1 |
14 |
2 |
>> << |
2 |
1 |
Byte |
2 |
6 |
15 |
2 |
++ |
2 |
1 |
Byte |
3 |
2 |
16 |
2 |
-- |
3 |
2 |
Byte |
4 |
3 |
17 |
16 |
*, / |
3 |
2 |
Word |
4 |
4 |
18 |
16 |
>> << |
3 |
2 |
Word |
3 |
5 |
19 |
16 |
++ |
1 |
2 |
Word |
2 |
6 |
20 |
16 |
-- |
1 |
2 |
Word |
1 |
1 |
21 |
8 |
*, / |
1 |
2 |
Integer |
4 |
3 |
22 |
8 |
>> << |
2 |
2 |
Integer |
3 |
4 |
23 |
8 |
++ |
2 |
2 |
Integer |
2 |
2 |
24 |
8 |
-- |
2 |
2 |
Integer |
1 |
5 |
25 |
2 |
*, / |
3 |
2 |
Byte |
1 |
1 |
26 |
2 |
>> << |
3 |
2 |
Byte |
2 |
2 |
27 |
2 |
-- |
3 |
2 |
Integer |
3 |
3 |
28 |
2 |
-- |
1 |
2 |
Integer |
4 |
4 |
29 |
8 |
*, / |
2 |
2 |
Word |
1 |
5 |
30 |
8 |
>> << |
3 |
2 |
Word |
2 |
6 |
Типи констант:
2 — двійкові;
8 — вісімдесяткові;
16 — шістнадцяткові.
Додаткові арифметичні операції:
*, / — множення і ділення;
>> << — зсув вправо і вліво (арифметичні або логічні — по вибору);
++ — інкремент (збільшення значення змінної на 1);
-- — декремент (зменшення значення змінної на 1).
Оператор циклу вхідної мови:
1. Цикл з предумовою
2. Цикл з постумовою
3. Цикл з перерахування по заданій змінній
Типи коментарів:
1 – коментар у фігурних дужках: { .}
2 – коментар в круглих дужках з «зірочкою»: (*.*)
3 – коментар за подвійною косою межею до кінця рядка: //.
4 – коментар усередині косої межі з «зірочкою»: /*.*/
Методи оптимізації:
1 – виключення зайвих операцій;
2 – згортка об'єктного коду.
Побудова графу станів кінцевого автомату для лексичного аналізатора:
1 – визначення змінної (тип згідно варіанту)
2 – визначення коментарів (згідно варіанту)
3 – визначення службових слів
4 – визначення констант (згідно варіанту)
5 – визначення ідентифікатора
6 – визначення арифметичних операцій