3.1. Основные понятия 125
F полем провала для соответствующей продукции. Продукция
из G применяется следующим образом: если контекстно-сво-
бодная часть может быть успешно выполнена, то она применя-
ется, а следующая выполняемая продукция выбирается среди
помеченных элементами из E, в противном случае, мы выби-
раем продукцию, помеченную каким-нибудь элементом из F , и
пытаемся применить ее. Программируемые грамматики такого
типа называются грамматиками с явной проверкой, если же у
продукций не задаются поля провала, то получается програм-
мируемая грамматика без явной проверки.
Иногда бывает полезно записывать прогр аммируемую
грамматику в виде G = (N, T, S, P, σ, ϕ), где N, T, S имеют
прежний смысл, P — множество обычных контекстно-свобод-
ных правил, а σ, ϕ суть отображения из P в P(P ); для правила
p ∈ P множество σ(p) — поле успеха (некоторое правило из
σ(p) должно использоваться после успешного применения пра-
вила p), а множество ϕ(p) — поле провала (некоторое правило
из ϕ (p) должно использоваться в случае, когда п рави ло p
неприменимо).
Контекстно-свободной упорядоченной грамматикой назо-
вем систему G = (N, T, S, P, >), где N, T , S имеют тот же
смысл, что и в предыдущих определениях, P — конечное мно-
жество контекстно-свободных продукций, а > — частичный
порядок на P . Продукцию p можно применить к сентенциаль-
ной форме x только в том случае, когда она применима к x
как контекстно-свободное правило и никакая продукция r ∈ P
со свойством r > p не применима к x.
Контроль над примен ением правил вывода может основы-
ваться и на проверке контекстных условий.
Обобщенной полукондициональной грамматикой назовем
четверку G = (N, T, S, P ), в которой N, T , S имеют тот же
смысл, что и в предыдущих определениях, P — конечное
множество тр оек вида p = (A → w; E, F ), где A → w — кон-
текстно-свободная продукция над N ∪ T , а E, F — конечные
подмножества в (N ∪ T )
+
. Правило p применимо к строке
x ∈ (N ∪ T )
∗
, содержащей подстроку A, только при условии,