Либо компилятор, либо интерпретатор. И тот, и другой является транслятором, с разницей в том, что компилятор переводит все в машинный код и сохраняет исполняемый файл (в windows это .exe), а интерпретатор выполняет программу "на лету", выполняя построчно.