Content deleted Content added
m →Operator associativity: {{mono}} |
|||
(4 intermediate revisions by 4 users not shown) | |||
Line 1:
{{about|the concept of operator precedence|operator precedence parsing|operator-precedence parser}}
{{
In [[programming languages]], [[scientific calculator]]s and similar '''common operator notation''' or '''operator grammar''' is a way to define and analyse mathematical and other formal expressions. In this model a linear sequence of tokens are divided into two classes: [[operator (programming)|operator]]s and operands.
Operands are objects upon which the operators operate. These include literal [[number]]s and other constants as well as identifiers (names) which may represent anything from simple scalar variables to complex aggregated structures and objects, depending on the complexity and capability of the language at hand as well as usage context. One special type of operand is the parenthesis group. An expression enclosed in parentheses is typically recursively evaluated to be treated as a single operand on the next evaluation level.
Each operator is given a position, precedence, and an associativity. The '''operator precedence''' is a number (from high to low or vice versa) that defines which operator
In terms of operator position, an operator may be prefix, postfix, or infix. A [[prefix operator]] immediately precedes its operand, as in −x. A [[postfix operator]] immediately succeeds its operand, as in x! for instance. An [[infix operator]] is positioned in between a left and a right operand, as in x+y. Some languages, most notably the C-syntax family, stretches this conventional terminology and speaks also of ''[[ternary operator|ternary]]'' infix operators (a?b:c). Theoretically it would even be possible (but not necessarily practical) to define parenthesization as a unary bifix operation.
Line 35:
*[[Order of operations]]
*[[Relational operator]]
*[[Operator (computer programming)]]
*[[Operators in C and C++]]
|