Theory Programming Language Assignment

 

  1. What is SIMD and MIMD? Specify what each is short for and briefly describe.

 

  1. Describe why intermediate code is used in the compilation process.

 

 

  1. What is the main difference between Von Neumann Architecture and Harvard Architecture?

 

  1. Specify, and describe in fair detail, at least 4 language design criteria.

 

  1. What is functional programming? Describe in detail.

 

 

  1. What is referential transparency?

 

 

  1. What is lexical analysis? Describe in detail.

 

  1. 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)

 

  1. Specify 3 design goals for C++