G = {N, T, S, P}
Коидалар куйидаги куринишга эга: a → b
a (N T)+
b (N T)*
+ бу тупламга буш туплам киритиш мумкин эмаслигини англатади
* бу тупламга буш туплам киритиш мумкинлигини англатади
a ва b – баъзи бир каторлар (белгилар кетма-кетлиги)
Бундай коидалар продукциялар деб хам аталади.
G1 грамматикага мисол караб чикамиз. Бу холда куйидагилар киритилади:
Нетерминал белгилар A, B, C, …
терминал белгилар a, b, c, …
Караймиз
G1 = {N, T, S, P}, бу ерда
N = {A, B, S}
T = {a, b}
P = { S AB (1)
A aA (2)
A a (3)
B Bb (4)
B b (5)
}
№2 коидада нетерминал белги А хам чап хам унг булакда мавжуд. Бу эса А белги тегишли каторлар синфи А белгига а префиксни кушиш оркали курилишини англатади.
Учинчи коидада А а оркали аникланади. Умумий холда бундай жараён каторлар конкатенацияси деб аталади ( А катор чапдан кушиладиган а конкатенациясидан курилади).
Кандайдир тушунча узи узидан куриладиган холат рекурсия деб аталади.
Туртинчи коидада хам рекурсия мавжуд. Занжир белгини унгдан кушиш йули билан ташкил этилади.
Бу холатда коидалар барча мумкин булган вариантларни санаб чикиш йули билан берилади, хар бир вариант учун бита катор.
Грамматика коидаларини бериш усули нотация деб аталади.
Купинча Бэкус Наура формасидан фойдаланилади.Унда куйидаги белгилашлардан фойдаланилади: ; ::=
Барча нетерминал белгилар бурчак кавсларга олинади. Агар кандайдир тушунча учун чап булакда бир нечта вариант бор булса, у холда “” белгидан фойдаланилади.
::= a a
Бундай ташкари грамматика коидалари метабелгилардан фойдаланилган холда хам берилади (кавслар):
( ) – думалок кавсларда санаб утилган барча конструкциялардан ушбу конструкция учраган вактида факат биттагинасидан фойдаланилади.Вергулдан булаклаш учун фойдаланилади.
[ ] – бу кавсларга киритилганлар булиш хам, булмасликлари хам мумкин.
{ } – такрорлашни англатади (n марта, n = 0,1,2,…. 0 конструкция мавжуд эмаслигини англатади.)
Метабелгилик ва метабелгисиз ишоралик бутун сонлар учун коидаларни берилишини караб чикамиз.
G = {{0,1,2,…,9},{<ишорали сон>,<сон>,<ракам>}, P,<ишорали сон>}
P = {
<ишорали сон> ::= +<сон> -<сон>
<сон> ::= <ракам> <ракам><сон>
<ракам> ::= 0123456789
}
Иккинчи коида рекурсив.
Худди шунингдек метабелгилик ишоралик сонлардан фойдаланилган хол учун :
< ишорали сон > ::= [(+,-)] ракам{ракам}
Do'stlaringiz bilan baham: |