MATERI PERKULIAHAN TEKNIK KOMPILASI KODE ANTARA PEMBANGKITAN KODE
![MATERI PERKULIAHAN TEKNIK KOMPILASI KODE ANTARA & PEMBANGKITAN KODE 12 Ken Kinanti Purnamasari MATERI PERKULIAHAN TEKNIK KOMPILASI KODE ANTARA & PEMBANGKITAN KODE 12 Ken Kinanti Purnamasari](https://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-1.jpg)
MATERI PERKULIAHAN TEKNIK KOMPILASI KODE ANTARA & PEMBANGKITAN KODE 12 Ken Kinanti Purnamasari
![Kode Antara & Pembangkitan Kode Tahapan kompilasi yang dibuat untuk menerjemahkan program dari bahasa Kode Antara & Pembangkitan Kode Tahapan kompilasi yang dibuat untuk menerjemahkan program dari bahasa](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-2.jpg)
Kode Antara & Pembangkitan Kode Tahapan kompilasi yang dibuat untuk menerjemahkan program dari bahasa tingkat tinggi.
![Kode Antara Kode Antara](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-3.jpg)
Kode Antara
![Kode Antara Kode yang dibuat sebelum bahasa tingkat tinggi diterjemahkan ke dalam bahasa assembly Kode Antara Kode yang dibuat sebelum bahasa tingkat tinggi diterjemahkan ke dalam bahasa assembly](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-4.jpg)
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 Keuntungan Kode Antara - meringankan proses penerjemahan dari bahasa tingkat tinggi ke bahasa mesin](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-5.jpg)
Keuntungan Kode Antara - meringankan proses penerjemahan dari bahasa tingkat tinggi ke bahasa mesin - meringankan proses optimasi - meringankan proses pembacaan kode internal
![Kerugian Kode Antara - Butuh waktu yang lebih lama karena melakukan penerjemahan dua kali. Kerugian Kode Antara - Butuh waktu yang lebih lama karena melakukan penerjemahan dua kali.](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-6.jpg)
Kerugian Kode Antara - Butuh waktu yang lebih lama karena melakukan penerjemahan dua kali.
![Jenis Kode Antara - Notasi Postfix - N-Tuple Jenis Kode Antara - Notasi Postfix - N-Tuple](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-7.jpg)
Jenis Kode Antara - Notasi Postfix - N-Tuple
![Notasi Postfix - Notasi Suffix atau Reverse Polish - Posisi operator di paling akhir Notasi Postfix - Notasi Suffix atau Reverse Polish - Posisi operator di paling akhir](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-8.jpg)
Notasi Postfix - Notasi Suffix atau Reverse Polish - Posisi operator di paling akhir Format: <operan><operator> (a+b)*(c+d) ab+cd+*
![IF <exp> THEN <stmt 1> ELSE <stmt 2> <exp> <label 1> BZ <stmt 1> IF <exp> THEN <stmt 1> ELSE <stmt 2> <exp> <label 1> BZ <stmt 1>](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-9.jpg)
IF <exp> THEN <stmt 1> ELSE <stmt 2> <exp> <label 1> BZ <stmt 1> <label 2> BR <stmt 2> label 1 label 2 Keterangan : BZ : branch if zero (zero = salah ) {bercabang/meloncat jika kondisi yang dites salah} BR : branch {bercabang/meloncat tanpa ada kondisi yang dites}
![Notasi Postfix <exp> <label 1> BZ <stmt 1> <label 2> BR <stmt 2> label Notasi Postfix <exp> <label 1> BZ <stmt 1> <label 2> BR <stmt 2> label](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-10.jpg)
Notasi Postfix <exp> <label 1> BZ <stmt 1> <label 2> BR <stmt 2> label 1 label 2 Contoh : IF a > b THEN c : = d ELSE c : = e; Notasi Postfixnya : 1. 2. 3. 4. a b > 11 6. 7. 8. 9. c d : = 14 5. BZ 10. BR 11. c 12. e 13. : = 14.
![Notasi Postfix WHILE <exp> DO <stmt> <exp> <label 2> BZ <stmt> <label 1> BR Notasi Postfix WHILE <exp> DO <stmt> <exp> <label 2> BZ <stmt> <label 1> BR](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-11.jpg)
Notasi Postfix WHILE <exp> DO <stmt> <exp> <label 2> BZ <stmt> <label 1> BR label 1 label 2
![Notasi Postfix <exp> <label 2> BZ <stmt> <label 1> BR label 1 label 2 Notasi Postfix <exp> <label 2> BZ <stmt> <label 1> BR label 1 label 2](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-12.jpg)
Notasi Postfix <exp> <label 2> BZ <stmt> <label 1> BR label 1 label 2 Contoh : a: =1; WHILE a < 5 DO a: = a + 1; Notasi Postfixnya : 1. 2. 3. 4. a 1 : = a 5. 6. 7. 8. 5 < 16 BZ 9. 10. 11. 12. a a 1 + 13. : = 14. 4 15. BR 16.
![N-Tuple Setiap baris boleh terdiri dari beberapa tupel Format : operator. . . N-1 N-Tuple Setiap baris boleh terdiri dari beberapa tupel Format : operator. . . N-1](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-13.jpg)
N-Tuple Setiap baris boleh terdiri dari beberapa tupel Format : operator. . . N-1 operan
![N-Tuple Triples Notation Format : <operator><operan> N-Tuple Triples Notation Format : <operator><operan>](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-14.jpg)
N-Tuple Triples Notation Format : <operator><operan>
![N-Tuple Contoh : IF a > b THEN c : = d ELSE c N-Tuple Contoh : IF a > b THEN c : = d ELSE c](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-15.jpg)
N-Tuple Contoh : IF a > b THEN c : = d ELSE c : = e; Notasi Triples Notation-nya : 1 >, a, b 2 BZ, (1), (5) 3 : =, c, d 4 BR, , (6) 5 : =, c, e 6
![N-Tuple Quadraples Notation Format : <operator><operan><hasil> N-Tuple Quadraples Notation Format : <operator><operan><hasil>](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-16.jpg)
N-Tuple Quadraples Notation Format : <operator><operan><hasil>
![N-Tuple Contoh : A : = D * C + B / E Notasi N-Tuple Contoh : A : = D * C + B / E Notasi](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-17.jpg)
N-Tuple Contoh : A : = D * C + B / E Notasi Quadraples Notation-nya : 1 *, D, C, T 1 2 / , B, E, T 2 3 +, T 1, T 2, A
![Pembangkitan Kode Pembangkitan Kode](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-18.jpg)
Pembangkitan Kode
![Pembangkitan Kode Penerjemahan ke bahasa assembly Pembangkitan Kode Penerjemahan ke bahasa assembly](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-19.jpg)
Pembangkitan Kode Penerjemahan ke bahasa assembly
![Pembangkitan Kode Contoh : (A+B) * (C+D) Quadraples Notation: 1 +, A, B, T Pembangkitan Kode Contoh : (A+B) * (C+D) Quadraples Notation: 1 +, A, B, T](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-20.jpg)
Pembangkitan Kode Contoh : (A+B) * (C+D) Quadraples Notation: 1 +, A, B, T 1 2 +, C, D, T 2 3 *, T 1, T 2, T 3
![Pembangkitan Kode Ditranslasikan ke dalam bahasa Assembly menjadi: {muat isi A ke akumulator} {tambahkan Pembangkitan Kode Ditranslasikan ke dalam bahasa Assembly menjadi: {muat isi A ke akumulator} {tambahkan](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-21.jpg)
Pembangkitan Kode Ditranslasikan ke dalam bahasa Assembly menjadi: {muat isi A ke akumulator} {tambahkan isi akumulator dengan B} {simpan isi akumulator ke T 1} LDA A ADD B STO T 1 LDA C ADD D STO T 2 LDA T 1 MUL T 2 STO T 3
![Pembangkitan Kode assembly tersebut dapat dioptimasi menjadi : {muat isi A ke akumulator} {tambahkan Pembangkitan Kode assembly tersebut dapat dioptimasi menjadi : {muat isi A ke akumulator} {tambahkan](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-22.jpg)
Pembangkitan Kode assembly tersebut dapat dioptimasi menjadi : {muat isi A ke akumulator} {tambahkan isi akumulator dengan B} {simpan isi akumulator ke T 1} LDA A ADD B STO T 1 LDA C ADD D MUL T 1 STO T 3
![(A+B) * (C+D) 1 +, A, B, T 1 2 +, C, D, T (A+B) * (C+D) 1 +, A, B, T 1 2 +, C, D, T](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-23.jpg)
(A+B) * (C+D) 1 +, A, B, T 1 2 +, C, D, T 2 3 *, T 1, T 2, T 3 ASSEMBLY 1 ASSEMBLY 2 LDA A ADD B STO T 1 LDA C ADD D STO T 2 LDA T 1 MUL T 2 STO T 3 LDA A ADD B STO T 1 LDA C ADD D MUL T 1 STO T 3
![Pembangkitan Kode Alur tahapan kompilasi hingga pembangkitan kode Pembangkitan Kode Alur tahapan kompilasi hingga pembangkitan kode](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-24.jpg)
Pembangkitan Kode Alur tahapan kompilasi hingga pembangkitan kode
![REFERENSI. . . Firrar U. , Teknik Kompilasi, J&J Learning Yogyakarta, 2001 Alfred v. REFERENSI. . . Firrar U. , Teknik Kompilasi, J&J Learning Yogyakarta, 2001 Alfred v.](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-25.jpg)
REFERENSI. . . Firrar U. , Teknik Kompilasi, J&J Learning Yogyakarta, 2001 Alfred v. a. & ullman J. D. , Compilers Principles Technique and Tools, Addison Wesley, 1988
![TUGAS KELOMPOK Buatlah program Compiler yang mengandung Scanner, Parser, Semantic_Analyzer, dan Pembangkitan Kode ! TUGAS KELOMPOK Buatlah program Compiler yang mengandung Scanner, Parser, Semantic_Analyzer, dan Pembangkitan Kode !](http://slidetodoc.com/presentation_image/25de5639974836b739dfcb08c094fe2f/image-26.jpg)
TUGAS KELOMPOK Buatlah program Compiler yang mengandung Scanner, Parser, Semantic_Analyzer, dan Pembangkitan Kode ! Deadline : H-1 pertemuan selanjutnya
- Slides: 26