Introduction to the structures and organization of programming languages; fundamentals of translation; regular expressions and context-free grammars; syntax and lexical analysis, symbol tables, semantics and parsing, code generation; translation techniques such as LR, LL, and recursive descent. Prerequisite: CSS 343; may not be repeated.
I thought about a text for CSS 448 for a long time and finally decided I couldn't decide, so the text is optional although you'll probably want to own some compiler textbook. I will be taking material primarily from two books:
Compilers - Principles, Techniques, & Tools (any edition) by Aho, Lam (2nd edition only), Sethi, Ullman. Pearson/Addison-Wesley Pub.
Engineering a Compiler by Cooper and Torczon, Morgan Kaufmann Pub.
If you want a classic text in your library, get the Aho et al. book. This book even has a nickname - dragon book - specifically either green/red/purple dragon book, based on the cover, for the different editions. The purple dragon book is not significantly different enough from the red dragon book (available editions) that it will matter for us. The dragon book differences are described on wikipedia: http://en.wikipedia.org/wiki/Dragon_book
The Cooper and Torczon book also comes highly recommended and may be more readable than the dragon book.
Honestly, any book will do, and many of the concepts are discussed online. For the more challenging concepts, a verbal explanation is likely needed anyway.
Student learning goals
General method of instruction
Class assignments and grading