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

[email protected], [email protected]

WWW

http://ronaldfinkbine.nav.to

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

90-100

A

80-89

B

70-79

C

60-69

D

0-59

F

Grade  distribution

Examination 1

20 %

Examination Final

20

In Class Homework/Quizzes

20

Homework

40

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.

 

Better life through
COMPILERS

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