ВУЗ:
Составители:
Лексический анализатор (ЛА) - программа, проводящая лексический анализ.
Входные данные ЛА - текст транслируемой программы.
Выходные данные ЛА - файл лексем в числовом представлении.
2.2 Лексический анализатор языка MPL
Переменные:
СН - символ;
В - буфер для накапливания лексемы;
CS - текущее состоянии накопления с возможными значениями: H -
начало, I - идентификатор, N - число, С - комментарий, DV - двоеточие, О -
ограничитель, V - выход, ER -ошибка, t - таблица с возможными
значениями :TW - таблица служебных слов, TI- таблица идентификаторов, TN-
чисел, TL – ограничителей;
Z номер лексемы В таблице t (если лексемы нет, z=0).
Процедуры:
GC считывание очередного символа текста в переменную СН;
let СН - буква?
digit CH - цифра?;
NULL очистка буфера;
ADD добавление очередного символа в конец буфера;
LOOK(t) поиск лексемы в таблице t;
PUT(t) запись лексемы В в таблицу t (если там не было этой лексемы);
OUT(n,k) запись пары чисел в файл лексем TW
1) program-1 end-6 do-11
1
2
15
false
va
r
p
ro
g
ra
m
var-2 if-7 read-12
int-3 then-8 write-13
bool-4 else-9 true-14
begin-5 while-10 false-15
TL
2 ) . - 1 (- 6 /- 11 = - 16 !- 21
1
2
24
w
;
.
; - 2 )- 7 ∪- 12 > - 17 !F- 22
, - 3 +- 8 ∩- 13 ≥ - 18 R- 23
: - 4 - - 9 ¬- 14 < - 19 W- 24
:= - 5 * -10 = -15 ≤ - 20
13
Лексический анализатор (ЛА) - программа, проводящая лексический анализ. Входные данные ЛА - текст транслируемой программы. Выходные данные ЛА - файл лексем в числовом представлении. 2.2 Лексический анализатор языка MPL Переменные: СН - символ; В - буфер для накапливания лексемы; CS - текущее состоянии накопления с возможными значениями: H - начало, I - идентификатор, N - число, С - комментарий, DV - двоеточие, О - ограничитель, V - выход, ER -ошибка, t - таблица с возможными значениями :TW - таблица служебных слов, TI- таблица идентификаторов, TN- чисел, TL – ограничителей; Z номер лексемы В таблице t (если лексемы нет, z=0). Процедуры: GC считывание очередного символа текста в переменную СН; let СН - буква? digit CH - цифра?; NULL очистка буфера; ADD добавление очередного символа в конец буфера; LOOK(t) поиск лексемы в таблице t; PUT(t) запись лексемы В в таблицу t (если там не было этой лексемы); OUT(n,k) запись пары чисел в файл лексем TW 1) program-1 end-6 do-11 1 program var-2 if-7 read-12 2 var int-3 then-8 write-13 bool-4 else-9 true-14 begin-5 while-10 false-15 15 false 2).- 1 (- 6 /- 11 = - 16 !- 21 TL ;- 2 )- 7 ∪- 12 > - 17 !F- 22 1 . ,- 3 +- 8 ∩- 13 ≥ - 18 R- 23 2 ; :- 4 -- 9 ¬- 14 < - 19 W- 24 := - 5 * -10 = -15 ≤ - 20 24 w 13
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »