Сделать 2 лабораторные работы(их можно объединить). В помощь учебник со страницы 172 по 203 для понимания того, что нужно сделать
Реализовывается это всё на основе уже написанного синтаксического анализатора и лексчического. Есть архив, с таким же вариантом как и у меня по этим лабам, но не удалось "адаптировать" под код полностью, чтобы препод был доволен. Можно скелетом и мышцами пользоваться оттуда
Могу также доотправить лексику, если будет непонятно будет, диаграммы синтаксические.
Вариант: Программа: главная программа языка С++. Допускается описание массивов как типов.
Типы данных: bool,int, double
Операции: все арифметические, сравнения.
Операторы: пустой, составной, присваивания и switch.
Операнды: простые переменные, элементы массивов произвольной размерности и константы.
Константы: целые в 10 c/c , вещественные в экспоненциальной форме, логические.
ЛР 8
Задание:
1. Создать заголовочный файл семантического класса.
2. Реализовать семантические функции, связанные с созданием семантического дерева. Это конструкции описания данных и типов.
3. Особое внимание обратить на ошибки дублирования идентификаторов в одной области видимости, а так же возврат на предшествующий уровень после завершения блока.
Отчет:
1) Примеры ошибочных тестов описания данных с реакцией Вашей программы
(не менее 3 тестов с разными типами ошибок)
2) Пример правильного теста с реакцией Вашей программы
(все конструкции ЯП должны присутствовать в тесте)
3) Дополнительно прикладывается zio-архив с кодом программы
ЛР 9
Задание:
1. Реализовать функции контроля использования объектов.
2. Обратить внимание на приведение типов в выражениях.
3. Проверить работоспособность на всех требованиях, выделенных в работе № 6.
Отч