C431 Assemblers and Compilers
Syllabus for
Summer 2001
Instructor |
Ronald
B. Finkbine, Ph.D. |
||||||||||
Office |
LS
124 |
||||||||||
Phones |
812-941-2264
(IUS); 812-265-4598 (Home) |
||||||||||
Email |
|||||||||||
WWW |
|||||||||||
Prerequisites |
CSCI
C311, C335 and C343 or permission of instructor |
||||||||||
Text |
Crafting a Compiler with C,
by Fischer and LeBlanc |
||||||||||
Description |
Design
and construction of assemblers, macroprocessors, linkers, loaders, and
interpreters. Compiler design and construction, including lexical analysis,
parsing, code generation and optimization. During the semester (Summer) we
will write a complete compiler including scanning, parsing and code
generation. Since this is an accelerated course and we want to write a
complete compiler, it will have to be a very small language. It will include
assignments, ifs and one type of loop. During the second semester of this
course (Fall) we will also implement a complete compiler, but we will add
records, data structures, more loop-types and functions for a more
substantial language. |
||||||||||
Grade scale |
|
||||||||||
Grade distribution |
|
||||||||||
Learning |
Elements of programming, program design and
documentation design will be required for a number of software projects.
Students should be aware that computing is an experimental science. This
means that a very small amount of knowledge can be gained by thinking,
students (and faculty) learn by doing. |
||||||||||
Assignment Homework |
Most
often two per week, one a programming assignment to be done outside of class
and one a writing assignment (questions or short paper). |
||||||||||
Assignment InClass |
Usually one per class day to be done in class, no
makeups and no late unless approved by the instructor. |
||||||||||
Ethics |
Unless otherwise specified, all graded work is
expected to be the product of individual effort and is subject to the IU Code
of Student Ethics. |
||||||||||
Disability |
If you have specific physical, psychiatric or
learning disabilities and require accommodations, please contact the Office
of Services for Students with Disabilities, LB 022, 941-2579. |
WEEK |
SCHEDULED (Tentative) |
CHAPTERS |
1 |
Intro
to class, stages of program (HLL to executable image) |
|
2 |
Lexical
analysis |
4 |
3 |
Grammars |
5 |
4 |
Parsing |
5, 6 |
5 |
Semantic
processing, symbol tables |
7, 8 |
6 |
EXAMINATION 1 |
|
7 |
Assembler
|
|
8 |
Run-time
storage |
9 |
9 |
Assignment
statements, expressions |
11 |
10 |
Control
structures |
12 |
11 |
Project |
|
12 |
EXAMINATION-FINAL |
|