Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка компілятора мови С + +

Реферат Розробка компілятора мови С + +





им кодом.

. Генерація коду. З проміжного представлення породжується код на цільовому мовою.


Лексичний аналіз


Лексичний аналіз - перша фаза компіляції. На цьому етапі вихідний текст програми на трансльованому мовою перетворюється в послідовність лексем, що належать різним лексичним класам. У такому вигляді синтаксичний аналізатор отримує вихідну програму. p align="justify"> Крім цього лексичний аналізатор може вирішувати й інші завдання, такі як:

В· відкидання пробільних символів і коментарів (пробіл, символи табуляції і нового рядка, а також, можливо, деякі інші символи, що використовуються для відділення токенів один від одного у вхідному потоці );

В· синхронізація повідомлень про помилки з вихідним текстом програм (лексичний аналізатор може відстежувати кількість символів нового рядка, щоб кожне повідомлення про помилку супроводжувалося номером рядка, в якій вона виявлена);

Існує кілька способів реалізації лексичного аналізу: кінцеві автомати або генератори лексичних аналізаторів (lex, Flex, gplex, OOlex).

Для реалізації був обраний непрямий лексичний аналізатор на основі діаграм переходів.

Непрямий лексичний аналізатор реалізується як сукупність незалежних кінцевих автоматів, перевіряючих приналежність до окремих лексемам, автомати можна описати з використанням діаграм Вірта.

Кожен автомат представлений відповідною функцією, що здійснює імітацію переходів від початкового стану до одного з прикінцевих.

Принципи програмної реалізації:

В· кожному станом ставиться відповідно мітка;

В· аналізовані альтернативи перевіряються умовними операторами;

В· якщо результат перевірки є істиною, проводиться обробка контексту, береться наступний символ і здійснюється перехід на нову мітку (в новий стан);

В· процес повторюється до тих пір, поки не відбудеться перехід в одне із заключних станів.

компілятор алгоритм синтаксичний аналізатор

Алгоритм роботи лексичного аналізатора


У програмі лексеми розділені на класи: ключові слова, оператори, пунктуатори, символи, дужки, числа.

Опис класу:


class KeyWord

{private:

list keyword;// список ключових слів

public: (); operator () (const AnsiString s);// перевіряє належність до списку

};


<...


Назад | сторінка 2 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Синтаксичний аналізатор
  • Реферат на тему: Слуховий аналізатор
  • Реферат на тему: Нюховий аналізатор
  • Реферат на тему: Больовий аналізатор
  • Реферат на тему: Аналізатор нафтопродуктів