CSC 533: Organization of Programming Languages
Fall 2003

HW2: EBNF Grammar

The following questions all refer to the EBNF of Ada95.

  1. Which of the following are legal numeric literals in Ada95? For each legal number, provide a parse tree (with the <numeric_literal> abstraction at the root). 00 -2.9 16#A A#16 2E-4 0.01E12 5.5E+5.5
  2. Describe, in concise English, the format for identifiers (<identifier>) in Ada95. That is, what characters may be used? What restrictions (if any) are there on order?

  3. What is the shortest possible subprogram specification in Ada95? Justify your answer.

  4. What is the order of precedence for the operators +, and * in Ada95? Justify your answer by providing the parse tree for the <expression>:   1+2*3.

  5. Does the dangling-else problem apply to Ada95? Justify your answer.