Language Processors
Compilers

- Compilers are computer programs that translate one language to another
Interpreters

- An interpreter is a program that reads a source program and inputs and directly executes it without translating it into machine language
- Interpreters are more likely to support
- advantage
- interactive execution
- dynamic typing
- better error diagnostic
- disadvantage
- slower execution than compiler
Hybrid Approaches

- intermediate representation(e.g. Java bytecode) can be interpreted by another machines ( e.g. Java Virtual Machine)
- Slow execution speed can be complemented by just-in-time compilation - JIT compiler
-
example through java


- JVM은 machine instruction에 맞게 java byte code를 compile해 주어야 하기 때문에 machine dependent하다.
- java byte code는 JVM이 읽을 수 있도록 compiler된 machine instruction이다.
- so you do need to download JDK if you’re not going to develop from Java.
Compiler
The Logical Structure of a Compiler
