Байт-код

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Байт-код або байтко́д (англ. byte-code), іноді також використовується термін псевдокод — машинно-незалежний код низького рівня, що генерується транслятором і виконуваний інтерпретатором. Більшість інструкцій байт-кода еквівалентні одній або кільком командам асемблера. Трансляція в байт-код займає проміжне положення між компіляцією в машинний код і інтерпретацією.

Байт-код називається так, тому що довжина кожного коду операції — один байт, але довжина коду команди різна. Кожна інструкція є однобайтовим кодом операції від 0 до 255, за яким слідують такі параметри, як регістри або адреси пам'яті. Це в типовому випадку, але специфікація байт-кода значно розрізняється в мові.

Програма на байт-коді зазвичай виконується інтерпретатором байт-кода (зазвичай він називається віртуальною машиною, оскільки подібний до комп'ютера). Перевага — в портованості, тобто один і той байт-код може виконуватися на різних платформах і архітектурі. Ту ж саму перевагу дають мови, що інтерпретуються. Проте, оскільки байт-код зазвичай менш абстрактний, компактніший і більш «комп'ютерний» чим початковий код, ефективність байт-кода зазвичай вища, ніж чиста інтерпретація початкового коду, призначеного для правки людиною. З цієї причини багато сучасних інтерпетованих мов насправді транслюють в байт-код і запускають інтерпретатор байт-кода. До таких мов відносяться Perl, PHP і Python. Програми на Java зазвичай передаються на цільову машину у вигляді байт-кода, який перед виконання транслюється в машинний код «на льоту» — за допомогою JIT-компіляції. У стандарті відкритих завантажувачів Open Firmware фірми Sun Microsystems байт-код представляє оператори мови Forth.

В той же час можливе створення процесорів, для яких даний байт-код є безпосередньо машинним кодом (такі процесори існують, наприклад, для Java і Forth).

Також деякий інтерес представляє p-код (p-code), який схожий на байт-код, але фізично може бути менш лаконічним і сильно варіюватися по довжині інструкції. Він працює на дуже високому рівні, наприклад «надрукувати рядок» або «очистити екран». P-код використовується в деяких реалізаціях BASIC і Паскаля.

Мови і середовища програмування, що використовують байткод[ред.ред. код]

Посилання[ред.ред. код]

Дивись також[ред.ред. код]


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.