Interpreter

You have this in Python.

In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program. An interpreter generally uses one of the following strategies for program execution:

  1. Parse the source code and perform its behavior directly;
  2. Translate source code into some efficient intermediate representation or object code and immediately execute that;
  3. Explicitly execute stored precompiled bytecode made by a compiler and matched with the interpreter Virtual Machine.

https://medium.com/@developerlife/gnu-gcc-g-gdb-what-are-these-terms-explained-aec45f251501

Compiler vs. Interpreter?

Compiler: Scans the entire program and translates it as a whole into machine code. It continues translating the program until the first error is met, in which case it stops. Hence debugging is easy. Ex: C++

Interpreter: Translates program one statement at a time and does not generate Object Code. It gives error only after scanning the entire program. Ex: Python

I actually got asked this at my NVIDIA interview lol