Байт-код
Материал из Википедии — свободной encyclopedia
Байт-код (байтко́д; англ. byte code, также иногда p-код, p-code от portable code) — стандартное промежуточное представление, в которое может быть переведена компьютерная программа автоматическими средствами. По сравнению с исходным кодом, удобным для создания и чтения человеком, байт-код — это компактное представление программы, уже прошедшей синтаксический и семантический анализ. В нём в явном виде закодированы типы, области видимости и другие конструкции. Байт-код представляет собой машинно-независимый код низкого уровня, генерируемый транслятором из исходного кода.
Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |
Многие современные языки программирования, особенно интерпретируемые, используют байт-код для облегчения и ускорения работы интерпретатора. Трансляция в байт-код является методом, промежуточным по эффективности между прямой интерпретацией и компиляцией в машинный код.
По форме байт-код похож на машинный код, но предназначен для исполнения не процессором, а виртуальной машиной. В качестве виртуальной машины обычно выступает интерпретатор соответствующего языка программирования (иногда дополненный JIT- или AOT-компилятором). Спецификации байт-кода и исполняющих его виртуальных машин могут сильно различаться для разных языков: часто байт-код состоит из инструкций для стековой[англ.] виртуальной машины[1], однако могут использоваться и регистровые[англ.] машины[2][3]. Большинство инструкций байт-кода обычно эквивалентны одной или нескольким командам ассемблера.
Байт-код называется так, потому что длина каждого кода операции традиционно составляет один байт. Каждая инструкция представляет собой однобайтовый код операции (от 0 до 255), за которым могут следовать различные параметры, например, номер регистра или адрес в памяти.