Organization of Programming Languages
Topics for Examination II
-
Program trace -- dynamic scoping and static scoping
-
Scoping in Ada
-
Scoping in C++
-
Attributes of variables
-
Activation stack / heap
-
Give an example of explicit heap-dynamic variables.
-
What is static binding. Give an example.
-
What is dynamic binding. Give an example other than variable value.
-
Name a language that is not strongly typed. Indicate why
-
What is strongly typed.
-
What is type checking?
-
What is the difference between key words and reserved words?
-
Give the advangages and disadvantages for a language being case-sensitive.
-
Give EBNF for Ada statements (if, assignment, loop)
-
What is recursion. Trace a recursive program.
-
Write a complete Ada program.
-
When and why was Ada developed?
-
What is syntax?
-
What language was used to describe Algol 60?
-
Name the operations of BNF.
-
To whom do the B and the N in BNF refer? What were they known for?
-
Give a derivation (left-most, right-most)
-
Give a parse tree.
-
What are the three most common extensions of BNF to give EBNF?
-
Give ENBF for: a) a floating point constant. b) a statement construct.
c) something else.
-
What is semantics? Give an example of the difference between syntax
and semantics.
-
What is an ambigous grammar? Give an example.
-
Give an example of a metalanguage.
-
What is the difference between left recursive and right recursive grammars?
-
Any other related questions.