Presentation is loading. Please wait.

Presentation is loading. Please wait.

January 19, 2005 1 Compiler Design Hongwei Xi Comp. Sci. Dept. Boston University.

Similar presentations


Presentation on theme: "January 19, 2005 1 Compiler Design Hongwei Xi Comp. Sci. Dept. Boston University."— Presentation transcript:

1 January 19, 2005 1 Compiler Design Hongwei Xi Comp. Sci. Dept. Boston University

2 January 19, 2005BU CAS CS525 2 Welcome! Compiler Design – Introduction to some basics in the compiler design and implementation The theory behind various components of a compiler The programming techniques involved to put the theory into practice The interfaces used to modularize the compiler

3 January 19, 2005BU CAS CS525 3 Programming Language Java is chosen as the implementation language – This allows students to learn first-handedly as to how the object-oriented programming can be used effectively in constructing (relatively) large programs.

4 January 19, 2005BU CAS CS525 4 Course Overview Lexical Analysis – Lexical tokens – Regular expressions – Finite automata: DFA and NFA Parsing – Context-free grammars – LL parsing Parsing combinators – LR parsing

5 January 19, 2005BU CAS CS525 5 Course Overview Abstract Syntax – Semantic actions – Abstract parse trees Semantic Analysis – Symbol tables – Bindings – Type-checking Expressions Declarations

6 January 19, 2005BU CAS CS525 6 Course Overview Activation Records – Stack frames Translation to Intermediate Code – Intermediate representation trees – Translation into trees – Declarations Basic Block and Traces – Canonical trees – Conditional Branches

7 January 19, 2005BU CAS CS525 7 Course Overview Instruction Selection – Algorithm for instruction selection Liveness Analysis Register Allocation – Coloring by simplification – Coalescing – Precolored nodes – Graph coloring implementation – Register allocation for trees Putting all together

8 January 19, 2005BU CAS CS525 8 What is this course like? It proceeds in a fast pace – You are expected to read the text that we may not have time to cover in class – You are expected to try programming examples that we may not have time to explain in class – You may need to take notes on the materials we cover that are not in the textbook, though I will minimize the need for note-taking by providing you with as many notes as possible

9 January 19, 2005BU CAS CS525 9 What is this course like? You are to have a rapid exposure to many concepts in programming languages You are expected to gain a great deal more understanding of programming, which can be really helpful for you to pursue other subjects in computer science Above all, I hope that you will find a great deal more fun in programming

10 January 19, 2005BU CAS CS525 10 Homework There are approximately 8 assignments – Individual work only unless specified otherwise! Clarity and elegance count – It is not enough to just “work” on test data

11 January 19, 2005BU CAS CS525 11 Warnings This is likely a challenging course for you as many new and unfamiliar concepts in programming languages are to be introduced rapidly – You may need to give some time for certain concepts to “sink in” – You may find that some programming assignments are difficult and demanding – Please ask for help if you need it: ask it sooner rather than later

12 January 19, 2005BU CAS CS525 12 Pleas I am likely to be a bit overly ambitious, and I am certain to make (quite a few) mistakes, but I will do my best to make the course run as smoothly as possible Please be patient and ask (a lot of) questions!

13 January 19, 2005BU CAS CS525 13 Academic Integrity Strict adherence to the university guidelines – All work you turn in must be solely your own unless specified otherwise – You are allowed to discuss problems with your classmates but you must write your own code and solutions – Please always remember that every student deserves a chance to achieve a fair grade

14 January 19, 2005BU CAS CS525 14 Important Course Information Lecture Times: 3-4PM MWF Classroom: BRB 122 @ 565 Commonwealth Ave Course Homepage: http://www.cs.bu.edu/~hwxi/academic/courses/CS525.html Instructor: Hongwei Xi Office Hours: Monday 4:00-6:00 PM, Thursday 5:00-6:00 PM Final Letter Grade Calculation: 50% (homework) + 20% (midterm) + 30% (final) A: 80% or above B: 70% or above C: 60% or above D: 50% or above (curving may be applied if necessary)

15 January 19, 2005BU CAS CS525 15 The End Questions?


Download ppt "January 19, 2005 1 Compiler Design Hongwei Xi Comp. Sci. Dept. Boston University."

Similar presentations


Ads by Google