Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
20
Добавлен:
02.05.2014
Размер:
339.97 Кб
Скачать

Лексический анализатор

Лексический анализатор – часть компилятора, которая читает литеры программы на исходном языке и строит из них слова – лексемы.

Конечный автомат задается пятеркой:

M=(Q, , ,q0,F), где:

Q - конечное множество состояний автомата;

- конечное множество допустимых входных символов;– множество функций перехода автомата;

q0 Q - начальное состояние автомата;

F Q - множество конечных состояний автомата.

Системное Программное Обеспечение

Лексический анализатор

Граф состояний лексического

Граф состояний лексического

анализатора без ключевых слов

анализатора c ключевыми словами

 

0, 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b, B

 

, +, -, *, /, ;, ), <, >, =

 

o, O

 

r, R

 

 

 

,

(

 

 

 

 

 

Е

Е

 

 

 

 

 

 

 

 

 

 

 

I

 

 

I

 

 

 

E

 

 

0, 1

 

 

 

f, F

 

 

 

 

 

 

 

 

 

 

 

 

s, S

 

e, E

 

 

,

(

 

 

 

 

 

Е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

 

 

.

 

, a..z, A..Z, 0, 1

 

 

I

 

 

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i, I

f, F

,

;

;

 

 

Е

 

l, L

 

 

 

 

 

 

=

 

 

, a ..z, A..Z, 0, 1 , (

 

 

 

 

 

 

I

I

E

 

:

 

Е

Е

Е

 

n, N

 

d, D

 

,

.,

;

 

 

 

 

 

 

 

I

 

I

 

 

I

 

 

 

Люб ые символы

e, E

 

 

 

 

 

 

 

 

}

 

 

 

o, O

 

t, T

 

 

 

,

(

 

 

 

 

Е

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

 

I

 

 

 

E

 

 

{

 

 

 

n, N

 

 

 

 

 

 

 

 

 

, a ..z, A..Z, 0, 1 , (

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r, R

 

,

(

 

 

 

 

 

 

+

 

 

Е

o, O

 

 

 

 

 

 

 

 

 

, a ..z, A..Z, 0, 1 , (

 

I

 

 

Е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

Е

a, A

 

n, N

 

d, D

 

 

,

(

 

 

 

 

 

 

 

 

 

 

 

=

 

, a ..z, A..Z, 0, 1 , (

p, P

 

I

 

 

I

 

 

 

E

 

 

 

 

 

Е

 

r, R

 

o, O

 

 

g, G

 

 

 

<

 

, a ..z, A..Z, 0, 1 , (

 

 

 

 

 

 

 

 

 

 

 

I

 

 

I

 

 

 

I

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е

b, B

 

 

 

 

 

 

 

>

 

 

 

e, E

g, G

 

i, I

 

 

n, N

 

 

 

, a ..z, A..Z, 0, 1 , (,

 

 

 

 

 

 

 

 

 

 

 

I

 

I

 

 

I

 

I

E

 

(

 

 

Е

d, D

 

 

 

 

 

 

 

 

 

 

o, O

 

 

 

 

 

 

 

 

, (

)

 

, a ..z, A..Z, 0, 1 , (

 

 

 

w, W

n, N

t, T

o, O

 

 

Е

i, I

 

I

I

 

 

 

 

 

 

 

 

 

I

I

I

E

*

 

,a ..z, A..Z, 0, 1 , ), ;, <, >, =, +, - , *, /

 

f, F

 

,

(

 

 

 

 

 

 

 

 

 

 

 

/

 

 

Е

 

 

I

 

 

Е

 

 

 

 

 

 

 

 

 

t, T

 

 

 

 

 

 

 

 

 

 

,a ..z, A..Z, 0, 1 , (

 

h, H

 

e, E

 

 

 

n, N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

 

I

 

 

I

E

 

c, g, h, j..m,

 

,a..z, A..Z, 0, 1 , (

 

 

 

 

 

 

 

q..s ,u..z,

 

o, O

, (

 

 

 

 

 

 

 

 

 

 

 

Е

 

 

 

 

 

 

 

 

 

C, G, H , J..M,

 

 

 

 

 

 

 

 

 

 

 

 

 

Q..S, U..Z

 

,:, +, -, *, /, ;, ), <, >, =

 

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е

 

 

 

 

 

 

 

 

 

 

 

 

 

a..z, A..Z, 0..9

 

 

 

 

 

 

 

 

 

 

 

 

 

Системное Программное Обеспечение

Лексический анализатор

Пример обработки текстового файла

Системное Программное Обеспечение

Соседние файлы в папке ПЗ_1