Rabu, 09 Juni 2010

Soal Referensi Teknik Kompilasi

Dosen : Syahriol Sitorus, S.Si, MIT.

1. Apakah perlunya precedence operator ketika melakukan derivation suatu syntax yang berhubungan dengan operasi aritmatika?
2. Berikan penjelasan tentang ambigous grammar dan berikan contoh serta bagaimana caranya untuk menghilangkan ambigous dari suatu tata bahasa?
3. Metode top down parsing terdiri dari metode brute force dan recursive descent parser, Jelaskan kedua method tersebut dan berikan contoh?
4. Berikan penjelasan tentang shift recode parsing serta berikan contoh pemakaianya?
5. Aturan produksi
E -> TE'
E' -> *TE' | +TE | tanda epsilon
T -> FT'
T' -> +FT | taanda epsilon
F -> (E) (T) | id

dari tata bahasa diatas untuk memberikan predikat parser dibantu oleh dua fungsi yaitu fungsi FIRST dan FOLLOW yang membearkan untuk pengisian tabel predicative parser. Cari masing-masing hasil dari fungsi FIRST dan FOLLOW berdasarkan pada tata bahasa diatas?

6. Tuliskan langkah-langkah menghilangkan rekursif (elimination left recursion) serta berikan contohnya?

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1. tata bahasa
A -> AI || AJ
A -> Ibb || bb
A -> Jc || c

a. gambarkan pohon urai dari tatabahasa diatas dan periksa apakah tatabahasa tsb left recursion atau tidak?
b. tiliskan satu bahasa yang ekuivalen dengan tatabahasa diatas yang tidak left recursion?
c. hitung nilai-nilai first dan follow untuk semua simbol-simbol dari tatabahasa diatas?
d. hitung dan gambarkan tabel pengurai bagi predictive parser dari tatabahasa diatas?
e. berikan penjelasan tentang tatabahasa LL(1) ? apakah tatabahasa diatas termasuk tatabahasa LL(1), berikan penjelasan anda?

2. Jika diberikan tatabahsa dan SDA (syntax directed action)
A -> Ac {A.Val = A1.Val+c.Val}
A -> Bc {A.Val = B.Val*c.Val}
B -> bB {B.Val=b.Val*B1.Val}
B -> b {B.Val=b.Val}

a. tuliskan satu tata bahasa yang berhubungan dengan tatabahasa diatas tanpa left recursion?
b. tuliskan kembali SDA untuk tata bahasa point (a)?
c. hitung first dan follow dari semua simbol-simbol tata bahasa untuk tatabahasa yang baru point (a)?

3. a. ketika tata bahasa bebas konteks (CFG) lebih baik (powerful) dari regular ekspresion (RE). Berikan alasan mengapa pengimbangan membutuhkan analisis leksikal. mengapa tidak menggunakan penguraian sendiri?
b. Tuliskan satu tatabahasa bebas konteks (CFG) yang dapat mengenal regular ekspresion (RE) pada point (3c)?
c. hapus left recursion dalam CFG dan gambarkan pohon urai untuk mengenal a(a+b)* ba*?
d. konversikan RE pada point (3c) ke DFA?



NOTE : mohon maaf jika ada kesalahan dalam penulisan soal karena arsip yang ada kurang jelas. Semoga dapat bermanfaat. Terima Kasih. (admin)

Tidak ada komentar: