Скачиваний:
8
Добавлен:
01.05.2014
Размер:
79.14 Кб
Скачать

2.1. Классы литер.

Разделим множество литер на следующие классы:

Класс 0

неопознанный символ

Класс 1

заглавные и строчные буквы латинского алфавита, кроме E, e

Класс 2

цифра

Класс 3

/

Класс 4

*

Класс 5

>

Класс 6

<

Класс 7

=

Класс 8

!

Класс 9

&

Класс 10

|

Класс 11

E, e

Класс 12

.

Класс 13

( ) , { } [ ] ; :

Класс 14

\n \t \v \32 - знаки пробел, перевод каретки, горизонтальная и вертикальная табуляция

Класс 15

Класс 16

+

Класс 17

-

2.2. Классы лексем.

Все лексемы разделены на следующие классы:

  1. Ключевые слова.

  2. Идентификаторы переменных и констант.

  3. Идентификаторы меток.

  4. Однолитерные разделители.

  5. Двулитерные разделители.

  6. Константы.

  7. Строки.

В конечном состоянии Q0 выполняются следующие действия в зависимости от номера предыдущего состояния.

Номер предыдущего состояние

выполняемые действия

3

Записываем полученную строку символов в таблицу идентификаторов, (если данного идентификатора раньше не было в таблице) если следующий символ на входной цепочке ‘:’, то этот идентификатор имеет тип метки. На выходную цепочку записываем соответствующую лексему типа идентификатор.

2

Производится поиск в таблице ключевых слов. Если поиск заканчивается успешно, то это ключевое слово а иначе записываем полученную строку символов в таблицу идентификаторов, (если данного идентификатора раньше не было в таблице). На выходную цепочку записываем соответствующую лексему типа ключевое слово или типа идентификатор.

9, 11, 13, 15, 23, 17

На выходную цепочку записываем соответствующую лексему типа однолитерный разделитель.

12, 14, 16, 18, 20, 22, 10

На выходную цепочку записываем соответствующую лексему типа двулитерный разделитель.

19, 21, 25

Ошибка

4, 6, 26, 27, 28, 5

Производится поиск в таблице констант. Если поиск заканчивается неуспешно, то записываем полученную строку символов в таблицу констант. На выходную цепочку записываем соответствующую лексему типа константа.

29

Строки. Записываем полученную строку символов в таблицу строк.

9

Соседние файлы в папке Курсовая работа2