In computing, language primitives are the simplest elements available in a programming language. A primitive is the smallest 'unit of processing' available to a programmer of a given machine, or can be an atomic element of an expression in a language. Primitives are units with a meaning, i.e., a semantic value in the language. Thus they are different from tokens in a parser, which are the minimal elements of syntax. A machine instruction, usually generated by an assembler program, is often considered the smallest unit of processing although this is not always the case. It typically performs what is perceived to be one operation such as copying a byte or string of bytes from one computer memory location to another or adding one processor register to another. Many of today's computers, however, actually embody an even lower unit of processing known as microcode which interprets the machine code and it is then that the microcode instructions would be the genuine primitives. These instructions would typically be available for modification only by the hardware vendor's programmers. A high-level programming language (HLL) program is composed of discrete statements and primitive data types that may also be perceived to perform a single operation or represent a single data item, but at a higher semantic level than those provided by the machine. Copying a data item from one location to another may actually involve many machine instructions that, for instance, calculate the address of both operands in memory, based on their positions within a data structure, convert from one data type to another before finally performing the final store operation to the target destination. Some HLL statements, particularly those involving loops, can generate thousands or even millions of primitives in a low-level programming language (LLL), which comprise the genuine instruction path length the processor has to execute at the lowest level. This perception has been referred to as the abstraction penalty.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.