КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Грамматики предшествования ВиртаОтношения предшествования в грамматиках Вирта определяются между любыми символами: как терминальными, так и нетерминальными. Алгоритм свёртки терминальных цепочек по Вирту: 1. Строится для любого нетерминального символа множество левых и правых символов. 2. Определяется отношение предшествования между символами, и заносятся в матрицу (таблицу предшествования). 3.Выполняя последовательные выделения основ для свёртки, осуществляется собственно свёртка цепочек. 4. Включается семантика в алгоритм свёртки цепочки. Множество левых и правых символов для каждого нетерминала грамматики определяется следующим образом: L – множество левых символов: L(u)={S|u®jÚu®AjÙSÎL(A)}, где uÎVN,, SÎ(VTÈVN), jÎ(VTÈVN)* R – множество правых символов: Отношения предшествования в грамматике по Вирту определяются следующим образом: а) S1 S2, если существует правило вида: u®jS1S2h, где u – нетерминал, S1,S2Î(VTÈVN), j,hÎ(VTÈVN)*. б) S1<·S2, если существует правило вида: u®jS1bh, S2ÎL(B), S1,S2Î(VTÈVN), u,BÎVN, j,hÎ(VTÈVN)* в) S1·>S2, если существует правило вида: u®jAS2h, S1ÎR(A), S1,S2Î(VTÈVN), u,AÎVN, j,hÎ(VTÈVN)* или u®jABh, S1ÎR(A), S2ÎL(B), A,B,uÎVN Пример 6.1. S®^(AB)^, A®[A]|*, B®[B]|* Строим множество левых и правых символов.
Рис. 6.1.
Матрица предшествования:
Рис. 6.2.
Проверим принадлежность цепочки языку, выполнив свертку по Вирту:
- S Рис. 6.3.
Как видно, удалось свернуть цепочку до начального выделенного символа S, значит, цепочка принадлежит языку. Зато цепочка языку. При выполнении свертки по Вирту возможны следующие ошибки:
Включение семантики осуществляется следующим образом: в соответствии с любым правилом вывода ставится некоторое семантическое действие, которое выполняется при замене основы для свертки на это правило.
|