Језичка примитива

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу

У рачунарству, језичке примитиве су најједноставнијi елементи доступни у неком програмском језику. Примитива је најмања "јединица прераде" на располагању програмеру дате машине, или може бити елемент атомске операције израза у језику.

Примитиве су јединице са значењем, тј. семантичком вредношћу у језику. Тако су другачије од знакова у синтаксној анализи, који су минимални елементи синтаксе.

Примитиве машинског нивоа[уреди]

Машински код, који се обично производи од стране асемблер програма, често се сматра најмањом јединицом прераде, иако то није увек случај. Он обично обавља оно што се сматра за једну операцију, као што је копирање бајта или низа бајтова са једне рачунарске меморијске локације на другу или додавање једног процесорског регистра на други.

Примитиве микропрограма[уреди]

Многи од данашњих рачунара, ипак, заправо користе још нижу јединицу обраде познату као микропрограм који тумачи машински код, и тада би  инструкције микропрограма биле праве примитиве. Ове инструкције би обично биле на располагању за модификацију само програмерима хардверског произвођача.

Језичке примитиве високог нивоа[уреди]

Програмски језик високог нивоа (ЈВН) је програм који се састоји од дискретних изјава и примитивног типа података који такође могу да се сматрају да обављају једну операцију или представљају једну ставку података, али на вишем семантичком нивоу од оних обезбеђених од стране машине. Копирање података са једног места на друго може заправо да укључује многе машинске кодове који, на пример,

пре него што коначно

  • обављају коначне операције чувања у циљној дестинацији.

Неке изјаве ЈВН, посебно оне који се односе на петље, могу да генеришу хиљаде или чак милионе примитива у програмском језику ниског нивоа (ЈНН), које обухватају оригиналну дужину кода машинских инструкција које процесор мора да изврши на најнижем нивоу. Ово опажање се назива апстракциона казна.[1][2][3]

Интерпретиране језичке примитиве[уреди]

Интерпретирана језичка изјава има сличности са ЈВН примитивама, али са додатним слојем. Пре него што се изјава може се извршити на начин врло сличан изјави ЈВН: прво мора да се обради од стране преводиоца, што је процес који може укључити многе примитиве у циљном језику машине.

Језичке примитиве четврте и пете генерације[уреди]

Програмски језици Четврте генерације (Ј4Г) и програмски језици пете генерације (Ј5Г) немају једноставану један-на-многи преписку са примитивама високих до ниских нивоа. Постоје неки елементи интерпретираних језичких примитива које су садржане у Ј4Г и Ј5Г спецификацијама, али је приступ оригиналном проблему мање процедурална језичка конструкција и више су оријентисани ка решавању проблема и системском инжењерингу.

Види још[уреди]

Референце[уреди]

  1. ^ Surana P (2006). „Meta-Compilation of Language Abstractions.” (PDF). Архивирано из оригинала (PDF) на датум 17. 02. 2015. Приступљено 17. 03. 2008. 
  2. ^ Kuketayev. „The Data Abstraction Penalty (DAP) Benchmark for Small Objects in Java.”. Архивирано из оригинала на датум 11. 01. 2009. Приступљено 17. 03. 2008. 
  3. ^ Chatzigeorgiou; Stephanides (2002). „Evaluating Performance and Power Of Object-Oriented Vs. Procedural Programming Languages”. Ур.: Blieberger; Strohmeier. Proceedings - 7th International Conference on Reliable Software Technologies - Ada-Europe'2002. Springer. стр. 367. ISBN 978-3-540-43784-0.