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

Блок 15 - Перевіряє чи наступний символ READ

Блок 16 - Виконання функції ParseREAD()

Блок 17 - Виконання функції ParseSTART()

Блок 18 - Перевіряє чи наступний символ <ident>

Блок 19 - Виконання функції ParseEqution()

Блок 20 - Виконання функції ParseSTART()

Блок 21 - Перевіряє чи наступний символ WHILE

Блок 22 - Виконання функції ParseWHILE()

Блок 23 - Виконання функції ParseSTART()

Блок 24 – Якщо інший символ?

Блок 25 – Функція Error();

Блок 26 - Виконання функції ParseSTART()

Блок 27 - Перевіряє чи наступний символ FINISH

Блок 28 – Якщо не фініш виконання функції Error();

Блок 29 - Завершення Синтаксичного аналізатора

3.4.3 Опис програми реалізації синтаксичного та семантичного аналізатора

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

В синтаксичному аналізі використовуються функції для робору всіх конструкції вхідної мови, вони рекурсивно викликають одна одну відповідно до заданих правил. Для кожного нетерміналу розроблена функція, яка перевіряє правило, яке відповідає даному нетерміналові. Також додатково описані функції Infix_to_Postfix() і Infix_to_Postfix_b() і функція isDeclaredVariable() яка виконує семантичний аналіз, тобто перевіряє чи змінна оголошена, чи вона відповідно до контексту має правельний тип і чи має значення.

3.5.Розробка генератора коду

3.5.1 Розробка граф-схеми алгоритму

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

Рис 3 .Граф-схема роботи генератора коду

Блок 1 – Початок синтаксичного аналізатора

Блок 2 – Основна функція аналізатора

Блок 3 – Перевіряє чи наступний символ Var

Блок 4 – Генерація блоку даних

Блок 5 - Перевіряє чи наступний символ INT32_t

Блок 6 – Генерація 4-х байтних хмінних

К-во Просмотров: 468
Бесплатно скачать Реферат: Розробка системних програмних модулів систем програмування