Головна Головна -> Реферати українською -> Технічні науки -> Створення найпростішого компілятора

Створення найпростішого компілятора

Назва:
Створення найпростішого компілятора
Тип:
Реферат
Мова:
Українська
Розмiр:
4,62 KB
Завантажень:
492
Оцінка:
 
поточна оцінка 5.0


Скачати цю роботу безкоштовно
Пролистати роботу: 1  2  3 
з предмету «Основи побудови трансляторів».





Створення найпростішого компілятора.

Зміст.
Вступ.
1.Управління таблицею символів.
2.Аналіз і синтез.
3.Символи,шаблони,лексеми.
Висновок.
Список використаної літератури.





Вступ.
Компілятор- це програма, що перекладає з мови високого рівня на машинну мову. Прикладів можна навести багато: C, C++, Pascal, Ada, Fortran, Algol... Можна розширити це поняття, включивши сюди будь-які програми, що перекладають з однієї мови на іншу, наприклад, програми, що транслюють Паскаль у C. Проте більшість з них виконує дії, що є загальними для багатьох компіляторів, і тому будується на тих самих базових принципах.
Концептуально, транслятор працює пофазно, при ому в процесі кожної фази відбувається перетворення вихідної програми з одного представлення у інше. Типове розбиття компілятора на фази показано на рисунку .1.
Рисунок 2.1- Фази компілятора
На практиці, деякі фази транслятора можуть бути згруповані разом, проміжні фази всередині представлення програми можуть не створюватися.
Крім того, неформально, диспетчер таблиці символів та обробник помилок можуть вважатися фазами компілятора.
1.Управління таблицею символів.
Вона являє собою структуру даних, яка містить записи про кожного ідентифікатора з полями його атрибутів. Дана структура дозволяє легко знайти інформацію про необхідний ідентифікатор і внести зміни. Якщо лексичним аналізатором в вихідній програмі знайдено ідентифікатор, то він записується в таблицю символів. Наприклад, в оголошенні змінних на мові Pascal
var position, initial, rate : real
коли лексичний аналізатор знайде ці символи, то їх тим ще є невідомим.
В процесі решти фаз інформація про ідентифікатори вноситься в таблицю символів і використовується в різний спосіб. Наприклад, при семантичному аналізі необхідно знати генерації проміжного коду необхідно знати типи ідентифікаторів, щоби гарантувати їх коректне використання в вихідній програмі і згенерувати правильні операції по роботі з ними.
2.Аналіз і синтез.
Можна виділити дві основні частини процесу компіляції: аналіз і синтез. На першому етапі аналізується структура вихідного тексту і створюється деяке проміжне представлення програми. На другому етапі за цим представленням синтезується цільовий код. Неважко зрозуміти, що з цих двох етапів синтез більш спеціалізований, більше прив'язаний до конкретної ситуації.
Є кілька причин для поділу стадії аналізу компіляції на лексичний аналіз і синтаксичний аналіз:
1. Такий поділ часто дозволяє спростити одну з цих стадій. Якщо розробляється нова мова, то поділ лексичних (мовних) і синтаксичних (правил правопису) приводить до більш зрозумілої структури мови в цілому.
2. Поліпшується ефективність компілятора. Окремий лексичний аналізатор дозволяє будувати спеціалізований і більш ефективний обробник для задачі. Багато часу витрачається при читанні вихідної програми і розбитті її на лексеми. Особлива техніка буферизації для читання вхідних символів і обробки лексем може значно прискорити швидкодію компілятора.
3. Розширюється переносимість компілятора. Особливості вхідного алфавіту і інші, залежні від пристрою вводу аномалії зачіпають тільки лексичний аналізатор.
Розроблені спеціалізовані засоби, що полегшують автоматизацію розробки лексичних і синтаксичних аналізаторів, коли вони відділені один від іншого.
Багато програм, що формально не є компіляторами, виконують аналіз вихідного тексту. Як приклади можна навести:
1. Структурні редактори. На відміну від звичайних текстових редакторів, ці редактори орієнтовані на конкретний тип документів. Наприклад, є текстові редактори, які при введенні програм на C чи C++ самі робить потрібні відступи в вкладених блоках, виділяють різним кольором елементи програми, можуть перевіряти відповідність дужок та ін.
2. Програми красивого друку. Як і в попередньому прикладі, вони аналізують текст програми і друкують його, виділяючи лексичні елементи жирним шрифтом, курсивом, підкресленням і т.ін.
3. Інтерпретатори.

Завантажити цю роботу безкоштовно
Пролистати роботу: 1  2  3 



Реферат на тему: Створення найпростішого компілятора

BR.com.ua © 1999-2017 | Реклама на сайті | Умови використання | Зворотній зв'язок