Erich Gamma Ralph Johnson Richard Helm John Vlissides Addison-Wesley



Download 6,32 Mb.
Pdf ko'rish
bet188/273
Sana02.03.2022
Hajmi6,32 Mb.
#479589
1   ...   184   185   186   187   188   189   190   191   ...   273
Bog'liq
Priemioop

Паттерны поведения
Каждое регулярное выражение, описываемое этой грамматикой, представля-
ется в виде абстрактного синтаксического дерева, в узлах которого находятся эк-
земпляры этих классов. Например, дерево
представляет выражение
raining & (dogs | cats) *
Мы можем создать интерпретатор регулярных выражений, определив в каждом
подклассе RegularExpression операцию Interpret, принимающую в качестве
аргумента контекст, где нужно интерпретировать выражение. Контекст состоит
из входной строки и информации о том, как далеко по ней мы уже продвинулись.
В каждом подклассе RegularExpression операция Interpret производит со-
поставление с оставшейся частью входной строки. Например:
a LiteralExpression проверяет, соответствует ли входная строка литера-
лу, который хранится в объекте подкласса;
Q AlternationExpression проверяет, соответствует ли строка одной из
альтернатив;
Q RepetitionExpression проверяет, если в строке повторяющиеся вхож-
дения выражения, совпадающего с тем, что хранится в объекте.
И так далее.
Применимость
Используйте паттерн интерпретатор, когда есть язык для интерпретации,
предложения которого можно представить в виде абстрактных синтаксических
деревьев. Лучше всего этот паттерн работает, когда:


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

Download 6,32 Mb.

Do'stlaringiz bilan baham:
1   ...   184   185   186   187   188   189   190   191   ...   273




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish