SOAL UTS (Nilai 50%)
I. Project MEMBUAT KOMPILER “1L”
1. Perhatikan bahasa “1LP” (a straight line programming language) dengan tata bahasa
berikut:
A. Tentukan quadruple dari tata bahasa “1LP” tersebut, yaitu:
a. himpunan non-terminal
b. himpunan terminal
c. simbol awal
d. himpunan aturan produksi
B. Tentukan contoh
a. kalimat yang valid, dan tunjukkan melalui derivasi left most derivation atau
right most derivation (pilih salah satu)
b. kalimat tidak valid, dan tunjukkan melalui derivasi left most derivation atau
right most derivation (pilih salah satu)
c. kalimat valid yang ambigu, tunjukkan melalui pohon parsing yang lebih dari
satu.
C. Buat definisi reguler untuk setiap token anggota himpunan non terminal bahasa
“1LP”
D. Buat tata bahasa baru “1LP_B” yang ekivalen dengan bahasa “1LP” yang
a. tidak ambigu
b. tidak mempunyai produksi yang left recursive
c. tidak punyai faktor kiri bersama
d. tidak mempunyai useless symbols
E. Nyatakan metode parser (apakah recursive decent, LL(1), atau dari kelompok LR
yang akan Anda gunakan dalam membuat Compiler Bahasa “1LP_B”
F. Buat program kompiler. Kompiler Anda, minimal harus mengandung subprogram
utama berikut:
a. Perintah mencetak: kelas, nama, npm, tiap anggota tersusun alfabetis.
(Nama, NPM anggota kelompok bukan menjadi cover, tapi bagian dari
program, yan nantinya ketika di run, nama, NPM tersebut muncul
tercetak).
b. Subprogram baca input
c. Subprogram scanner (penganalisa leksikal)
d. Subprogram parser (penagalisa sintaks) (beri nama sesuai dengan metode
yang digunakan)
e. Perintah cetak (output) : “BENAR” jika tidak terdapat kesalahan leksikal
mupun sintaks, juga mencetak “SALAH” jika terdapat kesalahan leksikal
dan sintaks.
G. Berdasarkan definisi token Anda,
a. buat contoh script yang benar (tidak mengandung sintaks yang salah) dari
Bahasa “1LP_B”.
i. Compile script tersebut.
ii. Printscreen (screen shoot) contoh hasil run input script benar dan
ouput (hasil run) dari program kompiler “1LP_B”
b. buat contoh script yang mengandung sintaks yang salah dari Bahasa
“1LP_B”.
i. Compile script tersebut.
ii. Printscreen (screen shoot) contoh hasil run input script yang
mengandung sintaks salah dan ouput (hasil run) dari program
kompiler “1LP_B”
H. Unggah berkas jawaban Anda, ke Vclass dan kirim ke spuspitodjati@yahoo.com.
Satu berkas, untuk satu kelompok, dengan nama berkas
Kelas_NamaKelompok_UTSProject terdiri dari:
a. Jawaban atas pertanyaan 1A, B, C, D (jawaban perbaikan Anda), dan E
b. file program kompiler Anda dalam bentuk .exe.
c. softcopy file listing program.
II. Soal UTS_Pengetahuan Kompilasi (Rencana Pelaksanaan 6-7 Desember 2021)