CSE 262 Study Guide, Final Exam on MONDAY, MAY 07, 2007,
04:00-07:00 PM, NV 003 (i.e. Neville Hall 003)
The exam will focus on the contents that have been covered by the lectures
and their corresponding textbook materials. The following list illustrates
but not all
, points that have been included in the lecture contents;
and please use
the lecture slides posted at the Blackboard System
The types and difficulty level of the final exam questions are similar to
those of the midterm exam and homework questions.
Preliminaries (Chapter 1)
Know the purpose of designing different programming languages.
Know why new programming languages are created.
need to know the steps along the evolution of programming languages.
need to know the design details of “historical” languages not discussed later.
Know the categories of programming languages: imperative, functional, logic, and
object-oriented, and their representative languages.
Know the different implementation methods for programming languages: compiled,
interpreted, and hybrid, especially the compilation process.
Know the different criteria for which programming languages are judged: readability,
writability, reliability, etc., and how they represent trade-offs.
Syntax and Semantics (Chapter 3 and Chapter 4)
Know the difference between syntax and semantic definitions of a programming
Know what a string, alphabet, lexeme, and token are in the context of defining a
Know the difference between a recognizer and a generator.
Know the BNF and EBNF methods of describing syntax, and the components of these
Know how to derive a string/sentence from a grammar, and how to determine if a
string/sentence is valid for a particular grammar.
Know how to generate a parse tree for a string given a grammar.
Know what makes a grammar ambiguous, why that is a problem, and methods to solving
Know the major stages in a compilation process.
Know how to remove left recursions and implement a recursive-descent parser.
Know the difference between static and dynamic semantics.
Know what an attribute grammar is, and how it specifies semantics.