Проміжний код - це

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

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

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

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

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

Дивитися що таке "Проміжний код" в інших словниках:

Кодогенерацію - кодогенерацію частина процесу компіляції, коли спеціальна частина компілятора, кодогенератор, конвертує синтаксично коректну програму в послідовність інструкцій, які можуть виконуватися на машині. При цьому можуть застосовуватися ... ... Вікіпедія

C ++ - Цей термін має також інші значення див. C. Див. Також: Сі (мова програмування) C ++ Семантика: мультипарадигмальності: об'єктно орієнтоване, узагальнене, процедурне, метапрограмування Тип виконання: компільований З'явився в ... Вікіпедія

Інтерпретація (інформатика) - Інтерпретатор (мови програмування) Програма або технічний засіб, що виконує інтерпретацію. [1] Вид транслятора, який здійснює пооператорную (покомандного) обробку і виконання вихідної програми або запиту (на відміну від компілятора ... Вікіпедія

Портування програмного забезпечення - Для терміна «Порт» см. Інші значення. Портування (англ. Porting [1]) в програмуванні під портированием розуміють адаптацію деякої програми або її частини, з тим щоб вона працювала в іншому середовищі, що відрізняється від того середовища, під ... ... Вікіпедія

Переносимість - У програмуванні, під портированием розуміють адаптацію деякої програми або її частини, з тим щоб вона працювала в іншому середовищі, що відрізняється від того середовища, під яку вона була спочатку написана. Процес портирования також називають портінг ... Вікіпедія

Портінг - У програмуванні, під портированием розуміють адаптацію деякої програми або її частини, з тим щоб вона працювала в іншому середовищі, що відрізняється від того середовища, під яку вона була спочатку написана. Процес портирования також називають портінг ... Вікіпедія