Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari

Presentasi serupa


Presentasi berjudul: "KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari"— Transcript presentasi:

1 KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari
MATERI PERKULIAHAN TEKNIK KOMPILASI KODE ANTARA & PEMBANGKITAN KODE 12 Ken Kinanti Purnamasari

2 Tahapan kompilasi yang dibuat untuk menerjemahkan program
Kode Antara & Pembangkitan Kode Tahapan kompilasi yang dibuat untuk menerjemahkan program dari bahasa tingkat tinggi.

3 Kode Antara

4 Kode yang dibuat sebelum
Kode Antara Kode yang dibuat sebelum bahasa tingkat tinggi diterjemahkan ke dalam bahasa assembly

5 Keuntungan Kode Antara
meringankan proses penerjemahan dari bahasa tingkat tinggi ke bahasa mesin meringankan proses optimasi meringankan proses pembacaan kode internal

6 Butuh waktu yang lebih lama karena melakukan penerjemahan dua kali.
Kerugian Kode Antara Butuh waktu yang lebih lama karena melakukan penerjemahan dua kali.

7 Jenis Kode Antara Notasi Postfix N-Tuple

8 Notasi Postfix Notasi Suffix atau Reverse Polish Posisi operator di paling akhir Format: <operan><operan><operator> (a+b)*(c+d) ab+cd+*

9 IF <exp> THEN <stmt1> ELSE <stmt2>
<exp> <label1> BZ <stmt1> <label2> BR <stmt2> label1 label2 Keterangan : BZ : branch if zero (zero = salah ) {bercabang/meloncat jika kondisi yang dites salah} BR : branch {bercabang/meloncat tanpa ada kondisi yang dites}

10 IF a > b THEN c := d ELSE c := e; Notasi Postfixnya :
<exp> <label1> BZ <stmt1> <label2> BR <stmt2> label1 label2 Contoh : IF a > b THEN c := d ELSE c := e; Notasi Postfixnya : 1. a 6. c 11. 2. b 7. d 12. e 3. > 8. := 13. 4. 11 9. 14 14. 5. BZ 10. BR

11 WHILE <exp> DO <stmt>
Notasi Postfix WHILE <exp> DO <stmt> <exp> <label2> BZ <stmt> <label1> BR label label2

12 a:=1; WHILE a < 5 DO a:= a + 1; Notasi Postfixnya :
<exp> <label2> BZ <stmt> <label1> BR label label2 Contoh : a:=1; WHILE a < 5 DO a:= a + 1; Notasi Postfixnya : 1. a 5. 5 9. 13. := 2. 1 6. < 10. 14. 4 3. 7. 16 11. 15. BR 4. 8. BZ 12. + 16.

13 N-Tuple Setiap baris boleh terdiri dari beberapa tupel Format : operator ... N-1 operan

14 N-Tuple Triples Notation Format : <operator><operan><operan>

15 N-Tuple Contoh : IF a > b THEN c := d ELSE c := e; Notasi Triples Notation-nya : >, a, b BZ, (1), (5) :=, c, d BR, ,(6) :=, c, e

16 N-Tuple Quadraples Notation Format : <operator><operan><operan><hasil>

17 N-Tuple Contoh : A := D * C + B / E Notasi Quadraples Notation-nya : *, D, C, T1 / , B, E, T2 +, T1, T2, A

18 Pembangkitan Kode

19 Penerjemahan ke bahasa assembly
Pembangkitan Kode Penerjemahan ke bahasa assembly

20 (A+B) * (C+D) Pembangkitan Kode Contoh : Quadraples Notation:
+, A, B, T1 +, C, D, T2 *, T1, T2, T3

21 Pembangkitan Kode Ditranslasikan ke dalam bahasa Assembly menjadi: {muat isi A ke akumulator} LDA A {tambahkan isi akumulator dengan B} ADD B {simpan isi akumulator ke T1} STO T1 LDA C ADD D STO T2 LDA T1 MUL T2 STO T3

22 Pembangkitan Kode Kode assembly tersebut dapat dioptimasi menjadi : {muat isi A ke akumulator} LDA A {tambahkan isi akumulator dengan B} ADD B {simpan isi akumulator ke T1} STO T1 LDA C ADD D MUL T1 STO T3

23 (A+B) * (C+D) +, A, B, T1 +, C, D, T2 *, T1, T2, T3 LDA A ADD B STO T1
ASSEMBLY 1 ASSEMBLY 2 LDA A ADD B STO T1 LDA C ADD D STO T2 LDA T1 MUL T2 STO T3 MUL T1

24 Pembangkitan Kode Alur tahapan kompilasi hingga pembangkitan kode

25 REFERENSI . . . Firrar U., Teknik Kompilasi, J&J Learning Yogyakarta, 2001 Alfred v. a. & ullman J.D., Compilers Principles Technique and Tools, Addison Wesley, 1988


Download ppt "KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari"

Presentasi serupa


Iklan oleh Google