• • !""#
!
"
$ !""%#
& ' !"""$
( ' ) ' * $ + ,---$ " % . / . ) ) 0) 2 1 3 13 3 ' 4 / 5
! # ! &$ !' ! % % 6 7 8 6 . / 9 : ; ( )! . 7 8 7
/
6
8
* ; 5 6 9: ; 4 <2'& 6 6 6 5 9 6 6( !. 6 ) : / = •
'
*
%
• ) > : + ; • ) : - ! • < 6 6:
• ) ) 6ERROR
MESSAGES
Compiler
&* #
&+
$
Source
Program
4 ) ?
,
: 5 6 : 9 : 6Bits on magnetic disk
0 1
The Bit
The Byte
A byte is 8 binary digits, or cells.
Bits on magnetic tape
In a 16 megabyte memory, there are 16 million of these 8-bit structures.
Bytes in memory
1955
2,000 bits per sq. in.
1995
250,000,000 bits per sq. in.
1 1
0 0 0 1 0 1
The bit is the smallest element of computer storage. It is a positive or negative magnetic spot on disk and tape and charged cells in memory.
1998 - billions of bits per second
0 1 0 1 1 0 1 1 0
010101011100101 1010
Switch (transistor)
1945 - 75 bits per second
% * % - " % ( • ) 7 8 • 5 : 5 :5 o % ( 75 / ' 8 70 9 8 7 ' @ A8 • 7 8 • / 6 • ) 4 6 7 8 6 6 B 5 6 ) 6 / 6
./
4 6
( C. 6 0/6
( C. 6 1/ ! <6
:E
4 6E 1
#2 3 & ,3
6 : 6 B * • 6 • • ) " • ? 5 • > : • 0 * % 4 5 6 • 2 6 • 0 7 8 • 5 • ? : 1
* • ? > 7 $ : 8 • 4 ! - , ! 6
Po
P
1
P
2
% % "' $ <0 4? / F!- ) CD%%,GGC (4/4 4 ' <5 H <5F ,CGGC '2 ' ( ( ,CCDC (4/4 ( < ' <0
? 6 9 6 6 7 8 B • / 6 : 6 • / 7 8 ; :; : : 9 : • / I#:I" 6 D • • !"I") 5 1 5 • 7!"#-8 ; 1 ) 07 0 8 * J K *#+! J : K # J : K J K L J K7J : K
J K J5 K L J5 K J ,K J K J5 K J; K L J K J; K L*L M L 9 J !K 3 L : L F J ,K :L E L > J K J N K L J N K J N K J N K J5 K J N K J K L J N K J K J5 K J K L J K J5 K J K -L!LM L" ) .F!B ) .F 3 , '
.( % ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; * $ % 3 % %"
&
1 5
1
;
?
/ C & 0 70 8 B 0 70 8 + 0 7 0 8 α αα α ; β ββ β ; / , 10 9 αααα ; / ! 1 ; 2 ) <αααα< =8 <ββββ< / -? > > / / )+ • &>? . / → • .> 1 ;. 6 → 0 → 0 • 0 > 1 5 . & ; )→ 0 →) • 1>& . & ! → → 5 → 5 → % 6 • αααα →→→→ ββββ α > β • α : β : • : : : 6
• ? 5 7 8 : 5 7 ) 8 • . / → / '→ / L / 3 ' ' / ' / 3 '
) 6 6 6 • 1 •
/
• < 5 :O -:" < / 2? 6 < ? 9S
ID
INT
PLUS MINUS+
-
huruf Digit Huruf, Digit Digit Blank* 4* % > 6 • ) 0 • ) 0 1 ((8 → < = ? @A -. '→ / L /3' L /:' / → ) 0 ' ..FJ/K L J/K 3 J'K L J/K : J'K / ..F
" 2 ) 0 ) • 7 8 > • 6 • 2 '→ / L /3' L /:' ) 0. J) K ..F)'(< J K @ ' <42 J KA' '! ! &$ !'# $ 7 8 ? 0 :5 < <' 7 ; ' ; 8
BEGIN Statement END
% ( I. • 2 1 O F 1 O < 5 6 : • O 5 5 > 7 6 8 • : > 6 • 7 8 : ' 2 " 4 6 " 2 " 4 6 ! & B + & ,
' 2 " 4 6 ::: 1 O < 1 6 : " • 5 • 5 : • 6 : • • • : 9 5 • / . 5 • . ; 7 6 1 8 ( % % • !
9
<0 '2 ' )'(< ' 7 8 < /'('&7 8 < / 024 / 7) 8 • ( ) 7 8 75 >& 8 7 >5 8 • & 74 73 : E >8 7JFK 8 • 7 ) > :' 2 " : • !. (8 10 C D ./E-6 : 9 5 → 5 → .F → C, 6 → 3 < 5 → → E >5 → ! G • •
$
"
! ; , C D • .( !
? * 3#
8
B • 5 : . C ( ,# ! ,-!3# ,! ! ! 7 ,% / :
1
: < 6 < 5 6 7 8 7 8 7 8" 2 "B ) : 1 / 1 . • : 17 18
1
• ( . : 5 • ( 1 • : : 7 8 • 1 •"
P Q 6 • / . 4 C * 6 D 4 C 6 • . = ?-= ? )= 2 ?J'1 K J/ K J K D J0 K J5 K 4J 1 K 6 4J'1 K6 J'1 K C J K J'1 K C J K J K J5 K J K J5 K J5 K J5 K * " 2 • > 7 1 > 8 :
;
6 : • . → )) ) ) • . • 7
5
;
8 . ; 7 8 • 7;
8. ; 7 8 • . • 1 5 . → L → L • . FK FK FK FK FK • . FK FK FK• . :K ) L :K L L ) :K L L )) ) ) ) ) ) )
$ C . • $ ' • • % 6 . • >
5
9 .)
>
. )
0
. &
;
• * >5
( * • • : 1 • ) 6 7 8 • : 9 : • → L ) → L )→ L• P Q 78 78 78 / 6 78 7;8 7;8 7;8 ) ) / 6 7;8 : >
>
• 6 79 8 • • ) • ( &5
5 5'
:> / > (F7R/ 8 RF7S'TT/TT0T8 / 7; 8 /F7STTETT>TT3TT:T8 / FT'T 9 >
D
% 78 ! '→ / L / 3 ' L / : ' / → 0L 0E / L 0>/ 0→ 7 8 0 ' → / L '3/ L ':/ / → 0L /E 0L / >0 0→ 7 8 • 5 1 ' → '3/ L ':/ L / / → /E 0L / >0L 0 0→ & 5 % % 5 7 8 ; % %βF ; . → )→ ) 5 → β 5 < . → )→) 5 5 ( 1 5 ( . → → L ε
• 5 B
%
%
→ α! L α, L L α%
% % → β! L β, L L β • : 5 . ! → β! U Lβ, U L Lβ U , U→ α! Lα, L L α C U→ α! U L α, U L L α U • ; U! U, ; 5 ( / ) 1 5 → L L L 55L 5 → → → → < & . α!F α,F 5 → L L 55 & .β! F β, F βCF55 2 5! →
9.
L9.
L 559.
,/
U! → L C U! →9.
L9.
5 ) . → L L 55 →9.
L9.
L 559.
U! → L U! →9.
L9.
• 5 5 9 • 6 9 7 8 • 5 ( 55
• 1 5 • ; • ) 1 ; > • 5 ; 9• 6 7 8 7 8 • ) • 5 • • . .F7 3)8 E 73 8 • : P.FPP3Q PEQ : • ? : ? . • ; 5 • ; :; • • •
5
. • : 7 8 o % 6 5 o 5 •
:
B • 1 !5
• ) 6<
7<
• 6 6 • 2<
• 4 2 7 8 • < • , 9 5 "2
>
& !F J4 K J4 K J4 K . 7 3 8 E 7 3 8 51 3 3 E 6 51 ! J 1 K 3# J !K #' #J ,K51 6 B J 1 K J !K*9J !K J ,K * J ,K )U . ) 5O 7 8 )&. . ! K 3# .F #' # .F 51 !! !, !C K !D ,, !I )U !# !% !G .F !" ,-,I ,! )& ,, ,C ,D .F ,I 1 7K 8 ,, ) 1 7K 8 6 !#:!G ,I . G3!'#J 1 K &J K 51 6 B J 1 K J !K*9J K J ,K *
51 !-!! ! !, .F !C !D I !I J !# ,# !% )U !G !" ,-! ,! ! ,, .F ,C ,D !C ,I)& ! '# & !& 5 J K J K J K . .F E 3 ) >' * . ! E , >) ' C 3 7!8 7,8 D .F 7C8 7 8 6
( <0V K W/ ' V .F : '2 ' V .F 3 < . ! K V W , )U 7!8 7#8 ! # C : D .F V 7C8 I )& 7G8 # 3 % .F V 7#8 % % - % % %
!
" % 7 2 < B .F) 3 E >' 0.F E2
<
2
'
! E ! ! , > 7!8 ' , , C 3 ) 7,8 C C D .F 7C8 D D I .F 0 7!8 I ! # IH 0 H J K J K J K J K &
;
; . .F E 3 ) >' * . ! E /! , > ) ' /, C 3 /! /, • 7 8 • < 5 • 73)8E73 8 6 H . ! 3 ) /! , 3 /, C E /! /, /C . 2 7 8 ) 7 6 )8 /4 /! 7 /!8/4 /, 2 /! ?2 /, /4 /C 6 . 2 ) /4 /! 2 ?2 /! /4 /, , % Source Program
X = Y + X LeksikalAnalisis Analisis Sintaksis Code Generator dan Analisis sematiks Tabel Simbol Token-token Id1:=Id2+Id1 LDA A ADD Y STO X <assign> Id1 := <Expr> Id2 + Id1
• • • & • ' & ; • ' • > 6 / ' /' / • 6 .FV 3 7) E 73 8 •
/
. B F! IE -%GR
5
. ) .F) 3 ! 5 2 : .. • • •
5
• . !#, * . ? 9 5 • . F!#, F9
5
5
F6 )% >
% "
%
. )2
.
7 5 > 8 4 . >%
"
-
%
%
7 8 9 % > % " & B ' & ; . & .P Q ) 7 8 ) 6 6 6
$ %
3
& ; / 6;
"
2
5 "
.F 3 ! ) .F) 3 !B .F 3 ! B 7 ) 08J
K
I -
K B J
K
B
=
P
7
Q
# 5 ".$
63# 6 7B8 7 . J K J 1K J K 2 5 5 " ) . ) .FP) 2 Q 9 ; ) ; ) # 3 > # ; 7 5 8 / 1 & > G3!'# J!
< B 1.FV 3 ! B B 2 5 / 5 .
5
; . .F-B '5
) & . 5 . G3!''# F! 4 5 6 G3!'#4 4 2 4 (
&
6 o 4 O o < 4 O 74 4 8&
' %
4 2 . . ; . .F0 C 1 3 ) .FJ3 ) I , 3 C>
2
#
. .F* C V .FW3 * C4 <
'
. ; . < 9 : : ; 6 . ; 6 4 6 7 8 . & !(8 . 0 & K!L(8 M7 6 K.L(8 M7 K0L(8 M7 0 H & . 6 04&<.F! !- 4 F(8 J )'(< 04&<.F! !- 4 F(8 J )'(< .F 3 ! .F 3 ! ' . ' . &. 9 6 .F 3 ! < 78
&
+
4 6 6 B ) 7 8N
. . V .F IB <0V F-/ ' .F 3 ! < (8 C . 6 V 6-. 7 8 6 7 B < 8B ; 1. B 1.F 3 B 6
O
(
; B ; . .FIB B RO
(
; 9 9 B ; . .FI .F 3 B B ; 9*
55 : 5 . 5 / 5 4 6 5 ; ; 5 0 / <5 : < 6 / <5 B 5 5
"(
5 5%
. ; :; ./ <5 : < 5
!
B ? 5 < 5 * 5 B 5 ; / 5 B < 7 8 5 ; 5 7 5 8B 5 ; -? 5 B5
>
5 <5 5 5 5B
5 . ; 5 7 8 B R ) . < B V 7U. 8 ; . <% 7 -! ) , V C U D / <. X- 1Y 5 . B . B 4 6 . 6 B / . / B 5 . < B . ) B 2 ; . - 1 ; B . < B 6 F7 ; 5 8 / F7 / <5 :
"
5 5 5 . ? /< 1 9 * ? 7 F : 9 3 !8 1 O ' O
* %
5 : ) 5 9 > O ; >; O ; R ) . < B V 7U. 8B R . < B ? ) ) * ; F, D R O F, 7 , 8 , 2 F-7 8 C5 7 8 ' : B 4 ; 5 ' : . ? :
"
5 : 5 : 5 ' : . ? ) 5Soal-soal Latihan Teknik Kompilasi
Soal Multiple choice
1. Yang disebut dengan bahasa mesin adalah suatu bahasa yang: a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat
compiler dengan bahasa jenis ini b. Fasilitas yang dimiliki lebih baik c. Memiliki ukuran yang relatif besar d. Lebih mudah dipelajari
2. Yang disebut dengan bahasa assembly adalah suatu bahasa yang: a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat
compiler dengan bahasa ini b. Fasilitas yang dimiliki lebih Sedikit c. Memiliki ukuran yang relatif besar d. Lebih mudah dipelajari
3. Yang disebut dengan bahasa Tingkat tinggi adalah suatu bahasa yang: a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat
compiler dengan bahasa ini
b. Fasilitas yang dimiliki lebih Sedikit c. Memiliki ukuran yang relatif kecil d. Lebih mudah dipelajari
4. Yang dimaksud dengan BootSrap, adalah a. Bagaimana orang mengerti bahasa mesin b. Penggunaan bahasa tingkat tinggi
c. Untuk membangun sesuatu yang besar dibangun dulu bagian intinya d. Untuk menghidupkan komputer
5. Noam chomsky melakukan penggolongan tingkatan dalam bahasa, dikenal dengan istilah
a. BNF
b. Chomsky Hierarky c. Tata Bahasa
d. Grammar
6. Aturan produksi yang ada menggunakan simbol-simbol: a. α → β
b. A → b c. β → α d. b → A
a. Tipe 0 b. Tipe 1 c. Tipe 2 d. Tipe 3
8. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang termasuk pada kategori Context sensitive: Panjang string ruas kiri harus lebih kecil atau sama dengan ruas kanan, adalah
a. Tipe 0 b. Tipe 1 c. Tipe 2 d. Tipe 3
9. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang termasuk pada kategori Context Free Grammar: Ruas kiri haruslah tepat satu simbol variable, adalah
a. Tipe 0 b. Tipe 1 c. Tipe 2 d. Tipe 3
10. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang termasuk pada kategori Regular: Ruas kanan hanya memiliki maksimal 1 simbol terminal dan diletakkan paling kanan sendiri, adalah
a. Tipe 0 b. Tipe 1 c. Tipe 2 d. Tipe 3
11. Yang dimaksud dengan Diagram State, pada teknik Kompilasi adalah
a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis lexical
b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis syntax
c. Aturan produksi yang dikenalkan oleh comsky d. Simbol terminal
12. Yang dimaksud dengan TOKEN, pada teknik Kompilasi adalah
a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis lexical
b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis syntax
a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis lexical
b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis syntax
c. Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis d. Simbol terminal
14. Translator yang Source codenya adalah bahasa assembly, dan Object code adalah bahasa mesin, disebut dengan
a. Assembler b. Compiler c. Interpreter d. Suplier
15. Translator yang Source code nya adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses berbeda, disebut dengan :
a. Assembler b. Compiler c. Interpreter d. Suplier
16. Translator yang idak menghasilkan bentuk object code, tetapi hasil
translasinya hanya dalam bentuk internal, dimana program induk harus selalu ada-berbeda dengan compiler, disebut dengan :
a. Assembler b. Compiler c. Interpreter d. Suplier
17. Memgelompokkan program asal/sumber menjadi token disebut dengan a. Scanner
b. Parser c. Lexicer d. Interpreter
18. Yang bertugas untuk memeriksa kebenaran dan urutan dari token-token yang terbentuk oleh scanner, disebut dengan:
a. Scanner
b. Parser
c. Lexicer d. Interpreter
c. Untuk mengenali makna dari simbol-simbol
d. Memeriksa variabel sudah dideklarasikan atau belum 20. Tugas dari Semantics analyser adalah
a. Mentransformasikan ke dalam bentuk token-token b. Proses pendeteksian token-token
c. Untuk mengenali makna dari simbol-simbol
d. Memeriksa variabel sudah dideklarasikan atau belum 21. Tugas dari Syntax analyser adalah
a. Mentransformasikan ke dalam bentuk token-token
b. Proses pengelompokan token-token kedalam class syntax c. Untuk mengenali makna dari simbol-simbol
d. Memeriksa variabel sudah dideklarasikan atau belum 22. Tugas dari Intermidiate code, adalah
a. Mentransformasikan ke dalam bentuk token-token
b. Proses pengelompokan token-token kedalam class syntax
c. Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke sejumlah mesin
d. Memeriksa variabel sudah dideklarasikan atau belum 23. Fungsi dari Tabel simbol, adalah :
a. Mentransformasikan ke dalam bentuk token-token
b. Proses pengelompokan token-token kedalam class syntax
c. Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke sejumlah mesin
d. Menindak lanjuti untuk perbaikan
24. Rekasi-reaksi yang tidak dapat diterima pada suatu compiler adalah; kecuali a. Compiler crash: hang
b. Looping
c. Mengahasilkan obyek yang salah d. Menemukan kesalahan yang pertama
25. Rekasi-reaksi yang benar, tapi kurang diterima pada suatu compiler adalah; a. Compiler crash: hang
b. Looping
c. Mengahasilkan obyek yang salah d. Menemukan kesalahan yang pertama
26. Rekasi-reaksi yang dapat diterima pada suatu compiler adalah; kecuali a. Recovery
27. Pada teknik Optimasi di tahapan compiler, ada beberapa teknik kompilasi diantaranya adalah dibawah ini: kecuali
a. Dependency optimasi b. Lokal optimasi
c. Global optimasi d. Best Optimasi
28. Tujuan dari dependency Optimasi adalah untuk a. Menghasilkan error kesalahan
b. Mengbetulkan kesalahan
c. Menghasilkan kode program yang kecil dan lebih cepat d. Menghasilkan execute file
29. Yang dimaksud dengan optimasi lokal adalah
a. Optimasi yang dilakukan hanya pada suatu blok daru source code b. Optimasi yang dilakukan dengan cara seperti graph terarah yang
menunjukkan jalur yang mungkin selama execusi
c. Menghasilkan kode program yang kecil dan lebih cepat d. Optimasi yang dilakukan oleh programmer
30. Yang dimaksud dengan optimasi global adalah
a. Optimasi yang dilakukan hanya pada suatu blok daru source code b. Optimasi yang dilakukan dengan cara seperti graph terarah yang
menunjukkan jalur yang mungkin selama execusi c. Menghasilkan kode program yang kecil dan lebih cepat d. Optimasi yang dilakukan oleh interpreter