|
CS 3723
Programming Languages
Spring 2013 |
Topics for Final Exam |
The Final Exam is 8 May 2013, 8-10 am,
(Note: Starts at 8 am, NOT at 7:30 am.)
The exam will cover selected topics from the whole
course as outlined below, with emphasis on topics that
came after the last exam, namely
Ruby,
Postscript, and
Prolog
* = favorite questions.
- Translating Tiny Into MIPS Assembler.
* Question:
For example, specifics about the translation of an
addition in Tiny: what extra instructions are included inside
the E function of the parser to handle an addition?
(I might give you the parser code for E.)
The code added to E is independent of the two
expressions being added.
Examples could look like, say, a*c + (b/14), or
x + 9, but the extra code inside E
has nothing to do with what is on either side of the "+" in
the two previous examples.
Similar questions could ask for the translation of an if-then-else
statement
(which is [ ? : ] in Tiny), or a while statment
(which is { ? } in Tiny).
(You got a similar question on Exam 2 about the translation of
an assignment statement.)
- Lisp: cons, lisp, and append.
Question: Be able to keep straight what each of these three does
to two lists.
- Lisp: Representation of S-expressions.
Question:
Give the internal linked list representation
of the S-expression ((a b) c (d e f)).
- Ruby: Regular Expressions.
* Question:
Using the objected-oriented version without $ variables.
Something similar or related to
Recitation 10.
- Ruby: Classes.
* Question:
Something similar or related to
Recitation 11.
- Postscript: Paths, including clipping paths.
* Question:
Given a sample program, say what it does and what the output looks like.
- Postscript: Rotations and Translations.
* Question:
Given a sample program, say what it does and what the output looks like.
- 1 or 2 questions on Prolog.
* Question:
Given some facts and rules, describe what one of the rules means
(how do you "read" the rule?).
Describe the result of invoking a rule.
- (Recently added) Recursive-Descent
Parsing. Some fairly simple question.
Revision date: 2013-04-23.
(Please use ISO
8601, the International Standard.)
|