Język prymitywny - Language primitive

W informatyce prymitywy językowe są najprostszymi elementami dostępnymi w języku programowania . Prymityw to najmniejsza „jednostka przetwarzania” dostępna dla programisty danej maszyny lub może być atomowym elementem wyrażenia w języku.

Prymitywy to jednostki mające znaczenie, tj. wartość semantyczną w języku. W ten sposób różnią się od tokenów w parserze , które są minimalnymi elementami składni .

Prymitywy poziomu maszyny

Instrukcja maszynowa , zwykle generowane przez asemblera programu, jest często uważany za najmniejszą jednostką przetwarzania, chociaż nie zawsze jest to prawdą. Zwykle wykonuje to, co jest postrzegane jako jedna operacja, taka jak kopiowanie bajtu lub ciągu bajtów z jednego miejsca pamięci komputera do drugiego lub dodawanie jednego rejestru procesora do drugiego.

Prymitywy mikrokodu

Jednak wiele dzisiejszych komputerów zawiera jeszcze niższą jednostkę przetwarzania znaną jako mikrokod, która interpretuje kod maszynowy i to wtedy instrukcje mikrokodu byłyby prawdziwymi prymitywami. Te instrukcje byłyby zazwyczaj dostępne do modyfikacji tylko przez programistów dostawcy sprzętu .

Prymitywy języka wysokiego poziomu

Program w języku programowania wysokiego poziomu (HLL) składa się z dyskretnych instrukcji i prymitywnych typów danych, które mogą być również postrzegane jako wykonujące pojedynczą operację lub reprezentujące pojedynczy element danych, ale na wyższym poziomie semantycznym niż te dostarczane przez maszynę. Kopiowanie elementu danych z jednej lokalizacji do drugiej może w rzeczywistości obejmować wiele instrukcji maszynowych, które na przykład

zanim w końcu

  • wykonanie końcowej operacji przechowywania do miejsca docelowego.

Niektóre instrukcje HLL, szczególnie te zawierające pętle , mogą generować tysiące, a nawet miliony prymitywów w języku programowania niskiego poziomu (LLL), które zawierają rzeczywistą długość ścieżki instrukcji, którą procesor musi wykonać na najniższym poziomie. To postrzeganie zostało nazwane karą za abstrakcję .

Interpretowane prymitywne języki

Interpretowany język oświadczenie ma podobieństwa do prymitywów HLL, ale z dodanym dodatkowo warstwą . Zanim instrukcja będzie mogła zostać wykonana w sposób bardzo podobny do instrukcji HLL: najpierw musi zostać przetworzona przez interpreter , proces, który może obejmować wiele prymitywów w języku maszyny docelowej.

Prymitywy językowe czwartej i piątej generacji

Języki programowania czwartej generacji (4GL) i języki programowania piątej generacji (5GL) nie mają prostej korespondencji jeden-do-wielu z prymitywów wysokiego i niskiego poziomu. Istnieją pewne elementy prymitywów interpretowanego języka zawarte w specyfikacjach 4GL i 5GL, ale podejście do pierwotnego problemu jest mniej konstrukcją języka proceduralnego i jest bardziej zorientowane na rozwiązywanie problemów i inżynierię systemów .

Zobacz też

Bibliografia

  1. ^ Surana P (2006). "Meta-kompilacja abstrakcji językowych" ( PDF ) . Zarchiwizowane (PDF) od oryginału z dnia 2015-02-17 . Pobrano 17.03.2008 . Cytowanie dziennika wymaga |journal=( pomoc )
  2. ^ Kuketajew. „Wzorzec kary za abstrakcję danych (DAP) dla małych obiektów w Javie” . Zarchiwizowane z oryginału w dniu 2009-01-11 . Pobrano 17.03.2008 .
  3. ^ Chatzigeorgiou; Stephanides (2002). „Ocena wydajności i mocy zorientowanych obiektowo vs. proceduralnych języków programowania”. w Bliebergerze; Strohmeier (red.). Materiały - VII Międzynarodowa Konferencja nt. Niezawodnych Technologii Oprogramowania - Ada-Europe'2002 . Skoczek. P. 367. Numer ISBN 978-3-540-43784-0.