Бајт-код — разлика између измена

Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м Разне исправке
Autobot (разговор | доприноси)
м Разне исправке; козметичке измене
Ред 9:
 
== Извршавање ==
Бајткод програм може да се изврши рашчлањивањем записа и ''директним'' извршење инструкција, једну по једну. Оваква врста ''бајткод интерпретатора'' је веома преносива. Неки системи, звани динамички преводиоци, или "[[Just-in-time компилација|just-in-time]]"(ЈИТ) преводиоци , преводе бајткод у машински језик кад год је то потребно у [[Рантајм|рантајму]]: ово помаже виртуалној машини да побољша хардвер, а да се при томе преносивост бајткода не губи. На пример, [[Јава (програмски језик)|Јава]] и [[Smalltalk|Смалталк]] код је форматиран као бајткод, па га (ЈИТ) преводилац може превести у машински код пре активирања. Ово ствара благи застој пре покретања програма, али значајно повећава брзину рада када се упореди са директном интерпретацијом изворног кода.
 
Због овог побољшања перформанси, данас многи програмски језици покрећу своје програме у две етапе, прво преводе изворни код у бајткод и после убацују бајткод у виртуалну машину. Овде су виртуелне машине базиране на бајткоду, то су Јава, [[Пајтон (програмски језик)|Пајтон]], [[PHP]],<ref>Although PHP opcodes are generated each time the program is launched, and are always interpreted and not Just-In-Time compiled</ref> [[Tcl|Тцл]] и [[Форт (програмски језик)|Форт]] (мада је [[Форт (програмски језик)|Фортова]] виртуелна машина мало другачија, па се и бајткодови преводе на својствен начин). Програмски језици као што су [[Перл (програмски језик)|Перл]] и [[Руби (програмски језик)|Рубy 1.8]] користе [[апстрактно синтаксно стабло]] како би расчланили изворни код.
Ред 48:
* [[R (програмски језик)|Р окружење за статистичко рачунарство]] нуди бајткод преводиоца преко пакета преводиоца, сада стандардно са Р верзијом 2.13.0. Могуће је превести ову верзију Р тако да је базни и препоручени пакети имају предност од овога.<ref>For the details refer to {{cite web | url =http://cran.r-project.org/doc/manuals/R-admin.html#Byte_002dcompiler | title=R Installation and Administration}}</ref>
* [[Шема 48]] имплементација Шеме користи бајткод интерпретатор
* Бајткодови многих имплементација [[Smalltalk|Смалталка]]а програмског језика
* [[Спин (програмски језик)|Спин]] преводилац уграђен у [[микроконтролер]] [[Паралакс пропелер|пропелера]] [[Паралакс]]
* [[SWEET16]]