Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемВалерия Харитонова
1 Лекция 16 Формальные методы описания перевода
2 Схемы компиляции
3 … Формирование ОМ ОМ Последовательная схема Семантический анализ Лексический анализ Синтаксический анализ
4 ИМ Лексический анализ Синтаксический анализ Семантический анализ Формирование ОМ ОМ Интегрированная схема Генерация кода ……
5 Синтаксически управляемые схемы СУ - схемы
6 СУ-схема Т =(V T, V N,, R, S) R: A,, где V*, (V N ) * V N * *, (A, ) R СУ- перевод (T)={(, y) | (S, S) *(, y), V T *, y * } Входная грамматика СУ-схемы G вх =(V T,V N,Р,S), где P={A |(A, ) R} Выходная грамматика СУ-схемы G вых =(,V N,Р´,S), где P´={A |(A, ) R}
7 Пример 1 Правила инфиксной формы: S E E E+T E T T T*F T F F (E) F имя Правила ПОЛИЗа: S E E ET+ E T T TF* T F F E F имя T 1 =(V T, V N,, R, S), где V T ={+, *, имя, (, )}; ={+, *, имя}; V N ={S, E, T, F};
8 R: 1) S E,E 2)E E+T, ET+ 3)E T, T 4) T T*F, TF* 5) T F, F 6) F (E), E 7) F имя, имя Вывод (S, S) *(a+b*c, abc*+): (S, S) Пара (a+b*c, abc*+) (T 1 ) (E, E) (E+T, ET+) (E+T*F, ETF*+) (T+T*F, TTF*+) (F+F*F, FFF*+) (a+b*c, abc*+) (T+F*F, TFF*+) Правила перевода:
9 МП-преобразователи МП-преобразователь P=(Q, T, N,, F, q 0, N 0, Z) Магазинная функция F: (Q (T { }) N) P(Q N * * )
10 a 1 a 2 … a n Управляющее устройство b 1 b 2 … b m Z1Z2…Z1Z2… Стек Входная строка Выходная строка Читающая головка Пишущая головка Схема преобразователя
11 Конфигурация МП-преобразователя: (q,,, y) (Q T* N * * ) Начальная конфигурация: (q 0,, N 0, ) Конечная конфигурация: (q,,, y), q Z Если F(q, t, n)=(q,, r), то (q, t, n, y) |- (q,,, yr), ( T*, N *, y * ) Основные определения
12 Переводом МП-преобразователя Р (Р)={(, y) | (q 0,, N 0, ) |-* (q,,, y), q Z, N * } Расширенный МП-преобразователь F: (Q (T { }) N * ) P(Q N * * ) Строка у – выход для, если (q 0,, N 0, ) |-* (q,,, y), q Z, N * Основные определения
13 Пример 2 2 : x {a, b} * переводит в y = (ab) n Например, 2 (aababb ) = ababab. ДМП P = ({q 0, q z }, {a, b, }, {Z, a, b}, {a, b}, F, q 0, Z, {q z }) Функция переходов вида: F(q 0, X, Z) = {(q 0, XZ, )}, X {a, b}; F(q 0,, Z) = {(q z, Z, )}; F(q 0, X, X) = {(q 0, XX, )}, X {a, b}; F(q 0, X, Y)={(q 0,, ab)}, X {a, b}, Y {a, b}, X Y.
14 Перевод цепочки aababb Q Стек Вход Выход q0q0 Z aababb q0q0 Za ababb q0q0 Zaa babb q0q0 Za abb ab q0q0 Zaa bb ab q0q0 Za b abab q0q0 Z ababab qzqz Z ababab
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.