Anda di halaman 1dari 5

LAPORAN AKHIR PRAKTIKUM

Mata Praktikum : Teknik Kompilasi

Kelas : 4IA19

Praktikum ke- :4

Tanggal : 13 Januari 2023

Materi : First & Follow (Analisa Sintaks)

NPM : 55419710

Nama : Nur Fikri

Ketua Asisten : Marcelio

Nama Asisten :

Paraf Asisten :

Jumlah Lembar : 5 Lembar

LABORATORIUM TEKNIK INFORMATIKA

UNIVERSITAS GUNADARMA

2023
LISTING

Tentukan follow dari kedua produksi berikut:

Produksi 1:

• O -> PO’  O’ -> -PO’ | Ɛ


• P -> QP’
• P’ -> /QP’ | Ɛ
• Q -> *Q | (O) | a | b

Produksi 2:  A ->
BA’  A’ -> *BA’
| Ɛ  B -> CB’
• B’ -> +CB’ | Ɛ
• C -> (A) | x

Berikan aturan yang dipakai pada hasil produksi tersebut.


LOGIKA

Produksi 1:

• O -> PO’
• O’ -> -PO’ | Ɛ
• P -> QP’  P’ -> /QP’ | Ɛ
• Q -> *Q | (O) | a | b

Produksi 2:  A ->
BA’  A’ -> *BA’
| Ɛ  B -> CB’  B’
-> +CB’ | Ɛ
• C -> (A) | x

Berikut merupakan langkah untuk menghasilkan produk 1 yaitu :


1. Buat List Follow Set yang akan di cari, didapat dari semua symbol NON terminal yang
ada di sisi kiri anak panah
2. Untuk mempermudah pencarian Follow Set kita lakukan dari Start symbol atau produksi
teratas. Kemudian produksi disisi kanan anak panah yang mengandung symbol yang
dimaksud (atau yang akan di cari Follow Set – nya).
3. Dengan Rules no.1, karena O adalah Start Symbol maka Follow (O) = {$}.
4. Produk disisi kanan anak panah mengandung O, Q → (O), dengan Rules no.2 maka { )
} berada dalam Follow (O).
5. Produksi O → PO’, (O’) berada pada posisi terkanan, dengan Rules no.3 maka semua
Follow (O) berada pada Follow (O’) = {$, )}.
6. Produksi O → PO’,dengan Rules no.2 maka First (O’) kecuali Ɛ berada dalam Follow
(P) = {-}.
7. Produksi O → PO’, jika O’ disubtitusi dengan Ɛ, maka (P) berada pada posisi terkanan,
dengan Rules no.3 maka semua Follow (O) berada pada Follow (P) = {$, )}
8. Produksi P → QP’, dimana (P’) ada diposisi terkanan, dengan Rules no.3 maka Follow
(P) berada dalam Follow (P’) = {/, $, )}.
9. Produksi P → QP’, dengan Rules no.2 maka First (P’) kecuali Ɛ berada dalam Follow
(P’) = { / }

10. Produksi P → QP’, jika P’ disubstitusi dengan Ɛ, maka (Q) berada pada posisi terkanan,
dengan Rules no.3 maka semua Follow (P) berada pada Follow (Q) = { $, ), -}

Maka didapatkan Follow pada produksi diatas yakni :


1. Follow (O) = Follow (O’) = {$, )}
2. Follow (P) = Follow (P’) = {$, ), -, /}
3. Follow (Q) = {$, ), -, /} (a & b tidak termasuk dikarenakan sudah termasuk di
first)
Sehingga kita dapatkan Follow pada produksi 1 diatas, maka bisa lanjutkan untuk ke
produksi 2 dengan mencari Follow nya dengan seperti yang diatas.
Langkah-langkah untuk menghasilkan produk 1 yakni :
11. Buat List Follow Set yang akan di cari, didapat dari semua symbol NON terminal yang
ada di sisi kiri anak panah
12. Untuk mempermudah pencarian Follow Set kita lakukan dari Start symbol atau produksi
teratas. Kemudian produksi disisi kanan anak panah yang mengandung symbol yang
dimaksud (atau yang akan di cari Follow Set – nya).
13. Dengan Rules no.1, karena A adalah Start Symbol maka Follow (A) = {$}.
14. Produk disisi kanan anak panah mengandung A, C → (A), dengan Rules no.2 maka { )
} berada dalam Follow (A).
15. Produksi A → BA’, (A’) berada pada posisi terkanan, dengan Rules no.3 maka semua
Follow (A) berada pada Follow (A’) = {$, )}.
16. Produksi A → BA’,dengan Rules no.2 maka First (A’) kecuali Ɛ berada dalam Follow
(B) = {*}.
17. Produksi A → BA’, jika A’ disubtitusi dengan Ɛ, maka (B) berada pada posisi terkanan,
dengan Rules no.3 maka semua Follow (A) berada pada Follow (B) = {$, )}
18. Produksi B → CB’, dimana (B’) ada diposisi terkanan, dengan Rules no.3 maka Follow
(B) berada dalam Follow (B’) = {+, $, )}.
19. Produksi B → CB’, dengan Rules no.2 maka First (B’) kecuali Ɛ berada dalam Follow
(B’) = { + }
20. Produksi B → CB’, jika B’ disubstitusi dengan Ɛ, maka (C) berada pada posisi terkanan,
dengan Rules no.3 maka semua Follow (B) berada pada Follow (C) = { $, ), *}

Maka didapatkan Follow pada produksi diatas yakni :


4. Follow (O) = Follow (O’) = {$, )}
5. Follow (P) = Follow (P’) = {$, ), *, +}
6. Follow (Q) = {$, ), *, +} (x tidak termasuk dikarenakan sudah termasuk di first)
Sehingga kita dapatkan Follow pada produksi 2 diatas, maka sudah temukan first pada produksi
1 dan produksi 2 dengan seperti yang diatas untuk Langkah-langkahnya dan pemberian
aturannya.
OUTPUT

Produksi 1 :
1. Follow (O) = Follow (O’) = {$, )}
2. Follow (P) = Follow (P’) = {$, ), -, /}
3. Follow (Q) = {$, ), -, /} (a & b tidak termasuk dikarenakan sudah termasuk di first)

Produksi 2 :
1. Follow (O) = Follow (O’) = {$, )}
2. Follow (P) = Follow (P’) = {$, ), *, +}
3. Follow (Q) = {$, ), *, +} (x tidak termasuk dikarenakan sudah termasuk di first)

Anda mungkin juga menyukai