Beruflich Dokumente
Kultur Dokumente
NAMA dan NIM : 1. AHMAD ARIF ABDI D 2. VIVI SAUFINA KELAS : KOM C.
a) Tunkjukkan yang mana dari string-string dibawah ini yang termasuk dalam L(G). bg bffd bggg edfa eedffa faae defa
Penyelesaian :
a)
bg :
bggg :
edfa :
eedffa :
2.
Penyelesaian :
grammar modifikasi :
3.
A aQ Q bQ |
Carilah : a. FIRST (Q) dan b. FOLLOW(Q)
Penyelesaian :
FIRST (Q) : Argumen Return Defenisi : Q adalah sentential form yang dibentuk dari Grammar . : himpunan terminal : String yang dapat diturunkan dari Q dengan penurunan kiri jika
FOLLOW (Q) : Argumen Return Defenisi : Q beberapa non terminal Grammar . : himpunan terminal : FOLLOW(Q) adalah himpunan semua terminal yang berada dikanan Q pada setiap bentuk sentensial dari Grammar. Jika Q dapat ditelusuri sampai akhir , maka FOLLOW(Q) Mengandung tanda akhir $.
4.
S ABC A a | Cb | B c | dA | C e| f
Penyelesaian :
Defenisi formal dari fungsi FIRST adalah : FIRST () : Argumen : adalah sentential form yang dibentuk dari G. Return Defenisi : himpunan terminal : catat setiap String yang dapat diturunkan dari dengan penurunan
kiri jika , dimana dimulai dengan terminal , maka terminal tersebut didalm FIRST().
Defenisi formal dari fungsi FOLLOW adalah : FOLLOW (A) : Argumen : A beberapa non terminal dalam G Return Defenisi : himpunan terminal : FOLLOW(A) adalah himpunan semua terminal yang berada
dikanan A pada setiap bentuk sentensial dari L(G). jika A dapat ditelusuri sampai akhir , maka FOLLOW(A) mengandung tanda akhir $.
Jadi,himpunan FIRST dan FOLLOW untuk grammar diatas adalah FIRST(S) FIRST(A) FIRST(B) FIRST(C) = FIRST(ABC) = {a,c,d,e,f} = {a,f,e,} = {c,d,e} = FIRST (CB) = {e,f}
FOLLOW(S) = {$} FOLLOW (B) = {e,f} FOLLOW(A) = { c,d,e,f } FOLLOW (C) = { $,b}
5.
Buatlah table parser simple LR (SLR) untuk grammar berikut : (1). S E = E (2). S i (3). E E + i (4). E i
Penyelesaian :
Dibuat grammar tambahan sehingga menjadi 5 baris. (0) Z S (1) S E = E (2) S i (3) E E + i (4) E i
Dicari himpunan FIRST dan FOLLOW. FIRST(Z) FIRST(S) FIRST(E) = {i} = {i} = {i}
Item untuk membuat state table : 1. [Z .S] 2. [Z S.] 3. [S .E = E] 4. [S E. = E] 5. [S E = .E] 6. [S E = E.] 7. [S .i] 8. [Z .S] 9. [E .E + i ] 10. [E E.+ i ] 11. [E E+. i ] 12. [E E+ i. ] 13. [E .i ] 14. [E i. ]
State table dibuat dengan langkah-langkah berikut : State 0 ( V[ ] ) : {[Z .S ], [S .E = E ], [S .i ], [E .E+ i ], [E .i ]} Transisi : Simbol S : next state 1 Simbol E : next state 2 Simbol i : next state 3
: {[E E + .i]} :
State table :
Table LR konflik di baris 3, kolom 6 [$] : entry saat ini r2 ; entry r4.
Table LR :