Content deleted Content added
m Clarified |
Replaced "spec" with "specification". |
||
Line 3:
A programming language consists of a grammar/syntax plus an '''execution model'''. The execution model specifies the behavior of elements of the language. By applying it, one can derive the behavior of a program that was written in terms of that programming language. For example, [[Operational_semantics| Operational Semantics]] is one method of specifying a language's execution model. The observed behavior of a running program must match the behavior derived from the execution model. An execution model covers things such as what is an indivisible unit of work, and what are the constraints on the order in which those units of work take place. For example, the addition operation is an indivisible unit of work in many languages, and in sequential languages such units of work are constrained to take place one after the other.
In particular, the [[C (programming language)|C programming language]], has a concept called a statement. The
Execution models can also exist independently from programming languages, examples of which would be the [[POSIX Threads]] library, and Hadoop's Map-Reduce [[programming model]]. The implementation of an execution model can be via [[compiler]], or [[Interpreter_(computing)|interpreter]], and often includes a [[runtime system]].
|