Пред.Страница
След.страница
Раздел
Содержание
4.4 Резюме.
Перевод представляет собой множество пар цепочек,
одна из которых принадлежит входному языку, а другая - выходному языку.
Задание конечных переводов, содержащих небольшое число пар, можно осуществить
путем перечисления. Для задания больших конечных и бесконечных переводов
применяют СУ - схемы и транслирующие грамматики. Один и тот же перевод
может быть задан как с помощью СУ - схемы, так и с помощью грамматики.
Кроме того, для каждой СУ- схемы можно построить Т - грамматику определяющую
такой же перевод как заданная СУ - схема. СУ - схемы и Т - грамматики
могут применяьтся для задания переводов при построении
компиляторов языков программарования .
Бесскобочные формы записи, называемые польскими
записями, позволяют использовать более простые правила, определяющие порядок
выполнения операций, чем скобочные инфиксные выражения. Вычисление польских
записей эффективно реализуется с помощью магазина. Такие записи применяются
в качестве промежуточных представлений программы при компиляции.
Преобразователь читает символы с входной цепочки
и,если эта цепочка является допустимой,строит выходную цепочку. Если же
входная цепочка недопустима,то он останавливается,не достигнув конечной
конфигурации. Исходным материалом для построения преобразователя является
СУ-схема, определяющая тот перевод, который должен выполнять преобразователь.
Преобразователь получается детерминированным, если входная грамматика заданной
СУ-схемы относится к классу LL(1) грамматик. Вначале по СУ-схеме строится
транслируящая граматика,а затем по ней определяются команды преобразователя.
Команды преобразователя получаются путем добавления к командам распознователя
группы команд,выполняющих передачу выходных символов на выходную ленту.
Для построения восходящего преобразователя
необходимо преобразовать построенную транслирующую грамматику в постфиксную
форму. Такая форма позволяет совместить выполнение символов действия с
выполнением операции свертки. При этом процедура построения восходящего
преобразователя сводится к процедуре построения восходящего распознавателя
и включению операций, реализующих символы действия, в соответствующие процедуры
свертки.
Пред.Страница
След.страница
Раздел
Содержание