Pokok Bahasan
- Persyaratan Code Generation
- Isu-isu pada Code Generation
- Apa yang harus diketahui tentang prosesor target?
- Input untuk code generator
- Memory management
- Instruction Selection
- Register Allocation
- Algorithm analysis
- Isu-isu Error Handling, langkah-langkah penanganan kesalahan dan pelaporan kesalahan
- Reaksi Kompiler dan error repair
Download dan
Pokok Bahasan
- Isu-isu pada Code Optimization
- Pembagian Teknik Optimasi
- Teknik-teknik Optimasi Lokal (Peephole (Lubang Intip), Flow-of-control fixes: remove jumps to jumps, More Peephole Optimizations, Strength Reduction, Code Motion)
- Constant Folding
- Redundant Common SubExpression Elimination
- Copy propagation
- Optimasi pada Perulangan (Loop Unrooling, Loop, Frequency Reduction, Strength Reduction)
- Optimasi Global (Dead Code, Unused Parameter, Variabel tanpa nilai awal)
Download dan
Pokok Bahasan
- Translasi berdasarkan sintaks (Syntax-directed translation)
- Pemakaian atribut terinheritasi
- Graph Ketergantungan
- Urutan Evaluasi
- SYNTAX TREE
- Directed Acylic Graph (DAC) untuk Ekspresi
- INTERMEDIATE CODE UNTUK BAGIAN DEKLARASI VARIABEL
Download dan
Pokok Bahasan
- Tabel Simbol
- Hash Table
- Table Simbol dengan Hash Table
- Melacak apakah nama(pengenal) terdapat di dalam tabel simbol atau tidak
- Memasukkan nama(pengenal) ke dalam tabel simbol
- Pengelolaan RAM
Download dan
Pokok Bahasan
- Tool of Regular Expression
- Analogi ekspresi reguler
- Bagian utama ekspresi reguler
- Pustaka ekspresi reguler
- Bahasa Pemrograman Pendukung Ekspresi Reguler
- Karakter meta dasar
Download dan
Ringkasan
- Pengertian analisis sintaks
- Pengertian pohon sintaks
- Parsing Top-down
- Definisi sintaks
Download dan
Ringkasan
- Pengertian Grammar
- Grammar Umum (Grammar tingkat nol)
- Grammar Peka Konteks (Context-Sensitive Grammars)
- Grammar Bebas Konteks (Context-Free Grammars)
- Grammar Regular dan Ekspresi Regular
- Mengubah Grammar regular menjadi Ekspresi regular
- Parsing Top Down
- Ekivalensi Grammar Regular Dan Automata Hingga
Download dan
Ringkasan
- Analisa bahasa sumber (analisa leksikal, analisa sintaks, analisa semantik)
- Pokok-pokok masalah pada bagian analisis
- Algoritma scanning, automata hingga deterministik (AHD) atau Deterministic Finite State Automata (DFA)
- Diagram transisi pada AHD
- Penulisan algoritma
- Pembacaan program sumber
- Simulasi DFA
Download dan
Ringkasan
- Konsep Automata Hingga atau Finite State Automata
- Cara Kerja Konsep Finite State Automata
- Implementasi Finite Automata
- Kelengkapan Finite Automata atau Automata Hingga
- Finite State Diagram (FSD)
- Klasifikasi Finite Automata atau Automata Hingga
- Definisi Automata Hingga Deterministik
- AUTOMATA HINGGA NON DETERMINISTIK (AHN)
Download dan
Ringkasan
- Pengertian analisis leksikal dan scanner
- Peranan scanner dalam proses kompilasi
- Finite State Automata atau Automata Hingga
- Tugas utama dan tugas tambahan penganalisis leksikal
- Tahap pelaksanaan analisis leksikal
- Implementasi penganalisis leksikal
- Atribut untuk token
- Kesalahan pada tingkat penganalisis leksikal
- Penyangga input (input buffering) dan pengenalan token
Download dan
Ringkasan
- Klasifikasi kompilator berdasarkan tugas fungsionalnya
- Struktur bagian depan kompilator
- Pengertian sintaks
- Aturan penulisan "produksi"
- Pohon urai
- Tatabahasa yang berarti ganda
- Sifat asosiatif operator
- Urutan pengutamaan operator.
Download dan
Ringkasan
Dalam modul ini dibahas tentang:
- komponen utama sebuah kompilator, alur proses dan tahapan proses kompilasi,
- pengertian penganalisis leksikal,
- pengertian penganalisis sintaks dan pohon sintaks,
- pengertian penganalisis semantik,
- proses pembentukan kode antara (intermediate code generator),
- pengoptimal kode (code optimizer),
- pembentukan kode akhir (code generator),
- bagian penanganan kesalahan (error handler),
- pengelolaan tabel simbol (symbol table management).
Download atau
Tujuan Instruksional Umum
Agar mahasiswa dapat memahami konsep dasar teknik kompilasi, meliputi fungsi, komponen, tahapan proses dan mekanisme kerja serta cara perancangan suatu compiler sederhana.
Download atau
Daftar Pustaka
1. Pat Terry, �Compilers and Compiler Generator, an introduction with C++�, Rhodes University, Grahamstown, 1996.
2. Dick Grune and Ceriel Jacobs, �Parsing Techniques, a Practical Guide�, Ellis Horwood Limited, Chichester, England, 1998.
3. Aho, Sethi & Ullman, "Compilers Principles, Technique and Tools", Addison Wesley, 1993.
4. John C. Martin, �Introduction to Languages and The Theory of Computation�, McGraw-Hill Book Co, 1997.
5. Trembley S., "Compiler Writing", McGraw Hill, New York, 1994.
6. John C. Martin, �Introduction to Languages and The Theory of Computation�, McGraw-Hill Book Co, 1997.
7. Slamet, Sumantri dkk., "Teknik Kompilasi", PT. Elex Media Komputindo, Jakarta, 1993.
8. Firrar Utdirartatmo, �Teknik Kompilasi�, Graha Ilmu, 2005.
9. Sukamdi, "Merekayasa Interpreter", PT. Elex Media Komputindo, Jakarta, 1995.
10. D. Suryadi, HS., �Pengantar Automata Bahasa Formal dan Kompilasi�, Penerbit Gunadarma, Jakarta, 1995.
11. Dean Kelly, �Otomata dan Bahasa-bahasa Formal�, Prenhallindo, 1999.
12. Firrar Utdirartatmo, �Teori Bahasa dan Otomata�, J & J Learning, 2001.
13. Bambang Hariyanto, �Teori Bahasa, Otomata, dan Komputasi serta Terapannya�, Penerbit Informatika, 2004.
14. Eko Sediyono, �Teknik Kompilasi Teori dan Praktik�, Penerbit Andi, 2005.