Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8_Vsi_razom.doc
Скачиваний:
4
Добавлен:
10.09.2019
Размер:
347.65 Кб
Скачать

25. Переклад інфіксної форми запису у польську

Інфіксна форма – це форма, при якій оператор записується між оперантами. Цей запис є дуже незручним для синтаксичної обробки. Альтернативною до інфіксної форми є так звана польська форма запису виразів. Тут є 2 форми запису: 1)Префіксна(операція перед оперантами)2) постфіксна(операція після оперантів)

26. Алгоритм синтаксично-керованого перекладу:

1) в стек заноситься символ #;

2) до вмісту стеку заноситься яке-небудь правило із списку правил;

3) якщо ніяких правил не можна застосувати то заноситься символ аналізованої послідовності вх. Послідовності.

Приклад:

S –стек, R –символ, що розбивається, -вх ланцюжок, - те що ще не розібрано.

Розбір у вигляді таблиці.

S

R

Nправ

Польс. запис

#

#a

#F

#T

a

*

*

*

9

6

a

a

a

#T*

#T*(

#T*(b

(

b

+

b+c)#

+c)#

c)#

9

a

a

ab

#T*(F

#T*(T

#T*(E

#T*(E+

#T*(E+c

#T*(E+F

#T*(E+T

#T*(E

#T*(E)

#T*F

#T

#F

#z

+

+ + c

) ) ) ) # # # # #

c)#

c)#

c)#

)#

# # # #

6

2

9

6

3

10

7

2

1

stop

ab

ab

ab

ab

abc

abc

abc+

abc+

abc+

abc+*

abc+*

abc+*

abc+*

Недолік: повний перебір усіх можливих правил граматики. Його виключати можна внесенням певних правил, умов.

27. Автомати з магазинною пам’яттю

Теоретично скінченні автомати застосовуються лише до регулярних граматик. Для контексто-вільної:

G=({a,+,_,*,/,(,)}, {E,T,F},P,E)

P={E T E+T E-T

T F T*F T/F

E a F}. Створення складних автоматів неможливо. Граматики існує більш складні структури, автомати з магазинною пам’ятю – стековий автомат (СА) – це сітка.

- скінченно вхідний алфавіт, вхідний словник, - скінченна множина станів, Г – скінченність стекових (магазинних)символів, - початковий стан кер. пристроїв , - символ, що знаходиться в стекі в початковий момент часу , Т – множина заключних станів , Р – правило перех. відображення мн. виду у множину скінченних підмножин множини

а1

а2

ак

аn

z1

z2

….

zm

Конфігурація стекового автомата називається трійка.

~z , де q – поточний стан пристрою, w- не використана частина вхідного ланцюжка 1-й символ цього ланцюжка знаходиться на ланцюжку зчитування, - вміст магазину, самий лівий елемент , якщо а=е то магазин порожній.

Такт роботи степового автомату: , якщо а=е, то такий такт називається порожнім (е-такт). Тут вхідний символ не приймається до уваги і вхідна головка не зчитує змісту. з магазину знищується верхній символ. - початковий стан. Ланцюжок w допуск. стек. Автоматом, якщо існує множина переходів для деяких і , - порожній ланцюжок. В розш. стек. авт. вхідні символи мають той самий зміст

, де - відображення множини у множині скінченної підмножини . Розш. авт. може продовж. Роботу навіть тоді, коли магазин порожній.

Теорема: Нехай існує G конкретно-вільна граматика по гр. G можна побудувати такий автомат СА, що L(R)=L(G), тобто можна побудувати R, що мова яка породжується еквівалентна пам’яті дорівнює мові, що створюється граматикою.

Приклад:

}

Визначимо СА :

Р: (1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

,

Зауваження: (1)і (2) застосовується лише тоді, коли наступним вхідним символом є . Пріорітет виконується правил визнач. вмістом стеку. Якщо доповнити авт. з маг. пам’ятю набором семент. процедур, то крім розпізнання він ще буде формувати польський запис. СА можна вважати більш формальним викладенням синт. кер. перекладу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]