Алгоритм - трансляция - Большая Энциклопедия Нефти и Газа, статья, страница 2
Железный закон распределения: Блаженны имущие, ибо им достанется. Законы Мерфи (еще...)

Алгоритм - трансляция

Cтраница 2


16 Вспомогатель - [ IMAGE ] Дерево вывода. [16]

Как отмечалось, этот метод может быть достаточно эффективен для конкретного языка, но его недостатком является сильная зависимость алгоритма трансляции от входного языка. Чтобы избавиться от этого недостатка, нужно отделить описание синтаксиса от алгоритма синтаксического анализа. Это приводит к различным вариантам нисходящих распознавателей [18, 21], использующих табличное представление синтаксиса входного языка. Изменение грамматики входного языка ( в определенных пределах) не затрагивает алгоритма анализа в таком распознавателе, изменяются лишь синтаксические таблицы.  [17]

В работе [7] показано, что построение характеристических векторов для программ-трансляторов ТА-1, ТА-2, ПП-М-20 и а-системй с алгоритмических языков АЛГОЛ и адресный показало, что в алгоритмах трансляции арифметические операции, составляющие около 40 % общего набора операций М-20, используются в ТА-1 на 1 2 %, ТА-2-25 %, ПП-М-20-47 % и а-системе - 0 7 %; с другой стороны, операции поразрядного сравнения, логического умножения и сложения, пересылки кодов, составляющие около 8 % в общем количестве операций машины М-20, при трансляции составляют 33 % используемых операций. Эти характеристики показывают целесообразность построения специализированной транслирующей машины при большом количестве транслируемых задач.  [18]

В процессе лексического анализа обычно собираются из отдельных знаков ( букв и цифр) простые синтаксические конструкции: идентификаторы, числа, а также служебные слова типа begin, end и др. При дальнейшей обработке такие простые конструкции рассматриваются как неделимые, поэтому оставлять их распознавание и сборку до этапа синтаксического анализа невыгодно прежде всего с точки зрения общего времени и сложности алгоритмов трансляции.  [19]

Хотя наш алгоритм трансляции не допускает выражения, содержащие литеральные образцы, его можно соответствующим образом модифицировать, включив в дерево соответствия новый тип вершин. До сих пор внутренняя вершина дерева сопоставления специфицировала проверку кода конструктора того компонента аргумента, который определяется указанной в данной вершине позицией. Чтобы иметь возможность работать с литеральными образцами, мы должны определить внутреннюю вершину, специфицирующую тест на равенство между литералом и соответствующим компонентом аргумента.  [20]

Чаще всего составители трансляторов стремятся транслировать операторы процедур независимо от их описаний. Это существенно упрощ ает алгоритм трансляции, хотя и ухудшает качество объектной программы, поскольку приходится использовать самые общие ( и самые неэкономичные) алгоритмы трансляции. Для получения достаточно эффективной объектной программы при независимой трансляции описаний процедур требуется, чтобы все формальные параметры были специфицированы. Независимая трансляция требует также проверки соответствия фактических и формальных параметров в ходе исполнения объектной программы.  [21]

Программа - в кодах машины, полученная в результате трансляции, как правило, будет занимать больший объем памяти и работать медленнее, чем такая же программа, составленная опытным программистом. Это 0 бъясняется тем, что алгоритм трансляции не учитывает индивидуальных особенностей реализуемого алгоритма. Программист эти особенности учитывает.  [22]

Для сложных задач с большим време нем счета наиболее важное значение имеет оптимальность вырабатываемых транслятором программ в отношении требуемого машинного времени и объема памяти для их выполнения. Получение таких оптимальных программ требует усложнения алгоритмов трансляции, что приводит к усложнению транслятора и увеличению времени его работы. В связи с этим в одной системе программирования предусматривается несколько различных трансляторов даже с одного и того же языка программирования, и пользователь может выбирать наиболее подходящий для него транслятор.  [23]

Теперь допустим, что nil представляется в промежуточном коде функцией NIL, a:: - функцией CONS. Опишите в общих чертах необходимые для этого изменения в алгоритме трансляции.  [24]

В настоящее время область практического применения рекурсии весьма широка. Она включает, в частности, сложные задачи численного анализа, алгоритмы трансляции, а также различные операции над списками, являющиеся необходимым аппаратом разработки современных автоматизированных систем управления. Поэтому аппарат рекурсии предусматривается практически во всех языках программирования, появляющихся после АЛГОЛа.  [25]

Второй способ наделения формального языка семантикой заключается в следующем. Такой алгоритм называют алгоритмом перевода, а в теории программирования - алгоритмом трансляции.  [26]

Полностью не зависимые от машины методы трансляции до сих пор найти не удалось. Однако использование в процессе трансляции машинно-независимого промежуточного языка позволило сделать значительную часть алгоритма трансляции с конкретного входного языка не зависимой от машины. В частности, в рассмотренном методе трансляции с Алгола-60 ( глава 4), основанном на стеке с приоритетами, алгоритм перевода на промежуточный язык ( в обратную польскую запись) не зависит от конкретной машины. С машиной связана лишь вторая часть алгоритма трансляции - генерирование машинных команд.  [27]

Если две различные грамматики порождают один и тот же язык, то эти грамматики называют эквивалентными. Эквивалентные грамматики могут обладать разными свойствами, облегчающими или, наоборот, затрудняющими разработку алгоритма трансляции. Этим широко пользуются при создании синтаксически ориентированных трансляторов.  [28]

Разумеется, не во всех описаниях процедур-функций наличие побочного эффекта проявляется столь прозрачно, как в приведенных примерах. В общем случае значение выражения, содержащего указатель функции с побочным эффектом, можно правильно определить при знании алгоритмов трансляции. Отметим также, что изменяться могут и значения некоторых переменных, которые появляются в теле процедуры в результате замены по наименованию формальных параметров на фактические.  [29]

Прямые методы трансляции ориентированы на конкретные входные языки. Это преимущественно эвристические методы, в которых на основе некоторой общей руководящей идеи для каждой конструкции входного языка подбирается индивидуальный алгоритм трансляции. Этапы синтаксического и семантического анализов здесь обычно четко не разделены. Алгоритмы трансляции, применяемые в прямых методах, как правило, существенно зависят от входного языка.  [30]



Страницы:      1    2    3