Organization of Programming Languages
Topics for Examination II

  1. Program trace -- dynamic scoping and static scoping
  2. Scoping in Ada
  3. Scoping in C++
  4. Attributes of variables
  5. Activation stack / heap
  6. Give an example of explicit heap-dynamic variables.
  7. What is static binding.  Give an example.
  8. What is dynamic binding.  Give an example other than variable value.
  9. Name a language that is not strongly typed.  Indicate why
  10. What is strongly typed.
  11. What is type checking?
  12. What is the difference between key words and reserved words?
  13. Give the advangages and disadvantages for a language being case-sensitive.
  14. Give EBNF for Ada statements (if, assignment, loop)
  15. What is recursion.  Trace a recursive program.
  16. Write a complete Ada program.
  17. When and why was Ada developed?
  18. What is syntax?
  19. What language was used to describe Algol 60?
  20. Name the operations of BNF.
  21. To whom do the B and the N in BNF refer?  What were they known for?
  22. Give a derivation (left-most, right-most)
  23. Give a parse tree.
  24. What are the three most common extensions of BNF to give EBNF?
  25. Give ENBF for: a) a floating point constant.  b) a statement construct.  c) something else.
  26. What is semantics?  Give an example of the difference between syntax and semantics.
  27. What is an ambigous grammar?  Give an example.
  28. Give an example of a metalanguage.
  29. What is the difference between left recursive and right recursive grammars?
  30. Any other related questions.