Jump to content

Отношения предшествования Вирта – Вебера

В информатике соотношение Вирта-Вебера между парой символов. необходимо, чтобы определить, ли формальная грамматика является простой грамматикой приоритета . В таком случае простой анализатор приоритета можно использовать . Отношения названы в честь ученых-компьютерщиков Никлауса Вирта и Гельмута Вебера.

Цель состоит в том, чтобы определить, когда жизнеспособные префиксы имеют центральную точку и их необходимо сократить. А означает, что стержень найден, означает, что потенциальный разворот начинается, и означает, что отношения остаются в той же точке поворота .

Формальное определение

[ редактировать ]

Алгоритм вычисления отношений старшинства

[ редактировать ]

Определим три набора для символа:

информация Голова * ( X ) является X , если X является терминалом, и если X является нетерминалом, Head * ( X ) — это множество, в котором только терминалы принадлежат Head + ( Х ). Этот набор эквивалентен первому набору или Fi( X ) описано в парсере LL .
информация Голова + ( X ) и хвост + ( X ) равны ∅, если X является терминалом.

Псевдокод для вычисления отношений:

  • Таблица отношений := ∅
  • Для каждого производства
    • Для каждых двух соседних символов XY в α
      • добавить (Таблица отношений, )
      • добавить (Таблица отношений, )
      • добавить (Таблица отношений, )
  • добавить (Таблица отношений, ), где S — начальный нетерминал грамматики, а $ — маркер предела
  • добавить (Таблица отношений, ), где S — начальный нетерминал грамматики, а $ — маркер предела
информация  и используются с наборами вместо элементов, как они были определены, в этом случае вы должны добавить все декартово произведение между наборами/элементами.

  • Голова + ( а ) знак равно ∅
  • Голова + ( S ) знак равно { а, с }
  • Голова + ( б ) знак равно ∅
  • Голова + ( с ) знак равно ∅
  • Хвост + ( а ) знак равно ∅
  • Хвост + ( S ) знак равно { б, с }
  • Хвост + ( б ) знак равно ∅
  • Хвост + ( с ) знак равно ∅
  • Голова * ( а ) = а
  • Голова * ( S ) знак равно { а, с }
  • Голова * ( б ) знак равно б
  • Голова * ( с ) знак равно с
    • а рядом с S
    • S Рядом с S
    • S Рядом с b
    • существует только один символ, поэтому никакое отношение не добавляется.
таблица приоритетов

  • Голова + ( S ) знак равно { а, [ }
  • Голова + ( а ) знак равно ∅
  • Голова + ( Т ) знак равно { б }
  • Голова + ( [ ) = ∅
  • Голова + ( ] ) = ∅
  • Голова + ( б ) знак равно ∅
  • Хвост + ( S ) знак равно { а, Т, ], б }
  • Хвост + ( а ) знак равно ∅
  • Хвост + ( Т ) знак равно { б, Т }
  • Хвост + ( [ ) = ∅
  • Хвост + ( ] ) = ∅
  • Хвост + ( б ) знак равно ∅
  • Голова * ( S ) знак равно { а, [ }
  • Голова * ( а ) = а
  • Голова * ( Т ) знак равно { б }
  • Голова * ( [ ) = [
  • Голова * ( ] ) = ]
  • Голова * ( б ) знак равно б
    • рядом с Т
    • [ Рядом с С
    • S Рядом с ]
    • б Рядом с Т
таблица приоритетов


Дальнейшее чтение

[ редактировать ]
  • Ахо, Альфред В.; Уллман, Джеффри Д., Теория синтаксического анализа, перевода и компиляции
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4b8ba69cbdfca21875b0c1302b221e8b__1719271440
URL1:https://arc.ask3.ru/arc/aa/4b/8b/4b8ba69cbdfca21875b0c1302b221e8b.html
Заголовок, (Title) документа по адресу, URL1:
Wirth–Weber precedence relationship - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)