Лекция 16 Формальные методы описания перевода. Схемы компиляции.

Презентация:



Advertisements
Похожие презентации
Пример 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 }) Функция.
Advertisements

Компьютерный анализ естественно-языкового текста Кафедра информационных систем в искусстве и гуманитарных науках.
Теория компиляторов-1. Л.31 Классическая теория компиляторов Лекция 3.
Введение в теорию компиляции Основные принципы построения трансляторов.
Оператор присваивания Х:=2 Y:=5 X 2 Имя переменной Значение Y 5 Имя переменной Значение.
Челябинск 2006 г. 1 Разработка SQL компилятора для СУБД «ОМЕГА» Докладчик Губин Максим Владимирович Научный руководитель Соколинский Леонид Борисович.
Визначення і властивості автомата. Автомати Мілі та Мура.
М.Ю. Харламов, ВНУ им. В.Даля, Алфавит (словарь) V Алфавит (словарь) V– это непустое конечное множество элементов (символов) Цепочка в алфавите.
М.Ю. Харламов, ВНУ им. В.Даля, Восходящие распознаватели выполняют построение дерева вывода снизу вверх (от листьев к корню). Результатом их работы.
Пример 2 Дано: G({+, (, ), a}, {S, A}, Р, {S}); Р: {S S+A | A, A (S) | a} Построение расширенного МП-автомата: 1) Q = {q, r}, q 0 = q, T = {+, (, ), a},
Введение в теорию конечных автоматов. В вычислительной технике используются системы двух классов: -Комбинационные системы Особенности: имеют функциональную.
Компьютерная электроника Лекция 14. Каскад с общей базой.
М.Ю. Харламов, ВНУ им. В.Даля, получает строку токенов от лексического анализатора и проверяет, может ли эта строка по­ рождаться грамматикой исходного.
ЛОГИЧЕСКИЕ ФУНКЦИИ И АЛГЕБРА ЛОГИКИ Раздел 10 Электроника Лекция 17 Автор Останин Б.П. Конец слайда Логические функции и алгебра логики. Слайд 1. Всего.
1 Лекция 3 ЭВМ – средство обработки информации. Комбинационные схемы и конечные автоматы. Информатика 2 Министерство образования и науки Российской Федерации.
Интерфейсы цифроаналоговых преобразователей. Цифровые интерфейсы выполняют функцию связи управляющих входов ключей ЦАП с источниками цифровых сигналов.
Семантический анализ КC-грамматики, с помощью которых описывают синтаксис языков программирования, не позволяют задавать контекстные условия (КУ), имеющиеся.
НЕПРЕРЫВНО-ДЕТЕРМИНИРОВАННЫЕ СИСТЕМЫ (D-СИСТЕМЫ) i0123…i…n t …Δt · i…Δt · n xixi …xixi …xnxn.
Язык высокого уровня компилятор Программа компиляторов Сделал:Студент группы:Ис-2о(очная)Воротов Валентин.
Теория языков программирования и методы трансляции Романенко В.В.
Транксрипт:

Лекция 16 Формальные методы описания перевода

Схемы компиляции

… Формирование ОМ ОМ Последовательная схема Семантический анализ Лексический анализ Синтаксический анализ

ИМ Лексический анализ Синтаксический анализ Семантический анализ Формирование ОМ ОМ Интегрированная схема Генерация кода ……

Синтаксически управляемые схемы СУ - схемы

СУ-схема Т =(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}

Пример 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};

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*+) Правила перевода:

МП-преобразователи МП-преобразователь P=(Q, T, N,, F, q 0, N 0, Z) Магазинная функция F: (Q (T { }) N) P(Q N * * )

a 1 a 2 … a n Управляющее устройство b 1 b 2 … b m Z1Z2…Z1Z2… Стек Входная строка Выходная строка Читающая головка Пишущая головка Схема преобразователя

Конфигурация МП-преобразователя: (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 * ) Основные определения

Переводом МП-преобразователя Р (Р)={(, 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 * Основные определения

Пример 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.

Перевод цепочки 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