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

get { return id; }

set { id = value; }

}

public string Type

{

get { return type; }

set { type = value; }

}

public string Value

{

get { return Id_value; }

set { Id_value = value; }

}

}

Для запам’ятовування виразу в постфікс ній формі використовується ArrayList.

3.3. Розробка лексичного аналізатора.

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

Клас лексеми , що визначає загальну назву для категорії елементів, що мають спільні властивості (наприклад, ідентифікатор, ціле число, рядок символів і т. д.).

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

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

При розробці алгоритму роботи лексичного аналізатора використовується скінченний автомат.

Особливостями цього алгоритму є те, що розбір виконується відносно кількості символів з яких складаються лексеми. За даним алгоритмом всі лексеми поділяються на односимвольні (!, &, |, ; ) дво символьні (>>, <>, ==) та багатосимвольні. Для кожного класу багатосимвольної лексеми розроблена функція, яка виділяє лексему, або констатує що дана лексема не відноситься до жодного з заданих класів лексем.

Рис 1.Граф-схема роботи лексичного аналізатора

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

Блок 2 – Відкриття і порядкове читання вхідного файлу з текстом програми

Блок 3 – Перевірка чи не досягнутий кінець файлу

Блок 4 – Виділення першого символу нової лексеми

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