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:
- Easier to debug the compiler
- Can do an extra level of optimization
E1.1.4:
- C is closer to the asm, therefore easier to debug the compiler than translating to high-level language
- Translating into C language is nearly-the-same as translating into asm
- C is platform independent, therefore comparing with asm, translating into C language can easily port over to other platform / architecture.
E1.1.5:
- May possibly do asm-level optimization, not really necessary though
- Translate the asm code into machine code
E1.3.1: (don't know cuz for some languages I'm not sure)
- Imperative:
- Declarative
- Von Neumann
- Object-oriented
- Functional
- Third-generation
- Fourth-generation
- 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