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

Реферат Синтаксичний аналізатор





stify"> .3 Побудова діаграми лексичного аналізатора


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

Тут S - початковий стан кінцевого автомата, F - кінцевий стан, відповідне кінця розбору лексеми.

1. Граф кінцевого автомата для розпізнавання лексем «ідентифікатор» і «ключове слово».



2. Граф кінцевого автомата для розпізнавання лексеми «ціла константа без знака».



3. Граф кінцевого автомата для розпізнавання лексеми «строкова константа».



4. Графи кінцевих автоматів для розпізнавання лексем «однолітерний роздільник» і «двулітерний роздільник». Тут «Знак1» - включає літери класу «однолітерние роздільники».



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


Тут «Пропуск» - клас, що включає прогалини, символи табуляції і переведення рядка, «Не}» - клас, що включає всі літери крім літери «}».

Специфікації функцій лексичного аналізатора

1) Процедура ReadLexem (Text) - зчитує лексему з вхідного потоку і розпізнає її тип.

Вхід: вхідний потік літер тексту програми.


) Процедура GetLexem (Type, Lexem) - залежно від типу переданої лексеми викликає одну з процедур:

GetId (Lexem) - для лексем «ідентифікатор» і «ключове слово»; GetNum (Lexem) - для лексем «ціла константа без знака»; GetSCon (Lexem) - для лексем «строкова константа»; GetLet (Lexem) - для лексем «однолітерний роздільник» і «двулітерний роздільник»;

Вхід: лексема і її тип.

3) Процедура GetId (Lexem) - якщо передана лексема є ключовим словом, визначає її адресу (pos) у таблиці ключових слів і викликає процедуру WriteToken (Key, pos); в іншому випадку шукає запис (pos) про цю лексеме в таблиці ідентифікаторів, якщо знаходить, то викликає процедуру WriteToken (Id, pos), інакше викликає процедуру AddLexem (Id, Lexem);

Вхід: лексема типу «ідентифікатор» або «ключове слово».

4) Процедура GetNum (Lexem) - шукає запис (pos) про переданої лексеме в таблиці констант, якщо знаходить, то викликає процедуру WriteToken (Num, pos), інакше викликає процедуру AddLexem (Num, Lexem) ;

Вхід: лексема типу «ціла константа без знака».

5) Процедура GetLet (Lexem) - визначає адресу (pos) лексеми в таблиці роздільників і викликає процедуру WriteToken (Let, pos);

Вхід: лексема типу «однолітерний роздільник» або «двулітерний роздільник»;.

6) Процедура AddLexem (Type, Lexem) - додає запис (pos) про лексеме в таблицю лексем заданого класу і викликає процедуру WriteToken (Type, pos);

Вхід: лексема і її тип.

7) Процедура WriteToken (Type, Position) - формує токен і записує його у вихідний потік токенів.

Вхід: номер лексеми у відповідній таблиці лексем.


.4 Таблиці лексем


Таблиця ключових слів

Таблиця ключових словімя ключового слова

Таблиця іденти...


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





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

  • Реферат на тему: Розпізнавання ключових слів у потоці мовлення за допомогою фонетичного стен ...
  • Реферат на тему: Побудова графіків функцій засобами електронної таблиці Excel
  • Реферат на тему: Порядок приміщення і особливості операцій при приміщенні товарів під митний ...
  • Реферат на тему: Синтез багатофункціонального кінцевого автомата
  • Реферат на тему: Синтез багатофункціонального кінцевого автомата