CS 423 Compiler project notes Dept. of Comp. Sci. & Eng. Geunbae Lee

Preview:

Citation preview

CS 423 Compiler project notes

Dept. of Comp. Sci. & Eng.Geunbae Lee

Definition of C- language and Tiny Machine

Step by Step Assignments

problem description algorithm source code execution results

Assgn#1

Due 4th week Implement a symbol table utility suitable

for the C- language. This will require a table structure that incoporate scope information, either as separate tables linked together or with a delete mechanism that operates in a stack-based fashion (attachment)

Assgn#2

Due 6th week Implement a C- scanner using Lex (attac

hment)

Assgn#3

Due 7th week Design a syntax tree structure for

C- suitable for generation by a parser (attachment)

Assgn#4

Due 9th week Implement a C- parser using Yacc. The p

arser should generate a suitable syntax tree (attachment)

Assgm#5

Due 12th week Implement a semantic analyzer for C-. The

major requirement of the analyzer, aside from gathering information in the symbol table, is to perform type checking on the use of variables and functions. Since there are no pointers or structures, and the only basic type is integer, the types that need to be treated by the type checker are void, integer, array, and function. (attachment)

Assgn#6 & final demo

Due 16th Implement a code generator for C-,

according to the runtime environment described in the attachment followed.

Demo a full compilation process for the example two C- programs in attachment (pp 496-497) and one of your favorite program in C-

Demo program

A full compiler for tinier language than C-

A Tiny Machine simulator to execute generated object code (test your own results)

Recommended