 
 
 
 
 
   
 Next: About this document ...
Syllabus -- 編譯系統
(Spring, 2003)
- 1.
- 
Teacher:中研院資訊所   徐讚昇.
 Tel: (02)2788-3799 x 1701.
Email: tshsu@iis.sinica.edu.tw
 web page for this course:
http://www.iis.sinica.edu.tw/~tshsu/compiler2003
- 2.
- Class materials:
-  Textbook: ``Compilers Principles, Techniques, and Tools '', by
Aho, Sethi, and Ullman, 1986, Addison Wesley. -- The ``dragon'' book.
-  Reference book:
``Crafting a Compiler with C '', by
Fischer and LeBlanc, 1991, Benjamin/Cummings.
-  Class notes
	
 
- 3.
- 
上課時間及地點: 每週四2PM - 5PM, 資107.
| Feb |  |  | 20 | 27 |  |  | Mar | 6 | 13 | 20 | 27 |  |  | Apr | 3 | 10 | 17 (mid-term) | 24 |  |  | May | 1 | 8 | 15 | 22 | 29 |  | Jun | 5 | 12 |  |  |  |  
 
- 4.
- Prerequisites:
assembly language, high-level programming language (C-like
language), data structures, and automata.
- 5.
- Topics: (Reading ch#2 and ch#12 by yourself is expected.)
- (a)
- Introduction (ch#1)
- (b)
- Lexical analysis (Scanner): (ch#3.1, 3.3, 3.4, 3.6, 3.7, 3.5)
regular expressions, finite state machine, LEX
- (c)
- Syntax analysis (Parser): (ch#4.2-4.9 exclude error handling)
        recursive descent parsing, LL(1), operator precedence parsing,
        SLR, LR(1), LALR, YACC
- (d)
- Syntax-directed translation (ch#5.1-5.4, 5.6)
- (e)
- Symbol tables and type checking (ch#7.6, 6.5, 6.3)
- (f)
- Run time environments (ch#7.1-7.5, 7.7-7.9)
- (g)
- Intermediate code generation (ch#8)
- (h)
- Code generation (ch#9):
         declarations, expressions, advanced data structure,
         control flow, procedure/function
- (i)
- Building a compiler (ch#11)
- (j)
- Advanced topics![[*]](/usr/local/latex2html/icons.png/foot_motif.png) :
        error handling (ch#4), optimization (ch#10), ... :
        error handling (ch#4), optimization (ch#10), ...
 
- 6.
- Evaluation:
	
- (a)
- homeworks:
all due dates for homeworks are FIRM,
	2 to 3 lectures per homework.
	
- (b)
- mid-term exam;
     	
- (c)
- final project: documents, presentation, and testing;
        
- (d)
- class participation.
	
 
 
 
 
 
 
 
   
 Next: About this document ...
2/19/2003