Understand Compilers, Interpreters and Virtual Machines — Programming Keynou