Розробка системних програмних модулів та компонент систем програмування - Курсовая работа

бесплатно 0
4.5 135
Модель аналізу-синтезу компіляції. Формальний опис вхідної мови програмування. Вибір технології програмування, проектування таблиць транслятора та вибір структур даних. Опис програми реалізації лексичного аналізатора. Розробка дерев граматичного розбору.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Для реалізації лексичного аналізу в курсовій роботі використано метод перебору, тобто до чергової лексеми додається наступна буква, а тоді здійснюється пошук лексеми в таблицях ключових слів, та ідентифікаторів, якщо лексема не знайдена, тоді видається повідомлення про помилку. Таблиця лексем містить рядок, в якому була знайдена лексема, саму лексему, клас лексеми та її код. Синтаксичний аналіз базується на перевірці послідовності класів лексем, наприклад, якщо після оператора присвоєння слідує синтаксична лексема, чи після математичного оператора слідує лексема з класу порівнянь, то буде сформовано повідомлення по помилку. Для реалізації лексичного аналізу створюємо таблицю, в яку поміщаємо всі зарезервовані слова (char table[31] [10]), в курсовій роботі їх використовується 31-е, і таблицю (char name[20] [7]) для ідентифікаторів, які будуть введені користувачем. Лексеми мають такі класи: Клас лексем блоку 1 клас операторів вводу виводу 2 клас операторів присвоєння 3 клас математичних операторів 4 клас операторів порівняння 5 клас логічних операторів 6 клас ідентифікаторів 7 клас операторів циклу 8 клас лексем оголошення 9 клас лексем опису і аргументів виводу 10 клас синтаксичних лексем 11 клас констант 12Складено формальний опис мови програмування М9 у формі розширеної нотації Бекуса-Наура, дано опис усіх символів та ключових слів. Розроблено лексичний аналізатор, здатний розпізнавати лексеми, що є описані в формальному описі мови програмування, та додані під час безпосереднього використання компілятора. Складено таблицю переходів для даного автомата згідно правил записаних в нотації у формі Бекуса-Наура. Розроблено генератор коду, який починає свою роботу після того, як лексичним, синтаксичним та семантичним аналізатором не було виявлено помилок у програмі, написаній мовою М9.

Вывод
Підчас виконання курсової роботи: 1. Складено формальний опис мови програмування М9 у формі розширеної нотації Бекуса-Наура, дано опис усіх символів та ключових слів.

2. Створено компілятор мови програмування М9, а саме: 2.1.1. Розроблено лексичний аналізатор, здатний розпізнавати лексеми, що є описані в формальному описі мови програмування, та додані під час безпосереднього використання компілятора.

2.1.2. Розроблено синтаксичний аналізатор на основі автомата з магазинною памяттю. Складено таблицю переходів для даного автомата згідно правил записаних в нотації у формі Бекуса-Наура.

2.1.3. Розроблено генератор коду, який починає свою роботу після того, як лексичним, синтаксичним та семантичним аналізатором не було виявлено помилок у програмі, написаній мовою М9. Проміжним кодом генератора є програма на мові Assembler(i8086). Вихідним кодом є машинний код, що міститься у виконуваному файлі

3. Проведене тестування компілятора за допомогою тестових програм за наступними пунктами: 3.1.1. Виявлення лексичних помилок.

3.1.2. Виявлення синтаксичних помилок.

3.1.3. Загальна перевірка роботи компілятора.

Тестування не виявило помилок в роботі компілятора, а всі помилки в тестових програмах мовою М9 були виявлені і дано попередження про їх наявність.

В результаті виконання даної курсової роботи було успішно засвоєно методи розробки та реалізації компонент системного програмного забезпечення.

Список литературы
1. Ахо и др. Компиляторы: принципы, технологии и инструменты.: Пер с англ. - М.: Издательський дом «Вильямс». 2003. - 768 с.: ил. Парал. тит. англ.

2. Шильдт Г. С . - Санкт-Петербург: BXV, 2002. - 688 с.

3. Компаниец Р.И., Маньков Е.В., Филатов Н.Е. Системное программирование. Основы построения трансляторов. - СПБ.: КОРОНА принт, 2004. - 256 с.

4. Б. Керниган, Д. Ритчи «Язык программирования Си». - Москва «Финансы и статистика», 1992. - 271 с.

5. Л. Дао. Программирование микропроцессора 8088. Пер.с англ.-М. «Мир», 1988.

6. Ваймгартен Ф. Трансляция языков программирования. - М.: Мир, 1977.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?