Пред. страница   . След. страница   Раздел    Содержание


4.9.  Резюме

     Перевод представляет собой множество пар цепочек, одна из которых принадлежит входному языку, а другая - выходному языку. Задание конечных переводов, содержащих небольшое число пар, можно осуществить путем перечисления. Для задания больших конечных  и бесконечных переводов применяют СУ - схемы и транслирующие грамматики. Один и тот же перевод может быть задан как с помощью СУ - схемы, так и с помощью грамматики. Кроме того, для каждой СУ- схемы можно построить Т - грамматику определяющую такой же перевод как  заданная СУ - схема. СУ - схемы и Т - грамматики могут применяться для задания переводов при построении компиляторов языков программирования .

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

     Для построения восходящего преобразователя необходимо преобразовать  построенную транслирующую грамматику в постфиксную форму. Такая форма позволяет совместить выполнение символов действия с выполнением операции свертки. При этом процедура построения восходящего преобразователя сводится к процедуре построения восходящего распознавателя и включению операций, реализующих символы действия, в соответствующие процедуры свертки.


Пред. страница   . След. страница   Раздел    Содержание