SATUAN ACARA PERKULIAHAN
MATA KULIAH TEKNIK KOMPILASI (S1/TEKNIK INFORMATIKA) KODE / SKS AK-045335 / 3 SKS
Pertemuan
Ke Pokok Bahasandan TIU Sub-pokok Bahasan dan Sasaran Belajar PengajaranCara Media Tugas Referensi
1 1. Konsep
Dasar TIU : Mahasiswa memahami konsep dan cara kerja kompilator.
1.1. Motivasi
- Mahasiswa mengetahui tujuan pembelajaran mata kuliah teknik kompilasi
- Mahasiswa mengetahui hal-hal yang akan dipelajasri pada matakuliah ini.
1.2. Bagian-bagian compiler (kompilator)
- Mahasiswa dapat menyebutkan definisi dari istilah-istilah yang digunakan dalam kompilasi
- Mahasiswa dapat menjelaskan fase-fase kompilator. - Mahasiswa dapat menjelaskan fase penganalisa leksikal - Mahasiswa dapat menjelaskan fase parser
- Mahasiswa dapat menjelaskan fase code generator 1.3. Representasi Bahasa-bahasa Komputer
- Mahasiswa dapat mengekspresikan suatu bahasa komputer kedalam suatu tata bahasa
- Mahasiswa dapat membuat syntax diagram dari suatu tata bahasa. 1.4. Kompilator Recursive-DescentExpression
- Mahasiswa dapat membangun kompilator sederhana menggunakan teknik Recursive-Descent.
Ceramah Papan Tulis
& OHP Membuat kompilator sederhana
2 2. Input dan Analisa Leksikal
TIU: Mahasiswa memahami strategi pada system input dan cara kerja penganalisa leksikal.
2.1. Penganalisa Leksikal Sebagai Bagian dari Kompilator.
- Mahasiswa dapat menjelaskan cara kerja penganalisa sintaks dan bagaimana penganalisa sintaks berhubungan dengan bagian lain dari kompilator
2.2. System Input
- Mahasiswa dapat membangun modul system input untuk penganalisa leksikal
2.3. Analisa Leksikal
- Mahasiswa dapat menyebutkan definisi/istilah dalam bahasa formal - Mahasiswa dapat membuat abstraksi bahasa melalui ekspresi
regular, definisi regular, otomata hingga.
- Mahasiswa dapat mengimplementasikan NFA kedalam suatu program.
Ceramah Papan Tulis
3 3. Tata bahasa Context-Free
TIU:
Mahasiswa dapat mngenal CFG dn bentuk-bentuk turunannya serta mahasiswa dapat membangun CFG.
3.1. Konsep Contex Free Grammar (CFG)
- Mahasiswa dapat menyebutkan definisi CFG.
- Mahasiswa dapat merumuskan CFG dari bahasa Contex Free 3.2. Derivasi dan bentuk sentensial
- Mahasiswa dapat melakukan derivasi secara umum, left maupun right dari suatu CFG
- Mahasiswa dapat memberi contoh viable prefix, handle dan bentuk sentential dari suatu derivasi
3.3. Pohon Parsing dan hubungannya dengan semantika
- Mahasiswa dapat membuat pohon parsing dari suatu derivasi - Mahasiswa dapat memberi contoh masalah sintaktik maupun
masalah semantik dari suatu tata bahasa. 3.4. Right Linear grammar
- Mahasiswa dapat menyebutkan hubungan mesin stata dan tatabahasa - Mahasiswa dapat menentukan apakah suatu tata bahasa adalah Right
Linear
3.5. List, Recursion and Associativity
- Mahasiswa dapat menentukan produksi yang left maupun right recursion dari suatu tatabahasa
- Mahasiswa dapat menyebutkan hubungan associativity dan recursion
- Mahasiswa dapat menentukan tata bahasa yang left /right associative
3.6. Ambigous Grammar
- Mahasiswa dapat menentukan grammar yang ambigous 3.7. Syntax-Directed translation
- Mahasiswa dapat menngunakan alat-alat bantu tata bahasa augmented dan attributed dalam mengimplementasikan tatabahasa.
Ceramah Papan Tulis & OHP
1,2
4 4.Top-Down Parsing
TIU:
Mahasiswa dapat menggunakan teknik topdown parsing : PDA dan LL(1)
4.1. Push-Down Automata (PDA)
- Mahasiswa dapat menggunakan PDA sebagai parsing top-down - Mahasiswa dapat menujukkan proses error recovery
- Mahasiswa dapat mengimplemnetasikan Attributed grammars pada PDA
- Mahasiswa dapat membuat tabel parsing berdasarkan PDA
Ceramah Papan Tulis
& OHP 1, 2
TIU: sda
- Mahasiswa dapat menentukan himpunan FIRST - Mahasiswa dapat menentukan himpunan FOLLOW - Mahasiswa dapat menentukan himpunan LL(1) selection - Mahasiswa dapat membuat tabel parsing LL(1)
& OHP
6 4. Top-Down Parsing (lanjutan)
TIU: sda
4.3 Modifying grammars
- Mahasiswa dapat memodifikasi grammar agar LL(1), menggunakan teknik-teknik left-factoring, corner-subtitution, singleton
substitution, eliminasi ambiguitas, eliminasi left recursion, eliminasi Unreachable Productions
- Mahasiswa dapat mengimplementasikan LL(1) parser
Ceramah Papan Tulis
& OHP 1, 2
7 5. Bottom-Up Parsing
TIU:
Mahasiswa dapat menggunakan teknik bottom-up parsing: LR(0), SLR(1), LR(1), LALR(1)
5.1 Cara Kerja Konsep Bottom Up
- Mahasiswa dapat menyebutkan cara kerja teknik parsing bottom-up - Mahasiswa dapat menunjukkan cara menangani errror recovery dari
teknik bottom-up
5.2 Tabel Parsing LR
- Mahasiswa dapat mengidentifikasikan tatabahasa LR(0) - Mahasiswa dapat membuat tabel parsing LR(0)
Ceramah Papan Tulis & OHP
5.2 Tabel Parsing LR (lanjutan )
- Mahasiswa dapat mengidentifikasikan tatabahasa SLR(1) - Mahasiswa dapat membuat tabel parsing SLR(1)
- Mahasiswa dapat mengidentifikasikan tatabahasa LR(1) - Mahasiswa dapat membuat tabel parsing LR(1)
- Mahasiswa dapat mengidentifikasikan tatabahasa LALR(1) - Mahasiswa dapat membuat tabel parsing LALR(1)
Ceramah Papan Tulis
& OHP 1, 2
9 5. Bottom-Up Parsing (lanjutan)
TIU: sda
5.3 Representasi Tabel LR
- Mahasiswa dapat merepresentasikan tabel LR dalam bahasa pemrograman
5.4 Eliminasi Reduksi Tunggal
- Mahasiswa dapat mengeliminasi produksi yang mengandung reduksi tunggal
5.5 Tata bahasa Ambigous
Mahasiswa dapat mengatasi tatabahasa yang ambigous
Ceramah Papan Tulis
10. Quiz / presentasi project
TIU:
Mahasiswa dapat mengimplementasi kan parsing
Diskusi Papan Tulis & OHP
1, 2
11. UJIAN TENGAH SEMESTER 12. 6. Membangun
Code TIU:
Mahasiswa dapat membangun intermediate code
6.1 Intermediate Languages
- Mahasiswa dapat merepresentasikan bahasa kedalam bentuk triples, quads, dan postfix
6.2 Table simbol
- Mahasiswa dapat menyebutkan apa yang dimaksud dengan tabel simbol
- Mahasiswa dapat menyebutkan kegunaan tabel simbol 6.3 Struktur Data Tabel Simbol
- Mahasiswa dapat membentuk struktur data tabel simbol - Mahasiswa dapat merepresentasikan tipe variabel
Ceramah Papan Tulis
& OHP 1, 2
13 Strategi Optimisasi 7.1 Optimisasi Parser
- Mahasiswa dapat mengaplikasikan konsep optimasi parser 7.2 Linear (peephole) Optimizations
- Mahasiswa dapat mengaplikasikan konsep optimasi peephole
Ceramah Papan Tulis
& OHP 1, 2
14 7. Strategi Optimisasi (Lanjutan)
7.3 Optimisasi Struktural
- Mahasiswa dapat mengaplikasikan konsep optimasi struktural
Referensi :