E 1.1.1:

Compilier: translate code from source language to target language

Interpreter:  translate code + execution (code + input + interpreter -> output)

E1.1.2:

Pro of compiler: simpler design; multiple run

Pro of interpreter: realtime running

E1.1.3:

  1. Easier to debug the compiler
  2. Can do an extra level of optimization

E1.1.4:

  1. C is closer to the asm, therefore easier to debug the compiler than translating to high-level language
  1. Translating into C language is nearly-the-same as translating into asm
  1. C is platform independent, therefore comparing with asm, translating into C language can easily port over to other platform / architecture.

E1.1.5:

  1. May possibly do asm-level optimization, not really necessary though
  1. Translate the asm code into machine code

 

E1.3.1: (don't know cuz for some languages I'm not sure)

  1. Imperative:
  2. Declarative
  3. Von Neumann
  4. Object-oriented
  5. Functional
  6. Third-generation
  7. Fourth-generation
  8. scripting

 

E1.6.1:

w = 13, x = 11, y = 13, z = 11

E1.6.2:

w = 9, x = 7, y = 13, z = 11

E1.6.3:

in B1:

w: B1 - B3 - B4

x: B1 - B2 - B4

y: B1 - B5

z: B1 - B2 - B5

in B2:

x: B2 - B3

z: B2

in B3:

w,x: B3

in B4:

w,x: B4

in B5:

y,z: B5

E1.6.4: outout:

3

2