Jezička primitiva

S Vikipedije, slobodne enciklopedije

U računarstvu, jezičke primitive su najjednostavniji elementi dostupni u nekom programskom jeziku. Primitiva je najmanja "jedinica prerade" na raspolaganju programeru date mašine, ili može biti element atomske operacije izraza u jeziku.

Primitive su jedinice sa značenjem, tj. semantičkom vrednošću u jeziku. Tako su drugačije od znakova u sintaksnoj analizi, koji su minimalni elementi sintakse.

Primitive mašinskog nivoa[uredi | uredi izvor]

Mašinski kod, koji se obično proizvodi od strane asembler programa, često se smatra najmanjom jedinicom prerade, iako to nije uvek slučaj. On obično obavlja ono što se smatra za jednu operaciju, kao što je kopiranje bajta ili niza bajtova sa jedne računarske memorijske lokacije na drugu ili dodavanje jednog procesorskog registra na drugi.

Primitive mikroprograma[uredi | uredi izvor]

Mnogi od današnjih računara, ipak, zapravo koriste još nižu jedinicu obrade poznatu kao mikroprogram koji tumači mašinski kod, i tada bi  instrukcije mikroprograma bile prave primitive. Ove instrukcije bi obično bile na raspolaganju za modifikaciju samo programerima hardverskog proizvođača.

Jezičke primitive visokog nivoa[uredi | uredi izvor]

Programski jezik visokog nivoa (JVN) je program koji se sastoji od diskretnih izjava i primitivnog tipa podataka koji takođe mogu da se smatraju da obavljaju jednu operaciju ili predstavljaju jednu stavku podataka, ali na višem semantičkom nivou od onih obezbeđenih od strane mašine. Kopiranje podataka sa jednog mesta na drugo može zapravo da uključuje mnoge mašinske kodove koji, na primer,

pre nego što konačno

  • obavljaju konačne operacije čuvanja u ciljnoj destinaciji.

Neke izjave JVN, posebno one koji se odnose na petlje, mogu da generišu hiljade ili čak milione primitiva u programskom jeziku niskog nivoa (JNN), koje obuhvataju originalnu dužinu koda mašinskih instrukcija koje procesor mora da izvrši na najnižem nivou. Ovo opažanje se naziva apstrakciona kazna.[1][2][3]

Interpretirane jezičke primitive[uredi | uredi izvor]

Interpretirana jezička izjava ima sličnosti sa JVN primitivama, ali sa dodatnim slojem. Pre nego što se izjava može se izvršiti na način vrlo sličan izjavi JVN: prvo mora da se obradi od strane prevodioca, što je proces koji može uključiti mnoge primitive u ciljnom jeziku mašine.

Jezičke primitive četvrte i pete generacije[uredi | uredi izvor]

Programski jezici Četvrte generacije (J4G) i programski jezici pete generacije (J5G) nemaju jednostavanu jedan-na-mnogi prepisku sa primitivama visokih do niskih nivoa. Postoje neki elementi interpretiranih jezičkih primitiva koje su sadržane u J4G i J5G specifikacijama, ali je pristup originalnom problemu manje proceduralna jezička konstrukcija i više su orijentisani ka rešavanju problema i sistemskom inženjeringu.

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ Surana P (2006). „Meta-Compilation of Language Abstractions.” (PDF). Arhivirano iz originala (PDF) 17. 02. 2015. g. Pristupljeno 17. 03. 2008. 
  2. ^ Kuketayev. „The Data Abstraction Penalty (DAP) Benchmark for Small Objects in Java.”. Arhivirano iz originala 11. 01. 2009. g. Pristupljeno 17. 03. 2008. 
  3. ^ Chatzigeorgiou; Stephanides (2002). „Evaluating Performance and Power Of Object-Oriented Vs. Procedural Programming Languages”. Ur.: Blieberger; Strohmeier. Proceedings - 7th International Conference on Reliable Software Technologies - Ada-Europe'2002. Springer. str. 367. ISBN 978-3-540-43784-0.