Tugas Teknik Kompilasi
Tugas Teknik Kompilasi
2. Beberapa hal yang menyebabkan dipisahnya fase analisis leksikal dan penguraian pada suatu proses
kompilasi, yaitu ...
Jawab :
1. Hal yang paling penting adalah perancangan yang akan menjadi lebih sederhana.
2. Efisiensi dari kompilator lebih baik.
3. Peningkatan portabilitas dari kompilator.
5. Kemungkinan lain untuk mengembalikan proses dari suatu kesalahan adalah ...
Jawab :
1. Menghapus karakter yang berlebihan;
2. Memasukkan karakter yang hilang;
3. Mengganti karakter yang salah;
4. Menukar letak dari dua karakter yang berdekatan.
6. Misalnya L sebagai himpunan {A, B, ..., Z, a, b, ..., z} dan D adalah himpunan {0, 1, ..., 9}.
-a. L4
-b. D+
Jawab :
a. L4 adalah himpunan dari rangkaian 4 huruf.
b. D+ adalah himpunan dari semua rangkaian dari satu atau lebih angka.
7. Misalnya ∑ = {a,b}.
a. Ekspresi beraturan (a|b)(a|b) menyatakan himpunan ...
b. Ekspresi beraturan a* menyatakan himpunan dari ...
Jawab :
a. Ekspresi beraturan (a|b)(a|b) menyatakan himpunan {aa, ab, ba, bb}. Yaitu himpunan dari
semua rangkaian dari a dan b yang panjangnya dua.
b. Ekspresi beraturan a* menyatakan himpunan dari semua rangkaian yang terdiri dari nol atau
lebih a, yaitu a, aa, aaa, ...
8. Jelaskan mengenai state, edge, state penerima, pointer tanda dapat mundur ... (penjelasan dengan
gambar)
Jawab :
State :
Edge (sisi) :
10. Buatlah tabel peralihan untuk NFA yang telah dibuat pada soal nomor 9 ...
Jawab :
BAB PENERJEMAHAN UNTUK EKSPRESI SEDERHANA
Jawab :
-Setiap rangkaian diakhiri dengan karakter akhir-dari-rangkaian (end-of-string character) yang
dituliskan sebagai EOS.
-Setiap entri pada tabel simbol merupakan bagian dari array symtable yang merupakan record
yang terdiri dari dua bagian yaitu lexptr, yang menunjuk pada awal dari lexeme, dan token.
-Pada gambar 4.6 tersebut, Entri ke-0 dibiarkan kosong, karena fungsi lookup akan
mengembalikan nilai 0 untuk menyatakan bahwa tidak ada entri untuk rangkaian yang diberikan. Entri
pertama dan kedua digunakan untuk kata kunci div dan mod, sedang entri ketiga dan keempat digunakan
untuk identifier count dan i.
Jawab : Pohon sintaks berbeda dengan pohon urai karena penerjemah yang tidak penting tidak terlihat
pada pohon sintaks. Bisa dibilang, pohon urai sangat detail sedangkan pohon sintaks yang penting-
penting saja. Untuk lebih jelasnya, lihat gambar berikut ini :
3. Instruksi yang digunakan mesin stak abstrak dikelompokkan kedalam tiga kelompok yang berbeda,
yaitu ...
Jawab :
Aritmetik bilangan bulat, manipulasi stak dan alir kendali
4. Ada beberapa perintah pada stak untuk mengakses data dari memori, yaitu :
Jawab :
-push v memasukkan data kedalam stak.
-rvalue l memasukkan isi dari data pada lokasi l pada stak.
-lvalue l memasukkan alamat dari lokasi l pada stak.
-pop mengeluarkan unsur teratas dari stak.
:= nilai-R pada unsur teratas disimpan pada nilai-L yang berada dibawahnya dan
kedua unsur tersebut dikeluarkan dari stak.
copy masukan salinan dari unsur teratas dari stak kedalam stak tersebut.
Jawab : Untuk memungkinkan spasi, tabulasi dan bilangan-bilangan berada dalam ekspresi yang ada.
7. Karakter tambahan yang mungkin terdapat dalam input seperti spasi dan lain-lainnya akan
menyebabkan kegagalan dari ...
Jawab : Hal tersebut akan menyebabkan kegagalan dari proses penerjemah.
8. Umumnya penganalisis leksikal mengirimkan token dan atributnya kepada pengurai. Bila token dan
atribut tersebut dituliskan sebagai pasangan didalam tanda <>, maka input : 21 + 28 + 69 akan
ditransformasikan kedalam barisan pasangan berikut ...
Jawab : <num, 21>, <+,>, <num, 28>,<+,>, <num, 69>
10. Penganalisis leksikal menggunakan operasi lookup dan operasi insert untuk ...
Jawab : Penganalisis leksikal menggunakan operasi lookup untuk menentukan apakah ada entri untuk
suatu lexeme pada tabel simbol. Bila tidak ada, maka akan digunakan operasi insert untuk
membuat entri baru dan memasukkan lexeme yang baru pada tabel simbol.
4. Lanjutkanlah gambar 3.4 berikut ini berdasarkan pada gambar 3.3 ...
Jawab :
6. Dalam menggambarkan pohon urai untuk suatu pola terjemahan, maka aksi dinyatakan dengan ...
Jawab : Aksi dinyatakan dengan membentuk suatu anak tambahan untuk aksi tersebut yang disambung
dengan garis putus pada nodal dari produksi yang bersangkutan.
8. Cara pembentukan puncak-ke-bawah dari suatu pohon urai dilakukan dengan ...
Jawab : Dilakukan dengan dimulai dari akar, yang diberi label suatu unsur bukan terminal, dan secara
berulang-ulang melakukan kedua langkah berikut ini : 1. Pada nodal n, yang mempunyai label
bukan terminal A, pilih salah satu produksi untuk A dan bentuk anak-anak dari n untuk semua
simbol yang ada dibagian kanan produksi; 2. Cari nodal berikutnya dimana pohon bagian akan
dibentuk.
10. Jelaskan mengenai penjelajahan dengan mengutamakan kedalaman (depth-first tropersols) ...
Jawab : Dimulai dari akar pohon, kemudian secara rekursif mengunjungi anak dari setiap nodal dengan
urutan dari kiri ke kanan. Aturan semantic pada nodal tertentu dihitung setelah semua turunan
dari nodal tersebut dikunjungi. Hal ini disebut mengutamakan kedalaman (depth-first) karena
disini selalu dikunjungi anak dari suatu nodal yang belum dikunjungi terlebih dahulu, jadi
diusahakan untuk mengunjungi nodal-nodal sejauh mungkin dari akar dengan secepat mungkin.