IKI40800 (Teknik Kompilator)
Kuliah ini membahas beberapa teknik pembuatan suatu
kompilator (compiler) berdasarkan
tatabahasa yang diberikan. Teknik-teknik
ini akan dibahas sesuai dengan tahap pembuatan suatu kompilator. Dimulai dari
tahap pembacaan program sumber, analisis tatabahasa, dan diakhiri oleh
pembentukan kode (bahasa sasaran). Peserta kuliah akan mempelajari model suatu kompilator sesuai dengan tahapan
tersebut, mengembangkannya dengan menambah fitur-fitur suatu kompilator.
Semester : Ganjil
–
Compilers: Principles, Tehchniques, and Tools
Aho, A. V., Sethi, R., Ullman, J. D. Addison Wesley 1986
–
Modern Compiler Implementation in Java
http://www.cs.princeton.edu/~appel/modern/java/
–
Sumantri Slamet dan Heru Suhartanto, Teknik Kompilasi,
Elex Media Komputindo, Jakarta, 1993. –
akan direvisi menjadi Teknik Kompilasi : Teori dan Simulasi, target draft
Des 06.
–
Dick Grune et. Al, Modern Compiler Design, John Wiley & Sons, 2000
–
Lex - A Lexical Analyzer Generator (available on line - aol)
–
Yacc - Yet Another Compiler-Compiler (aol)
–
Heru Suhartanto, Model
Pemroses Bahasa Pemrograman Dengan tools berbasis Java, 2006. [dalam proses
perolehan sertifikat hak kekayaan intelektual], http://telaga.cs.ui.ac.id/~heru/publications/modeUserGuidelJava.pdf
Milis : tk-csui@yahoogroups.com
Garis besar Isi Kuliah :
|
Week |
Topics |
Chapters/Sections |
|
1-2 |
Introduction, Lexical Analysis |
2.1-2.6,3.1--3.4 |
|
3-4 |
Parsing |
2.4, 4.1-4.5, 4-7 |
|
5 |
Symbol Table |
2.7, 7.6 |
|
5-6 |
Syntax directed translation |
2.5, 5.1-5.5 |
|
7 |
Type checking |
6.1-6.2 |
|
8 |
Run-time organization |
7.1-7.3, 7.4-7.5 |
|
9-10 |
Intermediate code generation |
8.1-8.3 |
|
11-12 |
Code generation |
9.1-9-4 |
|
13 |
Code optimization |
10.1-10.2 |
01 Introduction
02 Analisis leksikal
03 Tools Analisis Leksikal and Introduction to Parsing
04 Pohon urai (parse) dan derivasi
05 Predictive and Bottom Up parsing
06 Shift and Reduction Parsing
07 LR Parsing
08 LALR parsing
09 Produksi dan Aturan Semantik
10 Tabel Simbol
11. Evaluasi dan definisi beratribut S
12 Type checking
13. Run time environtment
14. teknik – teknik alokasi storage
15. scope leksikal tanpa prosedur nested
16 Parameter Passing
17 Pembentukan kode intermediate
18. Pembentukan kode intermediate (lanjutan)
19. Pembentukan kode intermediate (lanjutan)
20. Pembentukan Kode
21. Optimisasi