Test 1 Review
-
Evaluate your new language, your "old" language and one language you
know well in terms of at least 5 characteristics
of readability. Define what you mean by the characteristic, and then
indicate
how well your language measures up.
-
What programming language statement, in your opinion, is most
detrimental
to readability?
-
Describe what is meant by a vonNeumann architecture, and tell how it
influences
language design. Give at least two languages that use that concept as a
basis and indicate what general paradigm of languages they are in.
-
What is meant by a paradigm?
-
Give an example of a language that is an exemplar of the imperative
paradigm,
functional paradigm, logic paradigm, object-oriented paradigm.
-
Give at least one hardware development and one software development
from
each of the four generations of computers.
-
What were the three goals of the ALGOL design committee and which do
you
fell was the most difficult at the time?
-
What was IBM's motivation for developing PL/I?
-
Was that motivation correct given the history of computers and
languages
since 1964?
-
What are the arguments for and against a typeless language?
-
What do the Ada and COBOL languages have in common?
-
Identify: Backus, Naur, Hopper, Wirth, Zuse, Atanasoff, Kemeny,
Dijkstra,
Hoare, Ichabiah, Stroustrop, Goldberg, Ritchie, and Gosling with the
contribution
each has made to a language.
-
Why is the Ada Language Reference manual numbered 1815?
-
What is the connection between the development of ALGOL 68 and Pascal?
-
Why did ALGOL 60 not become a very widely used language? What were its
major contributions to future language design?
-
Distinguish a reference language from a publication language from an
implementation
language.
-
Which language contributed user-defined data types, reference types and
dynamic arrays?
-
Draw a parse tree for an expression, given its BNF grammar.
-
Draw a leftmost or rightmost derivation from that tree.
-
Write and recognize a BNF grammar for expressions with stated operator
precedence.
-
Write and recognize a BNF grammar for expressions with stated operator
associativity--either left or right recursive
-
What are the three primary methods of semantic description? Define each.
-
What is the purpose of an attribute grammar? Why are they seldom used
to
describe real languages?
-
Given a series of statements, and its post condition, find its weakest
precondition.
-
LISP -- use car, cdr, cons, null, nil atom, eq, defun, setq
to predict output from functions.
-
Define any boldface term in any chapter and indicate whether that term
applies to "your" languages..
-
Distinguish lexical analysis from syntactical analysis.
-
Distinguish the top-down (LL) from bottom up parsers(LR).
-
Why is left recursion a problem in LL parsers (how can you solve it?)
and
what is the pairwise disjointness test?
-
Given a sentential form tell whether it passes the pairwise
disjointness
test.
-
Using a right sentiential form, draw the parse tree, find the handle.
-
Describe the use of the handle in LR parsers.
- Given a parse table, a grammar and a statement, trace the input
and the stack.