неділю, 16 вересня 2018 р.

Основи розробки трансляторів 2018-2019


Для захисту лабораторних робіт студент повинен мати при собі протокол. Протоколи до лабораторних робіт мають бути роздруковані без титульного листа, але з зазначенням прізвища студента на кожному аркуші.
Для успішної здачі лабораторної роботи студент має вільно відповідати на теоретичні та практичні питання за темою роботи та відповідно до програмного коду роботи. Якщо простежується несамостійне виконання роботи, студенту надається можливість здати роботу наступного разу. Детальні критерії оцінювання зазначено в робочій програмі.

Лабораторна робота №1

Розробити програму, що реалізує лексичний аналізатор (ЛА) мови, метод та особливості мови відповідають варіанту (що є номером студента в списку групи).
На вхід програми подається текст, написаний відповідною мовою, на виході необхідно видавати вихідну таблицю лексем, ідентифікаторів, констант і (якщо передбачено завданням) міток. Окрім лексичних помилок програма повинна виявляти деякі семантичні помилки: повторне оголошення ідентифікатора (мітки), використання неоголошених ідентифікаторів (міток). За можливості реалізувати ще одну семантичну функцію: виявлення типу змінних. Усі повідомлення про помилки повинні супроводжуватися номером рядка, в якому мала місце помилка.

Склад протоколу:

  1. граматика мови програмування;
  2. таблиця лексем;
  3. показовий приклад програми (з усіма операторами та видами констант);
  4. вихідні таблиці лексичного аналізатора для прикладу;
  5. діаграма станів;
  6. таблиця переходів скінченного автомата.

Лабораторна робота №2

Реалізувати синтаксичний аналізатор (СА) на основі методу рекурсивного спуску. СА повинен мати зручний графічний інтерфейс користувача; надавати можливість вводити вхідний текст програми, записувати його в файл та відкривати файл з текстом; надавати можливість перегляду вихідних таблиць лексичного аналізатора; видавати лексичні та синтаксичні помилки. Усі повідомлення про помилки повинні супроводжуватися номером рядка, в якому було знайдено помилку.

Склад протоколу:

  1. протокол до першої роботи;
  2. перетворена граматика.

Лабораторна робота №3

Реалізувати синтаксичний аналізатор на основі автомата з магазинною пам'яттю (МПА). Окрім вихідних таблиць ЛА, програма повинна надавати можливість перегляду МПА у формі таблиці переходів, а також виводити таблицю розбору. Замість таблиці розбору можна реалізувати режим покрокового синтаксичного аналізу, при чому на кожному кроці буде підсвічуватися поточний стан, поточна лексема та наступне положення автомата.

Склад протоколу:

  1. протокол до першої та другої роботи;
  2. скінченний автомат у вигляді діаграми станів;
  3. скінченний автомат у вигляді таблиці переходів.

Лабораторна робота №4

Розробити програму, яка автоматично буде встановлювати відношення передування за граматикою (що відповідає варіанту). У разі виникнення протиріч, програма повинна повідомляти про це.

Склад протоколу:

  1. протокол до першої роботи;
  2. граматика, приведена до виду граматики простого передування.

Немає коментарів:

Дописати коментар