Class email help cs131w@ieng9.ucsd.edu
References:
-
Aho, Lam, Sethi, and Ullman, Compilers: Principles, Techniques, and
Tools, 2nd Edition, Addison Wesley, 2007.
-
Keith Cooper and Linda Torczon, Engineering a Compiler, Elsevier/Morgan Kaugmann, 2004.
-
Michael L. Scott, Programming Language Pragmatics, 2nd Edition, Morgan Kaufmann Publishers, 2005.
-
Dick Grune, Henri Bal, Ceriel Jacobs, Koen Langendoen, Modern Compiler
Design, Wiley, 2000.
-
Andrew W. Appel, Modern Compiler Implementation in Java, 2nd Edition, Cambridge University Press, 2002.
-
Richard P. Paul, SPARC Architecture, Assembly Language Programming & C, 2nd Edition, Prentice Hall, 1999.
-
SPARC Assembly Language
Reference Manual
(Ignore SPARC-V9 Instruction Set)
Grading:
5 Quizzes |
10% |
2 Programming Projects |
45% |
1 Midterm |
15% |
1 Final |
30% |
|
|
A+/A/A- |
90-100% |
B+/B/B- |
80-90% |
C+/C/C- |
70-80% |
D |
60-70% |
F |
< 60% |
|
You must earn at least 50% of the possible points on the Programming
Projects to receive a passing grade (C- or better).
Major Course Concepts
Semantic Analysis -- Ch. 1-6 (C:PTT); Ch. 4 (EAC); Ch. 1-4, 7 (PLP)
Emphasis on Type Checking
Runtime Environment -- Ch. 7 (C:PTT); Ch. 5-7 (EAC); Ch. 3, 7-10 (PLP)
Emphasis on C/C++ and Java/C# runtime architectures and memory management
Code Generation -- Ch. 8-9 (C:PTT); Ch. 7, 11-13 (EAC); Ch. 5-6, 14 (PLP)
Code shape issues. Procedure call abstraction. OOP/polymorphism implementation.
Project target code is Sun SPARC assembly. Hence the subtitle: More Assembly Required.
Code Optimization/Improvement -- Ch. 9-10 (C:PTT); Ch. 8-10 (EAC); Ch. 15 (PLP)
Machine independent and machine dependent code improvements. Local and
global
code improvements.
Programming Projects
Reduced-C translator (defined subset of the C++ Programming Language)
Project 1 -- Static Semantic Analysis with emphasis on Static Type Checking/Error Reporting
Project 2 -- Code Generation (to SPARC Assembly) with some dynamic runtime checks
Most project details covered in Discussion Sections including starter code
We do run MOSS (Measure Of Software Similarity)
Back to
CSE 131 Home Page
[http://www.cs.ucsd.edu/~ricko/CSE131/]