Спец часть (часть 2) (3 поток) (2015) (by Кибитова) (1161602), страница 40
Текст из файла (страница 40)
d:Qx(TU ,e-)xГ ->,QxГ*-;подмножествQxГ*, т.е. d:Qx(T U ,e-)xГ ->,QxГ*-;(5) q0<-Qq0<-Q -- начальноеначальное состояниесостояние управляющего(5)управляющего устройства;устройства;(5) q0<-Q - начальное состояние управляющего устройства;(6) Z0<-ГZ0<-Г -- символ,символ, находящийсянаходящийся вв магазине(6)магазине вв начальныйначальный моментмомент (начальный(начальный символ);символ);(6) Z0<-Г - символ, находящийся в магазине в начальный момент (начальный символ);(7) F<=QF<=Q -- множествомножество заключительныхзаключительных состояний(7)состояний(7) F<=Q - множество заключительных состояний Конфигурацией МП-автоматаМП-автомата называетсяКонфигурациейназывается тройкатройка (q,w,u)<-QxT*xГ*,(q,w,u)<-QxT*xГ*, гдегдеКонфигурацией МП-автомата называется тройка (q,w,u)<-QxT*xГ*, где(1)текущее состояниесостояние управляющего(1) qq -- текущееуправляющего устройства;устройства;(1) q - текущее состояние управляющего устройства;(2) ww -- неиспользованнаянеиспользованная часть(2)часть входнойвходной цепочки;цепочки; первыйпервый символсимвол цепочкицепочки ww находитсянаходится(2)wнеиспользованнаячастьвходнойцепочки;первыйсимволцепочкиwнаходитсяпод входнойвходной головкой;головкой; еслиесли wподw e,e, тото считается,считается, чточто всявся входнаявходная ленталента прочитана;прочитана;под входной головкой; если w e, то считается, что вся входная лента прочитана;(3) uu -- содержимоесодержимое магазина;магазина; самый(3)самый левыйлевый символсимвол цепочкицепочки uu считаетсясчитается верхнимверхним(3) u - содержимоемагазина;самыйлевыйсимвол цепочкиu считается верхнимсимволоммагазина;еслиu=e,томагазинсчитаетсяпустым.символом магазина; если u=e, то магазин считается пустым.символом магазина; если u=e, то магазин считается пустым.Тактработы МП-автоматаМП-автомата PТакт работыP будембудем представлятьпредставлять вв видевиде бинарногобинарного отношенияотношения |-,|-,ТактработыМП-автоматаPбудемпредставлятьввидебинарногоотношения|-,определенногонаконфигурациях.Будемписать(q,aw,Zu)|-(q',w,vu)еслимножествоопределенного на конфигурациях.
Будем писать(q,aw,Zu)|-(q',w,vu)если множествоопределенногоконфигурациях.Будем писать(q,aw,Zu)|-(q',w,vu)еслимножествоd(q,a,Z)содержитна(q',v),где q,d(q,a,Z)содержит(q',v),гдеq, q'<-Q,q'<-Q, a<-TUa<-TU {e},{e}, w<-T*,w<-T*, Z<-Г,Z<-Г, u,v<-Г*.u,v<-Г*.d(q,a,Z) содержит (q',v), где q, q'<-Q, a<-TU {e}, w<-T*, Z<-Г, u,v<-Г*. НачальнойконфигурациейМП-автоматаPназываетсяконфигурациявида(q0,w,Z0),гдеНачальнойконфигурацией МП-автомата P называется конфигурация вида (q0,w,Z0), гдеНачальной конфигурацией МП-автомата P называется конфигурация вида (q0,w,Z0), гдеw<-T*,т.е.управляющееустройство находитсяв начальном состоянии,входнаялентаw<-T*,состоянии,входнаявходнаяленталентаw<-T*,т.е.т.е.управляющееуправляющееустройствоустройство находитсянаходится вв начальномначальном состоянии,содержитцепочку,которуюнужнораспознать,авмагазинеестьтольконачальныйсодержитмагазине естьестьтолькотольконачальныйначальныйсодержитцепочку,цепочку,которуюкоторуюнужнонужнораспознать,распознать, аа вв магазинесимволZ0.Заключительнаяконфигурацияэтоконфигурациявида(q,e,u),гдеq<-F,u<-Г*.символвида(q,e,u),(q,e,u),гдегдеq<-F,q<-F,u<-Г*.u<-Г*.символZ0.Z0.ЗаключительнаяЗаключительнаяконфигурацияконфигурация -- этоэто конфигурацияконфигурация видаГоворят, чточто цепочка ww допускается МП-автоматомP,(q0,w,Z0)|-*(q,e,u)дляГоворят,P, еслиесли (q0,w,Z0)|-*(q,e,u)(q0,w,Z0)|-*(q,e,u)длядляГоворят, чтоцепочкацепочка wдопускаетсядопускается МП-автоматомМП-автоматом P,еслинекоторыхq<-Fиu<-Г*.Языком,определяемым(илидопускаемым)автоматомнекоторыхдопускаемым)автоматомавтоматомPPPнекоторыхq<-Fq<-Fииu<-Г*.u<-Г*.Языком,Языком,определяемымопределяемым (или(или допускаемым)(обозначается L(P)),L(P)), называют множествоцепочек, допускаемыхавтоматомP.Иногда(обозначаетсядопускаемыхавтоматомавтоматомP.ИногдаP.Иногда(обозначается L(P)),называютназываютмножествомножество цепочек,цепочек, допускаемых допустимость определяют несколько иначе: цепочка w допускается МП-автоматом P, если(q0,w,Z0)|-*(q,e,e).
Эти определения эквивалентны. Он состоит из входа, выхода, магазина, управляющей программы и таблицыанализа,которая имеет две части - действий и переходов. Управляющая программа одна и та жедля всех анализаторов, разные анализаторы различаются таблицами анализа. Программаанализатора читает символы из входного буфера по одному за шаг.
В процессе анализаиспользуется магазин, в котором хранятся строки вида S0X1S1X2S2...XmSm (Sm - верхушкамагазина). Каждый Xi - символ грамматики (терминальный или нетерминальный), а Si символ, называемый состоянием. Каждый символ состояния выражает информацию,∞nÆn∞n(n ° 1)An ! ∞nдопустимость определяют несколько иначе: цепочка w допускается МП-автоматом P, еслиÆn°1(q0,w,Z0)|-*(q,e,e). Эти определения эквивалентны.∞n°1Æn°1Æn°2Он состоит из входа, выхода, магазина, управляющей программы и таблицыанализа,которая имеет две части - действий и переходов.
Управляющая программа одна и та жедля всех анализаторов, разные анализаторы различаются таблицами анализа. Программаанализаторачитает символы из входного буфера по одному за шаг. В процессе анализаSиспользуется магазин, в котором хранятся строки вида S0X1S1X2S2...XmSm (Sm - верхушкамагазина). Каждый Xi - символ грамматики (терминальный или нетерминальный), а Si символ, называемый состоянием.
Каждый символ состояния выражает информацию,содержащуюся в магазине ниже него, а комбинация символа состояния на верхушкемагазина и текущего входного символа используется для индексации таблицы анализа иопределяет решение о сдвиге или свертке.Таблица анализа состоит из двух частей: действия (action) и переходов (goto). Начальноесостояние этого ДКА - это состояние, помещенное на верхушку магазина LR-анализатора вначале работы.Конфигурация-LR анализатора - это пара, первая компонента которой - содержимоемагазина, а вторая - непросмотренный вход:(S0 X1 S1 X2 S2 ...
XmSm, ai ai+1 ... an $)Эта конфигурация соответствует правой сентенциальной формеX1 X2 ... Xmai ai+1 ... anПрефиксы правых сентенциальных форм, которые могут появиться в магазинеанализатора, называются активными префиксами. Основа сентенциальной формы всегдарасполагается на верхушке магазина.Таким образом, активный префикс - это такой префикс правой сентенциальной формы,который не переходит правую границу основы этой формы.Очередной шаг анализатора определяется текущим входным символом aiи символомсостояния на верхушке магазина Sm. Элемент таблицы действий action*Sm,ai+ длясостояния Sm и входа ai, может иметь одно ихчетырех значений: 1) shift S, сдвиг, где S - состояние,ActionAction2) reduce A->w, свертка по правилу грамматики A -> w,GotoGoto3) accept, допуск, 4) error, ошибка.S0 XS11XS01XS21SX22.S.
.2X. .m. SXmm SSmm SmXi XiSi Si S0 X1 S1 X2 S2 . . . Xm Sm SmXiSi+-'.#!)!*!%$"#()' $$$! ($' $$$!(&' %#!"#!"!#$%!&'(!*+',+ '+,-'.##*+-)',+-)'!!!"*. '!"#$%&'/%#%'Action[Sm , ai ]ai 2 T [ { }SmSSA!∞A!∞ Goto[Sm , A]SmSA 2 NS(S0 X1 S1 X2 S2 . . . Xm Sm , ai ai+1 . . . an ) X1 X2 . . . Xm ai ai+1 . . . an S0aiSm(S0 X1 S1 X2 S2 . .
. Xm Sm , ai ai+1 . . . an )Action[Sm , ai ] =S(S0 X1 S1 X2 S2 . . . Xm Sm ai S, ai+1 . . . an )Action[Sm , ai ]ai+1SAction[Sm , ai ] = aiA ! ∞(S0 X1 S1 X2 S2 . . . Xm°r Sm°r AS, ai ai+1 . . . an )S = Goto[Sm°r , A]r∞2rrrSm°rASGoto[Sm°r , A]Xm°r+1 . . . Xm∞ GotoGGAction[S , a ] =E + T§E + T § idE+T §FE+TE0E0E0E0E0E1+4T1+4T1+4T1+4T15§75 § 7 id 65§7F 85GotoGidF ! idT !T §FE !E+TGAction[Sm , ai ] =Action[Sm , ai ] = (N,T,T,FP,GG==({E,}, S){id, +, §}, P, E)GG0 = (N [ {S 0 }, T, P [ {S 0 ! S}, S 0 ),S0S0 ! S 00SS!!SSAÆØA!! ÆØ)§r∞AwS∞Aw ))rr ∞ÆØw∞ÆØwww==ee aa==A ! ÆØ waaS 0 !±S±± ±==∞Æ∞ÆaÆ.Ø,[A[A! !Æ.Ø,a] a] Æ.Ø,[A[A!!Æ.Ø,a] a]a [Aa ! Æ.Ø, a] S )§rw∞Aw)r ∞ÆØwSS!! BBBBw=e | |bba =B!aBB ! aB[A!{a,Æ.Ø,a]GG==({S,B},b}, b},P, S)({S,B}, {a,P, S)±± = ∞ÆaS )§r aaBab) aaaBabS )§r aaBabr)r aaaBab[B ! a.B, a][B ! a.B, a]± = aaa± = aaa∞ = aa A = B w = ab Æ = a Ø = B G = ({S, B}, {a, b}, P, S)∞ = aa A = B wS=)ab§ Æ = a Ø = Br §BaB )r BaaBS)r BaB )r BaaBBaa[B ! a.B, ]S!BBBaa[B ! a.B, ]B ! aB | b zzyÆBØax[A ! Æ.BØ, a]z = yÆz = yÆyÆBØaxzbwBB!!q q bw[Bq!.q,.q,b] b]B[B!![A!!ÆB.Ø,ÆB.Ø,a][A[Ba]! .q, b][A ! ÆB.Ø,b b a]b ØØØØe eØebb Ø aab bbaS Øax)§r yAax )rØax§bwz = yÆyÆBØaxbS§ )§r yAax )rS )r yAax )rØaxS §)r zBbw )r zqbwS )r zBbw )r zqbwzz r zqbwS )§r zBbw )zB zBz§ØaxØax)§r )bwrzBbw)§r (Øax)bwFØaxIRSTF IRST(Øax)F IRST (Øax) G(N, T,T,P,P,S)S)G== (N,G= (N,T,P, S)CCG CGG0 0GGG0III[AII[A !! Æ.BØ,Æ.BØ,a]a]0!!∞∞ a] GG0 I[A !BBÆ.BØ,bbFFIRSTIRST(Øa)(Øa)[B ! .∞, bb][B ! .∞, b]IB!∞G0F IRSTI (Øa) II I XIXJ = {[A ! ÆX.Ø, a] | [A ! Æ.XØ, a] 2 I}JIIIII XI XIIXX= {[A! ÆX.Ø,[AÆ.XØ,! Æ.XØ,J =J{[A! ÆX.Ø,a] | a][A |!a] 2a]I}2 I}J J G0 G0G0 G000I0 =! .S,I0 =({[S({[S! .S,]}) ]})=0 }{I0 }C =C{IIC C(I, X)(I, X)C C(I, X)(I, X)IXXCCC CI I±.S, .S,]}) ]})(I, (I,X) X)X X±(I, X)(I, X)±X ±XC CC C0I0 =I0 =({[S({[S! 0!CCII ActionActionGGC == {I{I00,, II11,, ..