Средњи језик је апстрактни програмски језик који компајлер користи као корак између превођења рачунарског програма у машински код. Пре компајлирања програма у код за стварну, физичку машину, компајлер га прво преводи у средњи код погодан за теоријску, апстрактну машину. Овај код анализира компајлер, и ако се идентификују могућности за оптимизацију, компајлер може да изврши оптимизацију приликом прављења превода на асемблерски језик.
Компајлер, машински код, оптимизација, програмски термини