Annotated Bibliography
CSC 4351, Spring 2011
Due: 25 April 2011
Pick a fairly narrow compiler research topic and produce an annotated bibliography. List at least 20
research papers on the topic in a s
Project 5: Intermediate Code
CSC 4351, Spring 2011
Due: 15 April 2011
Implement the translation to intermediate code as described on p. 178 in the textbook. You only need
to modify classes Translate.T
Project 6: Instruction Selection
CSC 4351, Spring 2011
Due: 6 May 2011
Implement instruction selection for the MIPS architecture using Maximal Munch as described on pp. 197
200. You only need to modif
CSC 4351
Compiler Construction
Spring 2011
Syllabus
Gerald Baumgartner
Course Summary
Program language structures, translation, loading, execution, and storage allocation; compilation of simple expres
HW 4: Basic Blocks
CSC 4351, Spring 2016
Due: 25 April 2016
1. Solve problems 8.1 and 8.2(c) on p. 174 in the textbook. For finding the rewrite rules for 8.1, you
might want to have a look at the code
HW 3: Intermediate Code
CSC 4351, Spring 2016
Due: 13 April 2016
1. Suppose we change the Tiger language to use Adas copy-in-copy-out parameter passing mechanism.
If a parameter is declared with the k
HW 2: Syntax Analysis
CSC 4351, Spring 2016
Due: 24 February 2016
1. Context free grammars, LL and LR parsing
Consider the following simple context free grammars:
Grammar G1
G A$
A
A bAb
Grammar G2
G
Project 4: Activation Records
CSC 4351, Spring 2011
Due: 1 April 2011
Augment the Semant package to allocate locations for local variables, and to keep track of the nesting level as
described on pp. 1
Project 3: Semantic Analysis
CSC 4351, Spring 2011
Due: 14 March 2011
Add type checking to your compiler as described on page 127. Implement both parts (a) and (b) described in the book. As before, th
Memory-optimal evaluation of expression trees involving large
objects6
Chi-Chung Lama,1 , Thomas Rauberb , Gerald Baumgartnerc, Daniel Cociorvaa,2 ,
P. Sadayappana
a Department
of Computer Science and
HW 1: Lexical Analysis
CSC 4351, Spring 2011
Due: 21 February 2011
1. Certain assemblers form their integer literals in the following way. Binary literals consist of one or
more binary digits (0, 1) f
HW 2: Syntax Analysis
CSC 4351, Spring 2011
Due: 28 February 2011
1. Context free grammars, LL and LR parsing
Consider the following simple context free grammars:
Grammar G1
G A$
A
A bAb
Grammar G2
G
HW 3: Intermediate Code
CSC 4351, Spring 2011
Due: 11 April 2011
1. Suppose we change the Tiger language to use Adas copy-in-copy-out parameter passing mechanism.
If a parameter is declared with the k
HW 4: Basic Blocks
CSC 4351, Spring 2011
Due: 2 May 2011
1. Solve problems 8.1 and 8.2(c) on p. 174 in the textbook. For nding the rewrite rules for 8.1, you
might want to have a look at the code in C
Project 1: Lexical Analysis
CSC 4351, Spring 2011
Due: 2 February 2011
Use JLex to implement a lexical analyzer for the Tiger language. You can nd the description for this
project on pages 34 and 35 o
Project 2: Parsing
CSC 4351, Spring 2011
Due: 21 February 2011
Use CUP to implement a parser for the Tiger language and write semantic actions to produce a parse
tree. You can nd the description for t
HW 1: Lexical Analysis
CSC 4351, Spring 2016
Due: 15 February 2016
1. Consider the following format for floating point literals. Assume a fraction part consisting of a string
of one or more decimal di