22 0 96 KB
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*FF 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 AB, 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----------