KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari

Slides:



Advertisements
Presentasi serupa
Mulai Baca x x>x; if(x
Advertisements

STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
STRUKTUR DATA PERTEMUAN 5
Pengertian Algoritma Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma disusun oleh sederetan langkah instruksi yang logis.
Pengantar Teknik Kompilasi
Analisis Semantik.
Reverse Polish Notation (RPN)
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
STRUKTUR COMPILLER.
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
TEKNIK KOMPILASI Team Penyusun – UNIVERSITAS GUNADARMA: Gopa Kustriono
Pengantar Teknik Kompilasi
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Istiqomah, s.kom
Penyusun : Selamat Subagio, S.Kom
STACK ( TUMPUKAN ) Fajrizal.
STRUKTUR DATA IMPLEMENTASI STACK.
STRUKTUR DATA IMPLEMENTASI STACK.
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
TEKNIK KOMPILASI Team Penyusun : Gopa Kustriono Zulfiandri
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
STRUKTUR DATA IMPLEMENTASI STACK.
Analisa Semantik, Kode Antara,
PENGANTAR TEKNIK KOMPILASI
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
Analisis semantik, kode antara dan pembangkitan kode
SEMANTIKS Pertemuan Ke-3.
MATERI PERKULIAHAN TEKNIK KOMPILASI
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
MATERI PERKULIAHAN TEKNIK KOMPILASI
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
Semantics Analyser Contoh : A := ( A+B) * (C+D)
kode antara dan pembangkit kode
Analisis Sintaks (Parsing)
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
PEMROGRAMAN WEB DEWI SULISTIYARINI, S.KOM
Analisa Semantik, Kode Antara,
kode antara dan pembangkit kode
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pertemuan 1.
MATERI PERKULIAHAN ANALISIS ALGORITMA
STRUKTUR DATA IMPLEMENTASI STACK.
MATERI PERKULIAHAN TEKNIK KOMPILASI
STRUKTUR DATA IMPLEMENTASI STACK.
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Algoritma & Pemrograman 1
TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI)
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
STRUKTUR DATA IMPLEMENTASI STACK.
MATERI PERKULIAHAN SISTEM OPERASI
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
STRUKTUR DATA IMPLEMENTASI STACK.
MATERI PERKULIAHAN TEKNIK KOMPILASI
TEKNIK KOMPILASI Team Penyusun : Gopa Kustriono Zulfiandri
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Semantics Analyser by Kustanto
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
KODE ANTARA,PEMBANGKITAN KODE,PENANGANAN
Transcript presentasi:

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

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

Kode Antara

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

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

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

Jenis Kode Antara Notasi Postfix N-Tuple

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

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}

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

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

a:=1; WHILE a < 5 DO a:= a + 1; Notasi Postfixnya : <exp> <label2> BZ <stmt> <label1> BR label1 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.

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

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

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

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

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

Pembangkitan Kode

Penerjemahan ke bahasa assembly Pembangkitan Kode Penerjemahan ke bahasa assembly

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

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

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

(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

Pembangkitan Kode Alur tahapan kompilasi hingga pembangkitan kode

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