Grammar
dan Klasifikasi Chomsky
Grammar
G didefinisikan sebagai pasangan 4 tuple : V T , V N ,
S, dan Q, dan dituliskan sebagai G(V T , V N ,
S, Q), dimana :
VT
: himpunan simbol-simbol terminal (atau himpunan token -token, atau alfabet)
V
N : himpunan simbol-simbol non terminal
S ∈ V N :
simbol awal (atau simbol start)
Q
: himpunan produksi
Berdasarkan
komposisi bentuk ruas kiri dan ruas kanan produksinya (α → β), Noam Chomsky
mengklasifikasikan 4 tipe grammar yaitu :
1.
Grammar tipe ke-0 : Unrestricted
Grammar (UG)
Ciri : α, β ∈ (V T⎪ VN )*, ⎪α⎪> 0
Tidak
ada batasan pada aturan produksi
Contoh
:
Abc → De
2.
Grammar tipe ke-1 : Context
Sensitive Grammar (CSG)
Ciri : α, β ∈ (V T ⎪VN )*, 0 < ⎪α⎪ ≤ ⎪β⎪
Panjang
string ruas kiri harus < (lebih kecil) atau = (sama dengan) ruas kanan
Contoh
:
Ab → DeF
CD
→ eF
3.
Grammar tipe ke-2 : Context Free
Grammar (CFG)
Ciri : α ∈ V N , β ∈ (V T ⎪V N )*
Ruas kiri haruslah tepat satu symbol
variabel, yaitu simbol non terminal
Contoh :
B
→ CDeFg
D
→ BcDe
4.
Grammar tipe ke-3 : Regular Grammar
(RG)
Ciri : α ∈
V N , β ∈
{V T , V T V N } atau α ∈
V N , β ∈ {V T , V N
VT }
Ciri-ciri RG sering dituliskan sebagai : α ∈
V N , β ∈ {a, bC} atau α ∈
V N , β ∈ {a,Bc}
Ruas kanan hanya memiliki maksimal satu symbol
non terminal
Contoh :
A → e
A → efg
A → efgH
C → D
Tipe sebuah grammar (atau bahasa) ditentukan dengan aturan sebagai
berikut :
A language is said to be
type-i (i = 0, 1, 2, 3) language if it can be specified by a type-i grammar but
can’t be specified any type-(i+1)grammar.
Gambar
1. Hirarki Chomsky
Contoh Analisa Penentuan
Type Grammar
1.
Grammar G1 dengan Q1 = {S → aB, B → bB, B →
b}.
Ruas kiri semua produksinya terdiri dari sebuah VN maka
G1 kemungkinan tipe CFG atau RG. Selanjutnya karena semua ruas
kanannya terdiri dari sebuah VT atau string VT VN
maka G1 adalah RG.
2.
Grammar G2 dengan Q2 = {S → Ba, B → Bb, B →
b}.
Ruas
kiri semua produksinya terdiri dari sebuah VN maka G2
kemungkinan tipe CFG atau RG. Selanjutnya karena
semua ruas kanannya terdiri dari sebuah VT atau string VN
VT maka G2 adalah RG.
3.
Grammar G3 dengan Q3 = {S → Ba, B → bB, B →
b}.
Ruas kiri semua produksinya terdiri dari sebuah VN maka
G3 kemungkinan tipe CFG atau RG. Selanjutnya karena ruas kanannya
mengandung string VT VN (yaitu bB) dan juga string VN
VT (Ba) maka G3 bukan RG, dengan kata lain G3
adalah CFG.
4.
Grammar G4 dengan Q4 = {S → aAb, B → aB}.
Ruas kiri semua produksinya terdiri dari sebuah VN maka
G4 kemungkinan tipe CFG atau RG. Selanjutnya karena ruas kanannya
mengandung string yang panjangnya lebih dari 2 (yaitu aAb) maka G4
bukan RG, dengan kata lain G4 adalah CFG.
5.
Grammar G5 dengan Q5 = {S → aA, S → aB, aAb
→ aBCb}.
Ruas kirinya mengandung string yang panjangnya lebih dari 1 (yaitu
aAb) maka G5 kemungkinan tipe CSG atau UG. Selanjutnya karena semua
ruas kirinya lebih pendek atau sama dengan ruas kananya maka G5
adalah CSG.
6.
Grammar G6 dengan Q6 = {aS → ab, SAc → bc}.
Ruas kirinya mengandung string yang panjangnya lebih dari 1 maka G6
kemungkinan tipe CSG atau UG. Selanjutnya karena terdapat ruas kirinya yang
lebih panjang daripada ruas kananya (yaitu SAc) maka G6 adalah UG.
Tidak ada komentar:
Posting Komentar