Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритм рекурсивного спуска.Содержание книги Поиск на нашем сайте Методика заключается в том, что у нас есть грамматика. Берем правило грамматики Хомского, группируем их по группам. Для каждой группы пишем программу - обработчик. Каждый нетерминальный символ грамматики порождает специальную программу обработчик. Тело программы – обработчика строится по правой части и вызывается по средствам вызова обработчика.
Пример:
Обработчик Р Обработчик S Если текущий символ =., то выход Иначе Если текущий символ =;, то Обработчик Р Иначе ошибка Условимся, что у нас есть некоторая процедура, которая строит дерево.
Программа «Дерево»
r2 r3 r4 r1=Дерево(r2,r3,r4)
Усовершенствованный вариант обработчика Р, с построением дерева. На выходе будет выходной параметр.
Обр.Р(var r) var-т.к.выходной параметр; Обр.S(r1) r1-выходной показатель; Если текущий символ=. то r=Дерево(r1,”.”); Выход Иначе, если текущий символ=; то Обр.Р(r2); r=Дерево(r1,”;”,r2); Выход Иначе ОШИБКА
2. Семантика языков программирования. Понятия: 1. Перевод с одного формата языка на другой. 2. Схема синтаксически управляемого (СУ) перевода. 3. Атрибутная грамматика, как результат обобщения схем синтаксически управляемого (СУ) перевода.
2 класса: Интерпретирующая семантика. Компилирующая семантика. Интерпретирующая семантика – это некоторая функция, которая любую программу/набор данных отображает в виде результата:
Компилирующая семантика:
Интерпретирующую семантику задает интерпретатор.
ПОЛИЗ(польс.инверсная запись) Триады Системы внутреннего Ассемблер представления
Семантика лексических единиц. Таблица символов.
Память Формальные системы для внутреннего (промежуточного) Представления программ. Триады – набор из 5 операций:
Последовательность триад
Kon – код операции; C:=a+b -*/v& 1-й,3-й не используются, а в «b» стоит метка N.
Входной язык Выходной язык (вводим на входе) (получаем на выход.яз.)
Это перевод с одного формального языка на другой формальный язык.
Типы перевода: 1. Гомоморфизм – некоторое отображение, сохраняющее алгебраическую операцию.
В нашем случае конкатенацию.
Вх.строка вых.строка
2. Схемы синтаксически управляемого переводов. (СУ схемы).
Входной язык задается контекстно-свободной грамматикой, т.е. есть набор правил. Этот набор считается входным. Каждому входному правилу добавляется еще одно выходное.
Входное правило Выходное правило E→T T E→E+T ET+ T→M M T→T*M TM* M→a a M→(E) E
Это СУ схема с 2-мя правилами: входное и выходное.
Пример, как работает эта схема:
T T
() M C
E T E +
T M T M
M b M b
a a
Как хранится у нас это входное дерево:
E→T E→T T→T*M T→TM* T→M T→M M→(E) M→E E→E+T E→ET+ E→T E→T T→M T→M M→a M→a T→M T→M M→b M→b M→c M→c
Эта схема называется простой схемой СУ перевода. Простые СУ переводы – это подкласс СУ перевода. Особенностью простых СУ схем является то, что в выходном правиле нетерминалы следуют в том же порядке, что и во входном.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-02-07; просмотров: 208; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.) |