Реферат: Розробка системних програмних модулів систем програмування
Блок 6 – Виконання функції ParseKeyWords()
Блок 7 – Перевіряє чи перший символ a-z
Блок 8 – Виконання функції ParseIdent()
Блок 9 – Перевіряє чи перший символ 0-9
Блок 10 – Виконання функції ParseNum()
Блок 11 – Перевіряє чи перший символ “
Блок 12 – Виконання функції ParseString()
Блок 13 – Перевіряє чи символ є оператор
Блок 14 – Зберігання до таблиці лексем
Блок 15 – Перевіряє чи перший символ є $
Блок 16 – Виконання функції ParseComments()
Блок 17 – Перевіряє чи символ є розділювач
Блок 18 – Зберігання до таблиці лексем
Блок 19 – Якщо перший символ не є жодним з вищеперечислених
Блок 20 – Виконання функції ParseNoLex()
Блок 21 – Якщо файл прочитано, завершення роботи лексичного аналізатора
3.3.2Опис програми реалізації лексичного аналізатора
Програма по рядках читає вхідний файл. Прочитаний рядок передає як параметр функції Parse класу Parser. В лексичному аналізаторі для розпізнання використовуються наступні функції:
- Функція Parse() аналізує перший символ нової лексеми:
якщо перший символ A-Z, то запускається функція ParseKeyWords()
якщо перший символ a-z, то запускається функція ParseIdent()
якщо перший символ 0-9 або -, то запускається функція ParseNum()
якщо перший символ =,<,>,!,&,|,;, , ,(,) відбувається збереження лексеми
якщо перший символ $, то запускається функція ParseComments()
якщо перший символ “,то запускається функція ParseString()
якщо перший символ не є жодним з вищезгаданих то запускається процедура ParseNoLex()
- Функція ParseKeyWords() виділяє послідовність символі, які можуть містити ключові слова і перевіряє чи ця послідовність символів є ключовим словом і якщо це ключове слово зберігає його, як лексему
- Функція ParseIdent()виділяє послідовність символі, які можуть містити ідентифікатори і зберігає ідентифікатор