Theory Programming Language Assignment
- What is SIMD and MIMD? Specify what each is short for and briefly describe.
- Describe why intermediate code is used in the compilation process.
- What is the main difference between Von Neumann Architecture and Harvard Architecture?
- Specify, and describe in fair detail, at least 4 language design criteria.
- What is functional programming? Describe in detail.
- What is referential transparency?
- What is lexical analysis? Describe in detail.
- Draw the parse tree for the following derivation:
<assign> => <id> = <expr>
=> A = <expr>
=> A = <id> * <expr>
=> A = B * <expr>
=> A = B * <id> + <expr>
=> A = B * C + <expr>
=> A = B * C + <id>+<expr>
=> A = B * C + D + <expr>
=> A = B * C + D + <id> * <expr>
=> A = B * C + D + A * <expr>
=> A = B * C + D + A * (<expr>)
=> A = B * C + D + A * (<id> + <expr>)
=> A = B * C + D + A * (B + <expr>)
=> A = B * C + D + A * (B + <id>)
=> A = B * C + D + A * (B + C)
- Specify 3 design goals for C++