Методические указания к лабораторным работам по курсу "Теория вычислительных процессов и структур". Домашова Д.В - 10 стр.

UptoLike

Лексический анализатор (ЛА) - программа, проводящая лексический анализ.
Входные данные ЛА - текст транслируемой программы.
Выходные данные ЛА - файл лексем в числовом представлении.
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