期，动态将程式码逐句直译（interpret）为机器码，或是已经预先编译为机器码的子程式，之后再执行。理论上，任何程式语言都可以是编译式，或直译式的。它们之间的区别，仅与程式的应用有关。许多程式语言同时採用编译器与直译器来实作，其中包括Lisp，Pascal，BASIC 与 Python。 JAVA及C#採用混合方式，先将程式码编译为字节码，在执行时再进行直译。