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

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





ign="justify"> Малюнок 6 - Побудова таблиці ідентифікаторів


Висновок


У цій роботі були реалізовані наступні фази компіляції:

1) лексичний аналіз результатом, якого є таблиця токенів;

2) синтаксичнийаналіз результатом, якого може бути дерево розбору у разі коректності аналізованого коду;

) побудована таблиця ідентифікаторів.

Реалізоване додаток дозволяє аналізувати файли з розширенням та *. cpp, *. h, *. c, *. hpp.

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


Список літератури


1. Ахо, Лам, Мережі, Ульман. Компілятори: принципи, технології та інструментарій, 2-е вид.: Пер. з англ. - М.: ТОВ В«І.Д. Вільямс В», 2008. - 1184 с.: Іл.

2. Мозковий М. В. Класика програмування: алгоритми, мови, автомати, компілятори. Практичний підхід. - СПб.: Наука і Техніка, 2006. - 320 с.: Іл.

. Серебряков В.А., Галочкин М.П. Основи конструювання компіляторів, Москва, 2001. - 224с.



Додаток А


Текст тестової програми для перевірки коректності роботи лексичного аналізатора


# include

/* fbdfbdfbdfbdf fhdfh/* fdhfghf */

// ------------ main ()

{const n = 34u, m = 12LU; l = 12.6f, t = 23.6L; u = 11e-10f; a = 0012, b = 0xabcd, c = -12; float d = 07;

a = 12.11, t = 12e2, u =-0.23e-12;

a = 'a', t = ' 0', v = ' 123', k = ' xab';

t [] = "gfbfgnf t " "" hmnghjmh ";

& =

>> = 0;

}


Текст тестової програми для перевірки коректності роботи синтаксичного аналізатора


# include

// testRET {red, green = 1} main (int s, double z)

{int a, b = 4, c = 0, d = 121, q; = 10; ((a + b * c) <10 && c

{for (int i = 0; i <5; i + +)

{q + = 1; {+ + a;} (b + a <20)

}

}

/*/* olololo

*/(a ​​<10) (b> 10 && b <15)

{int s = b;} s = a; s;

}



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





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

  • Реферат на тему: Розробка алгоритму роботи синтаксичного аналізатора тексту, а також бази да ...
  • Реферат на тему: Конвертер програми з підмножини мови Сі в Паскаль з використанням LL (1) ме ...
  • Реферат на тему: Розробка алгоритму синтаксичного аналізу оператора виведення printf мови C ...
  • Реферат на тему: Створення тестової інформаційної системи для перевірки знань з предмету ООП
  • Реферат на тему: Додаток, що дозволяє проводити розрахунок заданої електричної схеми з різни ...