Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

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

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерної техніки, автоматики та метрології
Факультет:
КН
Кафедра:
Кафедра електронні обчислювальні машини

Інформація про роботу

Рік:
2011
Тип роботи:
Курсова робота
Предмет:
Системне програмування

Частина тексту файла

Національний університет “Львівська політехніка” Інститут комп’ютерної техніки, автоматики та метрології Кафедра “Електронні обчислювальні машини”  Курсова робота з предмету “Системне програмування” на тему: Розробка транслятора з вхідної мови програмування. Варіант № 45 Анотація В даній курсовій роботі розроблено транслятор з вхідної мови програмування z45. Дана робота носить навчальний характер, але є важливою, оскільки розробка програмних модулів і компонент системного програмування є актуальним завданням на сьогоднішній час. Транслятор розроблений в середовищі C++ Builder 2010 та поданий у пояснювальній записці, а також в електронному варіанті. Для побудови транслятора використано низхідний метод граматичного розбору. В пояснювальній записці подано огляд існуючих методів розробки трансляторів, детальний опис мови, а також описано процес розробки програми транслятора на рівні тексту програми. До проекту додано результати тестування програми та вихідний текст програми транслятора. Зміст Завдання на кусрову роботу 4 Вступ 6 1. Огляд методів та способів проектування трансляторів 7 2. Формальний опис вхідної мови програмування 9 2.1 Деталізований опис вхідної мови в термінах EBNF 9 2.2 Опис термінальних символів та ключових слів 11 3. Розробка транслятора вхідної мови програмування 12 3.1 Проектування таблиць транслятора 13 3.2 Розробка лексичного аналізатора 14 3.2.1 Розробка граф-схеми алгоритму 16 3.2.2 Опис програми реалізації лексичного аналізатора 18 3.3 Опис синтаксичного та семантичного аналізатора 20 3.3.1 Дерево граматичного розбору 21 3.3.2 Розробка граф-схеми алгоритму 22 3.3.3 Опис програми реалізації синтаксичного та семантичного аналізатора 23 3.4 Розробка генератора коду 24 3.4.1 Розробка граф-схеми алгоритму 25 3.4.2 Опис програми реалізації генератора коду 26 4. Опис інтерфейсу та інструкції користувача 27 5. Відлагодження та тестування програми 28 5.1 Виявлення лексичних помилок 28 5.2 Виявлення синтаксичних помилок 29 5.3 Виявлення семантичних помилок 30 5.4 Загальна перевірка коректності роботи транслятора 31 Висновки 32 Список літератури 33 Додаток А лістинг програми транслятора 34 Додаток Б лістинг програми заготовки початкового коду 62 Завдання на курсову роботу Розробити транслятор заданої вхідної мови програмування, до якої висуваються наступні вимоги: Кожна програма починається зі слова program і закінчується словом end. Після program йде розділ оголошення змінних var після розділу оголошення змінних починається блок коду словом begin.. Програма має надавати можливість працювати зі змінними таких типів: integer_2 – цілі числа. Регістр ключових слів нижній. Регістр ідентифікаторів нижній та верхній при цьому перший символ повинен бути ‘_’ , а довжина ідентифікаторів не повинна бути більшою за вісім символів. Присвоєння змінних виконується оператором присвоєння >> . Наприклад _X >> _Y + 5; Над змінними виконуються наступні операції. Арифметичні: +, -, *, /, % додавання, віднімання, ділення, множення, залишок від ділення; Логічні: not, and, or. Порівняння: =, <>, >=, <= рівність, нерівність, більше або рівно , менше або рівно; Ввід даних зі стандартного вводу відбувається оператором scandata, а вивід оператором printdata. Наприклад scandata(_a); printdata(“A=”); printdata(_a);. Для реалізації циклів виконується оператор for Наприклад for( _x>>0 ; _x<=4; _x>>_x+1;){ блок коду } Коментування певних частин коду здійснюється оператором коментаря // КОМЕНТАР. Потрібно також розробити середовище, яке б включало текстовий редактор з можливістю набору, редагування програми; зчитування та запису її на диск, запуску трансляції. На вхід розробленого компілятора має подаватися текстовий файл, написаний на заданій мові програмування. На виході розробленого компілятора мають з’являтися три файли: файл з результатом лексичного аналізу, файл з результатом синтаксичного аналізу, файл з результуючим програмним кодом на мові асемблер, файл з інформацією...
Антиботан аватар за замовчуванням

19.11.2013 19:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини