Kuis Kompilasi [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Pilih satu jawaban yang tepat. Tidak diperkenankan menggunakan kalkulator. 1.



Masukan penganalisa sintaks adalah deretan: a. karakter b. produksi c. token



d. representasi antara



2.



Kesalahan seperti sintax error akan muncul pada proses: a. analisa masalah b. analisa sintaks c. analisa semantik d. analisa leksikal



3.



Ekspresi : if a2 < 9 do dalam Pascal mengandung kesalahan: a. sintaks b. leksikal c. sintaks dan leksikal



d. semantik



Ekspresi : if a2 < 9 tehn Pascal mengandung kesalahan: a. sintaks dan leksikal b. leksikal c. sintaks



d. semantik



4 5.



Pelanggaran terhadap panjang maksimum ekspresi tunggal yang telah ditetapkan akan terdeteksi pada fase: a. analisa leksikal b. analisa sintaks c. pembangkit kode antara d. analisa semantik



6.



Pelanggaran terhadap ketentuan tentang dua tipe operan dalam ekspresi aritmatika akan terdeteksi pada fase: a. analisa leksikal b. analisa semantik c. analisa sintaks d. pembangkit kode antara



7.



Bentuk format quadruples adalah: a. (result, arg1, op, arg2) c. (result, assign, arg1, op, arg2)



b. (op, arg1, arg2, result) d. (arg1, op, arg2, result)



8.



Jika sebuah quadruples berbentuk (op, id, temp1, temp2), maka hasil operasi disimpan dalam variabel: a. op b. id c. temp2 d. temp1



9.



Jika format quadruples adalah (op, arg1, arg2, result) maka ekspresi id := temp menetapkan simbol - (strip, dash) pada: a. op b. arg1 c. arg2 d. result



10.



Jika format quadruples adalah (op, arg1, arg2, result) maka nilai op untuk ekspresi id := temp adalah: a. - (strip, dash) b. operator assignment c. nilai dari variabel temp d. nilai dari variabel id



11.



Tugas pengotimal kode dalam proses kompilasi ekspresi arritmatika adalah: a. mengoptimalkan hasilnya sampai desimal terkecil b. mengoptimalkan hasilnya sampai bilangan terkcil yang dikenali komputer c. jawaban a dan b benar d. jawaban a dan b salah



12.



Quadruples dari ekspresi temp2 := id3 * temp1 adalah: a. (temp2, id3, *, temp1) b. (*, temp2, id3, temp1) c. (*, id3, temp1, temp2) d. (id3, temp1, *, temp2)



13.



Tiga aspek yang harus diperhatikan dalam merancang sebuah bahasa adalah: a. spesifikasi leksikal, spesifikasi sintaks, aturan-aturan semantik b. spesifikasi leksikal, aturan-aturan semantik, aturan-aturan parsing c. spesifikasi leksikal, spesifikasi sintaks, aturan-aturan parsing d. spesifikasi leksikal, spesifikasi sintaks, kaidah EYD



14.



Dalam deklarasi record posisi sebuah karakter, field posisi kolom (karakter tersebut merupakan karakter ke berapa dari kiri dalam sebuah baris program sumber) dideklarasikan sebagai data bertipe: a. integer b. byte c. word d. longint



15.



Dalam deklarasi record posisi sebuah karakter, field posisi kolom (karakter tersebut merupakan karakter ke berapa dari kiri dalam sebuah baris program sumber) dideklarasikan sebagai data bertipe byte karena: a. jumlah karakter dalam satu baris adalah terbatas b. analogi dengan puisi, satu baris terdiri dari satu atau lebih bait c. satu baris terdiri dari beberapa bait ekspresi d. jumlah ekspresi dalam satu baris adalah terbatas



16.



Spesifikai token dinyatakan dengan Current_Token(tipe, nilai). Argumen tipe menyatakan: a. procedure b. tipe data c. nilai token d. kelompok token



17.



Bayangkan sebuah token yang bukan reserve word mengalir melewati parser dan scanner. Pernyataan yang benar adalah: a. bagi scanner token tersebut adalah sebuah terminal b. bagi parser token tersebut adalah sebuah terminal c. bagi scanner token tersebut adalah sebuah non terminal d. bagi parser token tersebut adalah sebuah non terminal



18.



Sebuah kalimat adalah ambigu jika: a. dihasilkan oleh grammar yang mengandung beberapa produksi dengan ruas kiri yang sama sedangkan prefix ruas kanannya sama b. hanya ada satu pohon sintaks yang dapat dibentuk kalimat tersebut c. tidak dapat diderivasi dari simbol awal S d. mengandung produksi dengan ruas kanan produksi terdiri dari lebih dari dua simbol grammar



19.



Produksi berbentuk A  A dikatakan produksi yang bersifat: a. ambivalen b. rekursi kiri immediate c. ambigu



20.



Bentuk produksi rekursi kiri immediate adalah: a. A  B b. A  A c. A  A



d. A  B



21.



Hasil eliminasi sifat rekrsi kiri dari produksi T  T*FF adalah : a. T  TR, R *TR b. T  RT, R *TR c. T  TR, R *TR d. T  TR, R *RT



22.



Pada model predictive parser, posisi simbol $ adalah: a. top of stack b. bottom of stack



d. rekursi kiri



d. middle of stack



d. somewhere of stack



23.



Misalkan A adalah top of stack dan a adalah karakter input yang sedang ditunjuk. Kesalahan sintaks akan terjadi jika: a. A  V T , A  a b. A  V T c. A  V N d. A  V N , A = a



24.



Pernyataan yang benar tentang tabel parsing M adalah: a. array 2 dimensi M(A, a) b. A   merupakan isi sel c. tanda kesalahan merupakan isi sel d. jawaban a, b, dan c benar



25.



Misalkan A adalah top of stack dan a adalah karakter input yang sedang ditunjuk. Misalkan pula A  V N dan isi sel M(A,a) adalah A  UVW, maka: a. parser akan mengganti A dengan UVW b. parser akan mengganti A dengan UVW dengan V sebagai top of stack c. parser akan mengganti A dengan UVW dengan W sebagai top of stack d. parser akan mengganti A dengan UVW dengan U sebagai top of stack



26.



Jika X  Y,   , maka: a. First()  Follow(Y) c.   Follow(Y)



b. First() -{}  Follow(Y) d.   First(Y)



27.



Hubungan antara scanner dan parser adalah: a. keluaran scanner adalah masukan bagi parser b. keluaran parser adalah masukan bagi scanner c. scanner dan parser membutuhkan masukan yang sama d. scanner dan parser menghasilkan keluaran yang sama



28.



Misalkan alfabet scanner adalah L S = {a, b, u, k, p}. Jika scanner tersebut menghasilkan keluaran {paku, buka, baku, abu, uap} maka alfabet parser adalah: a. {a, b, u, k, p} b. {paku, buka, baku, abu, uap} c. {a, b, u, k, p, paku, buka, baku, abu, uap} d. a, b, dan c salah



29.



Yang menjadi tugas pembangkit kode adalah: a. memeriksa keseuaian deretan token b. membangkitkan kode dalam bahasa tertentu c. memeriksa program sumber, karakter demi karakter d. memeriksa tipe variabel atau konstanta



30.



Spesifikasi leksikal diimplementasikan dengan menggunakan grammar: a. unconstrained b. context sensitive c. regular d. context free



31.



Spesifikasi sintaks biasanya diimplementasikan dengan menggunakan grammar: a. unconstrained b. context free c. context sensitive d. regular



32.



Fisrt(X) = {X} jika: a. X  V N b. X  V T



33.



d. X = 



d. X = simbol awal



Follow(T’) dari himpunan produksi berikut: Q = {E  TE’, E’  +TE, T  FT’, T’  *FT’, F  (E)id}, adalah : a. {$, )} b. {$, ), *} c. {$, ), +, *} d. {$, ), +}



34.



Isi sel M(A,b) pada tabel Parsing Table M akan berisi produksi A   jika: a.   First() dan b  Follow(A) b.   First(A) dan b  Follow(A) c.   First() dan b  Follow() d.   First(A) dan b  Follow()



35. Diketahui sebuah grammar : Q = {S  AB, A  a , B  b}. Sel parsing table yang bernilai ganda akan berisi dua produksi berikut: a. S  A, S  B b. A  a, A   c. B  b, B   d. a, b, c salah 36.



Jika a  First() dan terdapat produksi A  , B  A, C  B, maka: a. M(A, a) = A   b. M(B, a) = B  A c. M(C, a) = C  B d. jawaban a, b, dan c benar



37.



a  First(X) jika terdapat produksi: a. X  a b. X  a c. X   dan a  First()



d. a, b, dan c benar



38.



Agar setiap sel pada parsing table bernilai tunggal maka untuk setiap produksi berbentuk A   harus bersifat: a.    and    b.    and    c. if    then   not() d. if    then   not()



39.



Grammar yang tidak menghasilkan nilai ganda pada setiap sel parsing table disebut grammar LL(1). L pertama dan L kedua adalah singkatan dari : a. left dan left b. leftmost dan leftmost c. leftmost dan left d. left dan leftmost



40. Salah satu tujuan Analisis Semantik pada kompiler dua fase adalah: a. Membentuk intermediate representation b. Menentukan kesalahan pada saat scanning c. Mengatur bahasa dalam suatu bahasa pemprograman tertentu d. Membaca suatu program yang di tulis dalam suatu bahasa sumber ----------oo0oo----------