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

n                     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

 

Slides kuliah

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