Write a clearly legible T to the left of each of the following that is true, and a clearly legible F to the left of each that is false. (Note: I have written the answers after the question instead of before because that is easier to typeset. When you answer questions like this, please write your answer to the left of the question.)
An implementation of a programming language is not normally considered to be an adequate definition of the language. Why not? What would be the consequences of using an implementation as a definition?
Possible consequences:
What is an important advantage of the linked representation of sequences over the sequential representation?
It is easy to extend sequences by adding values to the start. Also, the linked representation permits structure sharing, which sometimes greatly reduces memory requirements. There are other advantages, such as the ability to add values into the middle of the sequence.
What is an important advantage of the sequential representation of sequences over the linked representation?
Random access and reduced memory requirements for individual lists are important advantages.
Show that the following BNF grammar is ambiguous. The start symbol is <S>.
<S> ::= <S> a | a <S> | a
It suffices to show two different parse trees for string aa. Here they are.
S S / \ / \ S a a S | | a a
Show a parse tree for string aacacab according to the following grammar, where the start symbol is <S>.
<S> ::= <F> a <S> | b <F> ::= a <F> | c
S
/|\
/ | \
/ | \
/ | \
/ | \
/ | \
/ | \
F a S
/ \ /|\
a F / | \
/ \ F a S
a F | |
| c b
c
Write a BNF grammar for sequences of left and right parentheses that are balanced. A sequence of parentheses is balanced if parentheses match and are well nested. For example, (()(())) is balanced, but )( and ())()( are not balanced.
The following is an ambiguous grammar. The start nonterminal is B.
I am using e for the empty string.
<B> ::= <B> <B>
| ( <B> )
| e
The following is an unambiguous grammar for the same thing.
The start nonterminal is B.
<B> ::= ( <B> ) <B>
| e
What is a solution to pattern match equation [x,y+1] = [7,99]?
x = 7, y = 98.