|
CS 3723
Programming Languages
Spring 2013 |
Topics for Exam 2 |
The exam is 8 April 2013.
* = favorite questions.
- Recursive-Descent Parsers.
* Question:
I might ask you to write a portion of a RD parser or to comment
on a given RD parser. Or how about: Why can't we use a
grammar rule like E ---> E + T | T
in recursive descent? What did we do to take care of this problem?
- MIPS Assembler Language.
Question: Explain how MIPS (using our conventions)
might take numbers already in variables a and b, add them,
and leave the result in a variable c.
(I would not necessarily expect you to remember all the
details, but definitely to have the sequence of steps correct.)
- Translating Tiny Into MIPS Assembler.
* Question:
I may ask you some specifics about the translation of one of
the main constructs we dealt with: assignment, while loop,
or if-then-(optional)-else. (I might give you
parially completed compiler code for the construct
and ask you to complete it.)
- Basics of Lisp.
Question:Ask for answers to a few questions like those
in Question 9.1 of Recitaiont 9.
- Representation of S-expressions.
Question: Give the internal linked list representation
of the S-expression ((a b) c (d e f)).
.
- Writing Simple Recursive Lisp Functions.
* Question:
Write a recursive Lisp function with one parameter n that will
add n terms of a series (like the harmonic series
we had), or multiply n terms of a product (like
raising to a power). Call this function with n = 10.
- Recursice List Processing in Lisp.
* Question:
Write a recursive Lisp function involving a list
that will carry out some task on the list, as we've seen
with various example functions and problems.
- C++, C, and Java.
Question: What design goals did Stroustrup have for C++
in addition to adding object-oriented features?
- Storage Allocation.
Question: Describe the two things that can go wrong with
storage allocation in C/C++ if a user does the allocation/deallocation
him/herself.
- Ruby. Introductory material.
Question: Is it permissible to use "RUBY" to designate Ruby?
Revision date: 2013-02-05.
(Please use ISO
8601, the International Standard.)
|